AWS backend-kehittäjille (EC2, S3, RDS, Lambda) · Oppitunti

S3-säilöt ja objektit

Ymmärtäkää S3:n keskeiset käsitteet, kuten säilöjen luominen, objektien lataaminen ja objektien ominaisuuksien hallinta.

Oppitunti 1/411 vaihetta

S3-säilöt ja objektit on ilmainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.

Tervetuloa Amazon S3:een

Tervetuloa Amazon S3:een! Tämä palvelu on ensisijainen valinta suurten datamäärien tallentamiseen pilvessä. S3 on lyhenne sanoista Simple Storage Service.

Palvelu on suunniteltu skaalautuvaksi, erittäin saatavaksi ja poikkeuksellisen kestäväksi, joten se sopii erinomaisesti backend-datan tallennukseen, varmuuskopioihin ja jopa staattisten verkkosivustojen isännöintiin.

S3: objektitallennus selitettynä

S3 käyttää käsitettä objektitallennus. Toisin kuin perinteiset tiedostojärjestelmät, jotka järjestävät datan hierarkkiseen kansiorakenteeseen, objektitallennus käsittelee kaiken datan ”objekteina”.

  • Jokainen objekti tallennetaan datansa, yksilöllisen tunnisteensa (avaimen) ja metatietojensa kanssa.
  • Tallennuskapasiteetti on käytännössä rajaton.
  • Objekteihin pääsee HTTP/S:n kautta, joten niiden integrointi verkkosovelluksiin on helppoa.

S3-bucketien esittely

S3:ssa data (objektit) tallennetaan loogisiin säilöihin, joita kutsutaan bucketeiksi. Bucketia voi ajatella ylätason kansiona, johon pilvitallennus järjestetään.

  • Jokaisen S3:een tallennettavan objektin on oltava bucketin sisällä.
  • Bucketit auttavat järjestämään dataa, hallitsemaan käyttöoikeuksia ja valvomaan kustannuksia.

Bucketien nimeäminen ja alueet

Seuraavat S3-bucketeita koskevat säännöt ovat erityisen tärkeitä:

  • Maailmanlaajuisesti yksilöllinen: Jokaisen S3-bucketin nimen on oltava yksilöllinen kaikilla AWS-tileillä maailmanlaajuisesti. Kun nimi on varattu, kukaan muu ei voi käyttää sitä.
  • Aluekohtainen: Vaikka bucketien nimet ovat maailmanlaajuisesti yksilöllisiä, jokainen bucket luodaan tietylle AWS-alueelle (esim. us-east-1, eu-west-1). Tämä määrittää, missä data tallennetaan fyysisesti.

Ensimmäisen S3-bucketin luominen

Luodaan S3-bucket Pythonin AWS SDK:ta, Boto3:a, käyttäen. Muistakaa valita yksilöllinen bucketin nimi!

import boto3

# Initialize S3 client
s3 = boto3.client('s3')

# Define a unique bucket name and region
# IMPORTANT: Replace 'your-unique-bucket-name-12345'
# with a truly unique name for yourself.
bucket_name = 'my-coddykit-bucket-12345'
region = 'us-east-1' # Example region

try:
    s3.create_bucket(
        Bucket=bucket_name,
        CreateBucketConfiguration={
            'LocationConstraint': region
        }
    )
    print(f"Bucket '{bucket_name}' created successfully in '{region}'!")
except s3.exceptions.BucketAlreadyOwnedByYou:
    print(f"Bucket '{bucket_name}' already exists and is owned by you.")
except Exception as e:
    print(f"Error creating bucket: {e}")

S3-objektit: datanne

Kun bucket on luotu, voitte alkaa tallentaa sen sisälle objekteja. Objekti on S3:een tallennettavan datan perusyksikkö.

S3-objekti koostuu seuraavista osista:

  • Data: lataamanne sisältö (esimerkiksi kuva, video, asiakirja tai sovelluksen data).
  • Avain: objektin yksilöllinen tunniste bucketin sisällä.
  • Metatiedot: objektiin liittyviä nimi–arvo-pareja.

Objektiavaimet ja data

Objektiavain on käytännössä objektin koko polku bucketin sisällä. Sen avulla objekti yksilöidään ja haetaan.

  • Esimerkki: jos lataatte tiedoston myphoto.jpg bucketiin, sen avain on myphoto.jpg.
  • Voitte jäljitellä kansioita käyttämällä avaimissa etuliitteitä, kuten documents/reports/january.pdf. Tässä koko merkkijono documents/reports/january.pdf on objektin avain.

Objektien lataaminen S3:een

Kun bucketit ja objektit ovat tuttuja, ladataan yksinkertainen tekstitiedosto objektina S3-bucketiin. Käytämme Boto3:n put_object-metodia.

import boto3

# Initialize S3 client
s3 = boto3.client('s3')

# IMPORTANT: Use your unique bucket name created earlier
bucket_name = 'my-coddykit-bucket-12345'
object_key = 'hello_coddykit.txt'
file_content = "Hello from CoddyKit! This is my first S3 object."

try:
    s3.put_object(
        Bucket=bucket_name,
        Key=object_key,
        Body=file_content,
        ContentType='text/plain' # Define the content type
    )
    print(f"Object '{object_key}' uploaded successfully to '{bucket_name}'!")
except Exception as e:
    print(f"Error uploading object: {e}")

Objektin ominaisuuksien hallinta

Objektia ladattaessa voitte määrittää sen metatiedot. Ne tarjoavat lisätietoja itse objektista erillään sen datasta.

  • Järjestelmämetatiedot: S3:n automaattisesti määrittämät tiedot (esim. Content-Length, Last-Modified, Content-Type).
  • Käyttäjän määrittämät metatiedot: määrittämänne mukautetut avain–arvo-parit (esim. x-amz-meta-author: 'CoddyKit'). Niiden avulla objekteja voi luokitella tai kuvailla.

Pikatesti

On aika testata S3:n perusteiden ymmärtämistä!

Kertaus: S3:n perusteet

Hienoa työtä! Tässä oppitunnissa opitte seuraavaa:

  • Amazon S3 on erittäin skaalautuva objektitallennuspalvelu.
  • Bucketit ovat yksilöllisiä, aluekohtaisia säiliöitä datallenne.
  • Objektit ovat tallentamaanne dataa. Ne yksilöidään avaimella, ja niihin voi liittyä metatietoja.
  • Näitte, miten bucketeita luodaan ja objekteja ladataan AWS SDK:n (Boto3) avulla.

Seuraavaksi tutustumme edistyneempiin ominaisuuksiin, kuten versiointiin ja elinkaarikäytäntöihin!

Aloita maksutta

Opi AWS backend-kehittäjille (EC2, S3, RDS, Lambda) tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”S3-säilöt ja objektit” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolun 3 oppituntia, myös oppitunnin “S3-säilöt ja objektit”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”S3-säilöt ja objektit”?

Ymmärtäkää S3:n keskeiset käsitteet, kuten säilöjen luominen, objektien lataaminen ja objektien ominaisuuksien hallinta. Harjoittelet AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”S3-säilöt ja objektit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunnilla?

Kyllä. Jokainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. S3-säilöt ja objektit
  2. S3:n versiointi- ja elinkaarikäytännöt
  3. S3-tietojen käytön suojaaminen
  4. Staattisten verkkosivustojen isännöinti ja CDN-jakelu
← Takaisin: AWS backend-kehittäjille (EC2, S3, RDS, Lambda)