Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Memanggil fungsi Lambda dengan notifikasi Amazon SNS

Mode fokus
Memanggil fungsi Lambda dengan notifikasi Amazon SNS - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Anda dapat menggunakan fungsi Lambda untuk memproses notifikasi Amazon Simple Notification Service SNS (Amazon). Amazon SNS mendukung fungsi Lambda sebagai target untuk pesan yang dikirim ke topik. Anda dapat melanggankan fungsi Anda ke topik di akun yang sama atau di akun AWS lainnya. Untuk panduan terperinci, lihat. Tutorial: Menggunakan AWS Lambda dengan Amazon Simple Notification Service

Lambda mendukung SNS pemicu untuk topik standar SNS saja. FIFOTopik tidak didukung.

Untuk invokasi asinkron, Lambda mengantrekan pesan dan menangani percobaan ulang. Jika Amazon tidak SNS dapat mencapai Lambda atau pesan ditolak, Amazon melakukan SNS percobaan ulang dengan interval yang diperpanjang selama beberapa jam. Untuk detailnya, lihat Keandalan di Amazon SNSFAQs.

Awas

Pemetaan sumber peristiwa Lambda memproses setiap peristiwa setidaknya sekali, dan pemrosesan duplikat catatan dapat terjadi. Untuk menghindari potensi masalah yang terkait dengan duplikat peristiwa, kami sangat menyarankan agar Anda membuat kode fungsi Anda idempoten. Untuk mempelajari lebih lanjut, lihat Bagaimana cara membuat fungsi Lambda saya idempoten di Pusat Pengetahuan. AWS

Menambahkan pemicu SNS topik Amazon untuk fungsi Lambda menggunakan konsol

Untuk menambahkan SNS topik sebagai pemicu fungsi Lambda, cara termudah adalah dengan menggunakan konsol Lambda. Saat Anda menambahkan pemicu melalui konsol, Lambda secara otomatis mengatur izin dan langganan yang diperlukan untuk mulai menerima acara dari topik. SNS

Buatlah sebuah SNS topik sebagai pemicu untuk sebuah fungsi Lambda (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih nama fungsi yang ingin Anda tambahkan dengan pemicu.

  3. Pilih Konfigurasi, lalu pilih Pemicu.

  4. Pilih Tambahkan pemicu.

  5. Di bawah konfigurasi Trigger, di menu tarik-turun, pilih. SNS

  6. Untuk SNStopik, pilih SNS topik untuk berlangganan.

Menambahkan pemicu SNS topik Amazon secara manual untuk fungsi Lambda

Untuk mengatur SNS pemicu fungsi Lambda secara manual, Anda harus menyelesaikan langkah-langkah berikut:

  • Tentukan kebijakan berbasis sumber daya untuk fungsi Anda agar memungkinkan untuk SNS memanggilnya.

  • Berlangganan fungsi Lambda Anda ke topik AmazonSNS.

    catatan

    Jika SNS topik dan fungsi Lambda Anda berada di AWS akun yang berbeda, Anda juga perlu memberikan izin tambahan untuk mengizinkan langganan lintas akun ke topik tersebut. SNS Untuk informasi selengkapnya, lihat Memberikan izin lintas akun untuk SNS langganan Amazon.

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk menyelesaikan kedua langkah ini. Pertama, untuk menentukan kebijakan berbasis sumber daya untuk fungsi Lambda yang memungkinkan SNS pemanggilan, gunakan perintah berikut. AWS CLI Pastikan untuk mengganti nilai --function-name dengan nama fungsi Lambda Anda, dan nilai --source-arn dengan topik AndaSNS. ARN

aws lambda add-permission --function-name example-function \ --source-arn arn:aws:sns:us-east-1:123456789012:sns-topic-for-lambda \ --statement-id function-with-sns --action "lambda:InvokeFunction" \ --principal sns.amazonaws.com

Untuk berlangganan fungsi Anda ke SNS topik, gunakan AWS CLI perintah berikut. Ganti nilai --topic-arn dengan SNS topik AndaARN, dan nilai --notification-endpoint dengan fungsi Lambda Anda. ARN

aws sns subscribe --protocol lambda \ --region us-east-1 \ --topic-arn arn:aws:sns:us-east-1:123456789012:sns-topic-for-lambda \ --notification-endpoint arn:aws:lambda:us-east-1:123456789012:function:example-function

Contoh bentuk SNS acara

Amazon SNS memanggil fungsi Anda secara asinkron dengan peristiwa yang berisi pesan dan metadata.

contoh Peristiwa SNS pesan Amazon
{ "Records": [ { "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:us-east-1:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "EventSource": "aws:sns", "Sns": { "SignatureVersion": "1", "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", "MessageAttributes": { "Test": { "Type": "String", "Value": "TestString" }, "TestBinary": { "Type": "Binary", "Value": "TestBinary" } }, "Type": "Notification", "UnsubscribeUrl": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "TopicArn":"arn:aws:sns:us-east-1:123456789012:sns-lambda", "Subject": "TestInvoke" } } ] }

Topik berikutnya:

Tutorial

Topik sebelumnya:

S3 Batch
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.