Lambdan ja DynamoDB:n integrointi
Kehittäkää Lambda-funktioita, jotka käsittelevät DynamoDB:tä CRUD-operaatioilla, ja rakentakaa dataohjattuja palvelimettomia taustajärjestelmiä
Lambdan ja DynamoDB:n integrointi on ilmainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
Lambda ja DynamoDB: tehokas yhdistelmä
Tervetuloa AWS Lambdan ja DynamoDB:n yhdistämisen pariin! Tämä yhdistelmä on tehokkaiden ja palvelimettomien taustajärjestelmien keskeinen rakennuspalikka.
AWS Lambda tarjoaa laskentatehon koodin suorittamiseen ilman palvelinten hallintaa, kun taas DynamoDB on nopea ja joustava NoSQL-tietokanta, joka skaalautuu automaattisesti.
Yhdessä niiden avulla voitte luoda dataohjautuvia sovelluksia, jotka käsittelevät luonti-, luku-, päivitys- ja poistotoimintoja (CRUD) tehokkaasti.
Lambdan DynamoDB-käyttöoikeuksien myöntäminen
Ennen kuin Lambda-funktionne voi käyttää DynamoDB:tä, sille on myönnettävä käyttöoikeudet. Tämä hallitaan Lambda-funktioon liitetyn IAM-roolin avulla.
IAM-roolilla on oltava käytäntö, joka myöntää tietyt DynamoDB-toiminnot, kuten:
dynamodb:PutItem(luontiin ja päivitykseen)dynamodb:GetItem(lukemiseen)dynamodb:UpdateItem(kohteen osien muokkaamiseen)dynamodb:DeleteItem(kohteiden poistamiseen)
Noudattakaa aina vähimpien oikeuksien periaatetta: myöntäkää vain tarvittavat käyttöoikeudet.
Yhdistäminen Lambdasta Boto3:lla
Pythonilla kirjoitetussa Lambda-funktiossa käytätte Pythonin AWS SDK:ta, Boto3:a, DynamoDB:n käsittelyyn. Ensin on alustettava DynamoDB-asiakas tai resurssi.
boto3.resource('dynamodb')-lähestymistapaa suositaan usein, koska se tarjoaa korkeamman tason oliopohjaisen rajapinnan.
Suorittakaa tämä esimerkki nähdäksenne, miten asiakas alustetaan:
import boto3
import json
def lambda_handler(event, context):
# Initialize DynamoDB resource
dynamodb = boto3.resource('dynamodb')
table_name = 'my-coddykit-table' # Placeholder
table = dynamodb.Table(table_name)
print(f"Connected to table: {table_name}")
return {
'statusCode': 200,
'body': json.dumps('DynamoDB client initialized!')
}
# For local testing/runnable snippet
if __name__ == '__main__':
print("Running handler locally...")
lambda_handler({}, {})Kohteiden luominen ja korvaaminen (PutItem)
put_item()-metodilla luodaan uusi kohde tai korvataan DynamoDB-taulukossa oleva kohde kokonaan.
- Jos samalla ensisijaisella avaimella oleva kohde on jo olemassa,
put_item()korvaa sen kokonaan. - Jos kyseisellä ensisijaisella avaimella ei ole kohdetta, toiminto luo uuden kohteen.
Tämä toiminto on hyödyllinen, kun haluatte varmistaa tietyn attribuuttijoukon sisältävän kohteen olemassaolon tai kun kaikki kohteen attribuutit on korvattava.
PutItem käytännössä
Tässä Lambda-funktiossa näytetään, miten put_item()-toimintoa käytetään kohteen lisäämiseen tai päivittämiseen. Käytämme paikkamerkkinä taulukon nimeä ja haemme kohteen tiedot tapahtumasta.
Suorittakaa koodi nähdäksenne simuloidun kohteen luonnin!
import boto3
import json
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb')
# Use a placeholder table name
table = dynamodb.Table('my-coddykit-table')
item_id = event.get('itemId', 'P001')
item_name = event.get('itemName', 'New Product')
table.put_item(
Item={
'itemId': item_id,
'itemName': item_name,
'category': 'Electronics'
}
)
print(f"Added/updated item: {item_id}")
return {
'statusCode': 200,
'body': json.dumps(f'Item {item_id} processed!')
}
# For local testing/runnable snippet
if __name__ == '__main__':
mock_event = {'itemId': 'P002', 'itemName': 'Coddy Phone'}
lambda_handler(mock_event, {})Kohteiden lukeminen (GetItem)
Voitte noutaa yksittäisen kohteen DynamoDB-taulukosta käyttämällä get_item()-metodia. Tätä toimintoa varten on annettava kohteen koko ensisijainen avain.
Jos taulukossa on yksinkertainen ensisijainen avain (vain osioavain), annatte vain kyseisen arvon. Jos taulukossa on yhdistelmäavain (osioavain ja lajitteluavain), molemmat on annettava.
get_item() on erittäin tehokas suoraan hakuun.
GetItem käytännössä
Tässä Lambda-funktiossa näytetään, miten kohde noudetaan sen itemId-tunnisteella (olettaen, että se on ensisijainen avaimemme). Vastauksessa ovat kohteen attribuutit, jos kohde löytyy.
Suorittakaa tämä esimerkki nähdäksenne, miten get_item() toimii.
import boto3
import json
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb')
# Use a placeholder table name
table = dynamodb.Table('my-coddykit-table')
item_id = event.get('itemId', 'P001') # Assume 'itemId' is the primary key
response = table.get_item(
Key={'itemId': item_id}
)
item = response.get('Item')
if item:
print(f"Found item: {item}")
return {
'statusCode': 200,
'body': json.dumps(item)
}
else:
print(f"Item {item_id} not found.")
return {
'statusCode': 404,
'body': json.dumps(f'Item {item_id} not found.')
}
# For local testing/runnable snippet
if __name__ == '__main__':
mock_event = {'itemId': 'P002'} # Try to get an item
lambda_handler(mock_event, {})Kohteen osien muokkaaminen (UpdateItem)
update_item()-metodilla voitte muokata olemassa olevan kohteen tiettyjä attribuutteja korvaamatta koko kohdetta.
Tämä on tehokkaampaa kuin put_item(), jos tarvitsette muuttaa vain muutamaa attribuuttia. Se edellyttää UpdateExpression-lauseketta, joka määrittää muokattavat attribuutit ja muutostavan.
Päivityslausekkeilla voidaan lisätä, asettaa, poistaa tai tyhjentää attribuutteja.
Kohteiden poistaminen (DeleteItem)
Voitte poistaa kohteen DynamoDB-taulukosta käyttämällä delete_item()-metodia. Kuten get_item()-metodissa, myös tässä on annettava poistettavan kohteen koko ensisijainen avain.
Kun kohde on poistettu, sitä ei voi palauttaa tällä toiminnolla. Käyttäkää delete_item()-metodia harkiten, erityisesti tuotantoympäristöissä.
Pikatarkistus: DynamoDB-toiminnot
Teidän on luotava uusi käyttäjäprofiili DynamoDB:n Users-taulukkoon. Jos samalla tunnisteella oleva käyttäjä on jo olemassa, haluatte korvata hänen vanhan profiilinsa kokonaan uusilla tiedoilla. Mitä Boto3-metodia Lambda-funktionne tulisi käyttää?
Kertaus: Lambdan ja DynamoDB:n yhdistäminen
Hienoa työtä! Opitte yhdistämään AWS Lambdan ja DynamoDB:n dataohjautuvien palvelimettomien sovellusten rakentamista varten.
- Käsittelimme IAM-käyttöoikeuksien merkitystä suojatun käytön kannalta.
- Näitte, miten Python Lambdasta muodostetaan yhteys Boto3 SDK:n avulla.
- Tutustuimme keskeisiin CRUD-toimintoihin:
put_item()(luonti ja korvaaminen),get_item()(luku),update_item()(muokkaus) jadelete_item()(poistaminen).
Nämä tiedot ovat olennaisia vankkojen palvelimettomien taustajärjestelmien kehittämisessä!
Opi Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla 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 ”Lambdan ja DynamoDB:n integrointi” ilmainen?
Kyllä – oppitunnin ”Lambdan ja DynamoDB:n integrointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssin, päivitä CoddyKit PROhon. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lambdan ja DynamoDB:n integrointi”?
Kehittäkää Lambda-funktioita, jotka käsittelevät DynamoDB:tä CRUD-operaatioilla, ja rakentakaa dataohjattuja palvelimettomia taustajärjestelmiä Harjoittelet Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Lambdan ja DynamoDB:n integrointi”-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ä Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunnilla?
Kyllä. Jokainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-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
- DynamoDB:n perusteet
- DynamoDB-taulukoiden suunnittelu
- Lambdan ja DynamoDB:n integrointi
- Kyselyt secondary indexeillä: GSI:t ja LSI:t