Penyepaduan Lambda dan DynamoDB
Bangunkan fungsi Lambda yang berinteraksi dengan DynamoDB untuk melaksanakan operasi CRUD dan membina bahagian belakang tanpa pelayan berpacukan data.
Penyepaduan Lambda dan DynamoDB ialah pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway merangkumi sejumlah 4 pelajaran.
Lambda & DynamoDB: Gandingan Hebat
Selamat datang ke pengintegrasian AWS Lambda dengan DynamoDB! Gabungan ini menjadi asas penting untuk membina bahagian belakang tanpa pelayan yang berkuasa.
AWS Lambda menyediakan kuasa pengkomputeran untuk menjalankan kod anda tanpa mengurus pelayan, manakala DynamoDB menawarkan pangkalan data NoSQL yang pantas dan fleksibel serta diskalakan secara automatik.
Bersama-sama, kedua-duanya membolehkan anda mencipta aplikasi dipacu data yang mengendalikan operasi mencipta, membaca, mengemas kini dan memadam (CRUD) dengan cekap.
Memberikan Akses DynamoDB kepada Lambda
Sebelum fungsi Lambda anda boleh berinteraksi dengan DynamoDB, fungsi tersebut memerlukan kebenaran. Perkara ini diuruskan melalui Peranan IAM yang dilampirkan pada fungsi Lambda anda.
Peranan IAM mestilah mempunyai dasar yang memberikan tindakan DynamoDB tertentu, seperti:
dynamodb:PutItem(untuk mencipta atau mengemas kini)dynamodb:GetItem(untuk membaca)dynamodb:UpdateItem(untuk mengubah bahagian item)dynamodb:DeleteItem(untuk mengalih keluar item)
Sentiasa ikuti prinsip keistimewaan minimum: berikan hanya kebenaran yang diperlukan.
Menyambung dari Lambda dengan Boto3
Dalam fungsi Lambda Python, anda akan menggunakan SDK AWS untuk Python, Boto3, bagi berinteraksi dengan DynamoDB. Mula-mula, anda perlu memulakan klien atau sumber DynamoDB.
Pendekatan boto3.resource('dynamodb') sering menjadi pilihan kerana pendekatan ini menyediakan antara muka berorientasikan objek pada tahap lebih tinggi.
Cuba jalankan contoh ini untuk melihat cara memulakan klien:
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({}, {})Mencipta dan Menggantikan Item (PutItem)
Kaedah put_item() digunakan untuk mencipta item baharu atau menggantikan sepenuhnya item sedia ada dalam jadual DynamoDB.
- Jika item dengan kunci primer yang sama sudah wujud,
put_item()akan menulis ganti item tersebut sepenuhnya. - Jika tiada item dengan kunci primer itu wujud, kaedah ini akan mencipta item baharu.
Operasi ini berguna apabila anda ingin memastikan sesuatu item wujud dengan atribut tertentu, atau apabila anda perlu menggantikan semua atributnya.
PutItem dalam Tindakan
Berikut ialah fungsi Lambda yang menunjukkan cara menggunakan put_item() untuk menambahkan atau mengemas kini item. Kita akan menggunakan nama jadual pemegang tempat dan butiran item daripada peristiwa tersebut.
Jalankan kod untuk melihat penciptaan item yang disimulasikan!
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, {})Membaca Item (GetItem)
Untuk mendapatkan semula satu item daripada jadual DynamoDB, anda menggunakan kaedah get_item(). Operasi ini memerlukan anda memberikan kunci primer penuh bagi item tersebut.
Jika jadual anda mempunyai kunci primer ringkas (hanya Kunci Pembahagian), anda hanya perlu memberikan nilai tersebut. Jika jadual mempunyai kunci primer komposit (Kunci Pembahagian dan Kunci Isihan), anda mesti memberikan kedua-duanya.
get_item() amat cekap untuk carian terus.
GetItem dalam Tindakan
Fungsi Lambda ini menunjukkan cara mendapatkan semula item menggunakan itemId (dengan andaian ia ialah kunci primer kita). Respons akan mengandungi atribut item tersebut jika item ditemui.
Jalankan contoh ini untuk melihat cara get_item() berfungsi.
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, {})Mengubah Bahagian Item (UpdateItem)
Kaedah update_item() membolehkan anda mengubah suai atribut tertentu bagi item sedia ada tanpa menggantikan keseluruhan item.
Kaedah ini lebih cekap daripada put_item() jika anda hanya perlu mengubah beberapa atribut. Kaedah ini memerlukan UpdateExpression untuk menentukan atribut yang hendak diubah dan caranya.
Ungkapan kemas kini boleh menambah, menetapkan, mengalih keluar atau memadam atribut.
Mengalih Keluar Item (DeleteItem)
Untuk memadam item daripada jadual DynamoDB, anda menggunakan kaedah delete_item(). Seperti get_item(), anda mesti memberikan kunci primer penuh bagi item yang ingin dialih keluar.
Setelah item dipadam, item tersebut tidak boleh dipulihkan melalui operasi ini. Berhati-hati apabila menggunakan delete_item(), khususnya dalam persekitaran pengeluaran.
Semakan Pantas: Operasi DynamoDB
Anda perlu mencipta profil pengguna baharu dalam jadual DynamoDB Users anda. Jika pengguna dengan ID yang sama sudah wujud, anda mahu menulis ganti profil lama mereka sepenuhnya dengan data baharu. Kaedah Boto3 yang manakah patut digunakan oleh fungsi Lambda anda?
Imbas Kembali: Pengintegrasian Lambda & DynamoDB
Tahniah! Anda telah mempelajari cara mengintegrasikan AWS Lambda dengan DynamoDB untuk membina aplikasi tanpa pelayan yang dipacu data.
- Kita telah membincangkan kepentingan kebenaran IAM untuk akses yang selamat.
- Anda telah melihat cara menggunakan SDK Boto3 untuk menyambung dari Lambda Python.
- Kita telah meneroka operasi teras CRUD:
put_item()(mencipta atau menggantikan),get_item()(membaca),update_item()(mengubah suai) dandelete_item()(mengalih keluar).
Pengetahuan ini penting untuk membangunkan bahagian belakang tanpa pelayan yang kukuh!
Pelajari Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Penyepaduan Lambda dan DynamoDB” percuma?
Ya — teks penuh “Penyepaduan Lambda dan DynamoDB” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway, tingkat taraf kepada CoddyKit PRO. Kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penyepaduan Lambda dan DynamoDB”?
Bangunkan fungsi Lambda yang berinteraksi dengan DynamoDB untuk melaksanakan operasi CRUD dan membina bahagian belakang tanpa pelayan berpacukan data. Anda berlatih Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Penyepaduan Lambda dan DynamoDB” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway ini?
Ya. Setiap pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pengenalan kepada DynamoDB
- Mereka Bentuk Jadual DynamoDB
- Penyepaduan Lambda dan DynamoDB
- Membuat Pertanyaan dengan Indeks Sekunder: GSI dan LSI