Mengkonfigurasi AWS Lambda untuk Amazon WorkMail - Amazon WorkMail

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

Mengkonfigurasi AWS Lambda untuk Amazon WorkMail

Gunakan tindakan Jalankan Lambda dalam aturan alur email masuk dan keluar untuk meneruskan pesan email yang cocok dengan aturan ke fungsi untuk diproses. AWS Lambda

Pilih dari konfigurasi berikut untuk tindakan Jalankan Lambda di Amazon. WorkMail

Konfigurasi Jalankan Lambda yang sinkron

Pesan email yang cocok dengan aturan aliran disampaikan ke fungsi Lambda untuk diproses sebelum mereka dikirim atau diserahkan. Gunakan konfigurasi ini untuk mengubah konten email. Anda juga dapat mengontrol aliran email masuk atau keluar untuk kasus penggunaan yang berbeda. Misalnya, aturan yang diteruskan ke fungsi Lambda dapat memblokir pengiriman pesan email sensitif, menghapus lampiran, atau menambahkan penafian.

Konfigurasi Jalankan Lambda yang tidak sinkron

Pesan email yang cocok dengan aturan aliran disampaikan ke fungsi Lambda untuk diproses saat mereka dikirim atau diserahkan. Konfigurasi ini tidak mempengaruhi pengiriman email dan digunakan untuk tugas-tugas seperti mengumpulkan metrik untuk pesan email masuk atau keluar.

Baik Anda memilih konfigurasi sinkron atau asinkron, objek peristiwa yang diteruskan ke fungsi Lambda berisi metadata untuk peristiwa email masuk atau keluar. Anda juga dapat menggunakan ID pesan dalam metadata untuk mengakses konten lengkap pesan email. Untuk informasi selengkapnya, lihat Mengambil konten pesan dengan AWS Lambda. Untuk informasi selengkapnya tentang peristiwa email, lihat Data peristiwa Lambda.

Untuk informasi selengkapnya tentang aturan alur email masuk dan keluar, lihat Mengelola alur email. Untuk informasi tentang Lambda, lihat Panduan Developer AWS Lambda .

catatan

Saat ini, aturan alur email Lambda hanya mereferensikan fungsi Lambda di AWS Wilayah yang sama dan sebagai organisasi Amazon WorkMail yang sedang Akun AWS dikonfigurasi.

Memulai dengan AWS Lambda untuk Amazon WorkMail

Untuk mulai menggunakan AWS Lambda dengan Amazon WorkMail, sebaiknya gunakan fungsi WorkMail Hello World Lambda dari AWS Serverless Application Repository akun Anda ke akun Anda. Fungsi ini memiliki semua sumber daya yang diperlukan, dan izin yang dikonfigurasi untuk Anda. Untuk contoh lainnya, lihat amazon-workmail-lambda-templatesrepositori di. GitHub

Jika Anda memilih untuk membuat fungsi Lambda Anda sendiri, Anda harus mengonfigurasi izin menggunakan (). AWS Command Line Interface AWS CLI Dalam contoh perintah berikut, lakukan hal berikut:

  • Ganti MY_FUNCTION_NAME dengan nama fungsi Lambda Anda.

  • Ganti REGION dengan WorkMail AWS Wilayah Amazon Anda. WorkMail Wilayah Amazon yang tersedia termasuk us-east-1 (AS Timur (Virginia N.)), us-west-2 (AS Barat (Oregon)), dan eu-west-1 (Eropa (Irlandia)).

  • Ganti AWS_ACCOUNT_ID dengan Akun AWS ID 12 digit Anda.

  • Ganti WORKMAIL_ORGANIZATION_ID dengan ID WorkMail organisasi Amazon Anda. Anda dapat menemukannya di kartu untuk organisasi Anda di halaman Organizations.

aws --region REGION lambda add-permission --function-name MY_FUNCTION_NAME --statement-id AllowWorkMail --action "lambda:InvokeFunction" --principal workmail.REGION.amazonaws.com --source-arn arn:aws:workmail:REGION:AWS_ACCOUNT_ID:organization/WORKMAIL_ORGANIZATION_ID

Untuk informasi selengkapnya tentang menggunakan AWS CLI, lihat Panduan AWS Command Line Interface Pengguna.

Mengkonfigurasi aturan Jalankan Lambda yang sinkron

Untuk mengkonfigurasi aturan Jalankan Lambda yang sinkron, buat aturan alur email dengan tindakan Jalankan Lambda dan pilih kotak centang Jalankan secara sinkron. Untuk informasi selengkapnya tentang membuat aturan alur pesan, lihat Membuat aturan alur email.

Untuk menyelesaikan pembuatan aturan sinkron, tambahkan Lambda Amazon Resource ARN Name () dan konfigurasikan opsi berikut.

Tindakan mundur

Tindakan Amazon WorkMail berlaku jika fungsi Lambda gagal dijalankan. Tindakan ini juga berlaku untuk setiap penerima yang dihilangkan dari respons Lambda jika tanda tidak disetel. allRecipients Aksi Fallback tidak bisa menjadi aksi Lambda lain.

Waktu habis (dalam menit)

Periode waktu di mana fungsi Lambda dicoba lagi jika Amazon WorkMail gagal memanggilnya. Tindakan mundur diterapkan pada akhir jangka waktu ini.

catatan

Aturan Jalankan Lambda Sinkron hanya support syarat tujuan *.

Data peristiwa Lambda

Fungsi Lambda dipicu menggunakan data peristiwa berikut. Presentasi data bervariasi tergantung pada bahasa pemrograman yang digunakan untuk fungsi Lambda.

{ "summaryVersion": "2018-10-10", "envelope": { "mailFrom" : { "address" : "from@example.com" }, "recipients" : [ { "address" : "recipient1@example.com" }, { "address" : "recipient2@example.com" } ] }, "sender" : { "address" : "sender@example.com" }, "subject" : "Hello From Amazon WorkMail!", "messageId": "00000000-0000-0000-0000-000000000000", "invocationId": "00000000000000000000000000000000", "flowDirection": "INBOUND", "truncated": false }

Acara JSON ini mencakup data berikut.

summaryVersion

Nomor versi untukLambdaEventData. Ini hanya diperbarui ketika Anda membuat perubahan yang tidak kompatibel ke belakang. LambdaEventData

amplop

Amplop pesan email, yang meliputi: bidang berikut.

mailFrom

Alamat Dari, yang biasanya alamat email dari pengguna yang mengirim pesan. Jika pengguna mengirim pesan email sebagai pengguna lain atau atas nama pengguna lain, mailFrombidang mengembalikan alamat email pengguna yang atas nama pesan email dikirim, bukan alamat email pengirim yang sebenarnya.

penerima

Daftar alamat email penerima. Amazon WorkMail tidak membedakan antara To, CC, atau BCC.

catatan

Untuk aturan alur email masuk, daftar ini menyertakan penerima di semua domain di WorkMail organisasi Amazon tempat Anda membuat aturan. Fungsi Lambda dipanggil secara terpisah untuk setiap SMTP percakapan dari pengirim, dan bidang penerima mencantumkan penerima dari percakapan tersebut. SMTP Penerima dengan domain eksternal tidak disertakan.

pengirim

Alamat email pengguna yang mengirim pesan email atas nama pengguna lain. Bidang ini diatur hanya jika suatu pesan email dikirim atas nama pengguna lain.

subjek

Baris subjek email. Dipotong ketika melebihi batas 256 karakter.

messageId

ID unik yang digunakan untuk mengakses konten lengkap pesan email saat menggunakan Alur WorkMail Pesan AmazonSDK.

invocationId

ID untuk invokasi Lambda yang unik. ID ini tetap sama ketika fungsi Lambda dipanggil lebih dari sekali untuk hal yang sama. LambdaEventData Gunakan untuk mendeteksi percobaan ulang dan menghindari duplikasi.

flowDirection

Menunjukkan arah aliran email, baik INBOUNDatau OUTBOUND.

terpotong

Berlaku untuk ukuran muatan, bukan panjang baris subjek. Saat true, ukuran muatan melebihi batas 128 KB, sehingga daftar penerima dipotong untuk memenuhi batas.

Skema respon Jalankan Lambda sinkron

Jika aturan alur email dengan tindakan Jalankan Lambda sinkron cocok dengan pesan email masuk atau keluar, Amazon WorkMail memanggil fungsi Lambda yang dikonfigurasi dan menunggu respons sebelum mengambil tindakan pada pesan email. Fungsi Lambda mengembalikan respon sesuai dengan skema yang telah ditetapkan yang berisi tindakan, jenis tindakan, parameter yang berlaku, dan penerima yang diberlakukan tindakan terhadapnya.

Contoh berikut menunjukkan respon Run Lambda sinkron. Respon bervariasi berdasarkan bahasa pemrograman yang digunakan untuk fungsi Lambda.

{ "actions": [ { "action" : { "type": "string", "parameters": { various } }, "recipients": [list of strings], "allRecipients": boolean } ] }

Tanggapan tersebut JSON mencakup data berikut.

tindakan

Tindakan yang harus dilakukan untuk penerima.

jenis

Jenis tindakan. Jenis tindakan tidak dikembalikan untuk tindakan Jalankan Lambda yang tidak sinkron.

Jenis tindakan aturan masuk meliputi BOUNCE,, DROP, BYPASS_ _ DEFAULTCHECK, dan SPAM MOVEJUNK_TO_. Untuk informasi selengkapnya, lihat Tindakan aturan email masuk.

Jenis tindakan aturan keluar termasuk BOUNCE, DROP, dan DEFAULT. Untuk informasi selengkapnya, lihat Tindakan aturan email keluar.

parameter

Parameter tindakan tambahan. Didukung untuk tipe BOUNCEtindakan sebagai JSON objek dengan kunci bounceMessagedan nilai string. Pesan pentalan ini digunakan untuk membuat pesan email pentalan.

penerima

Daftar alamat email tempat tindakan harus dilakukan. Anda dapat menambahkan penerima baru ke respon meskipun mereka tidak disertakan dalam daftar penerima semula. Bidang ini tidak allRecipientsdiperlukan jika benar untuk suatu tindakan.

catatan

Ketika tindakan Lambda dipanggil untuk email masuk, Anda hanya dapat menambahkan penerima baru yang berasal dari organisasi Anda. Penerima baru ditambahkan ke respons sebagai BCC.

allRecipients

Jika benar, berlaku tindakan untuk semua penerima yang tidak tunduk pada tindakan spesifik lain dalam respon Lambda.

Batas tindakan Jalankan Lambda sinkron

Batasan berikut berlaku saat Amazon WorkMail memanggil fungsi Lambda untuk tindakan Jalankan Lambda yang sinkron:

  • Fungsi Lambda harus merespon dalam waktu 15 detik, atau diperlakukan sebagai permintaan yang gagal.

    catatan

    Sistem mencoba ulang permintaan untuk interval Batas waktu habis yang Anda tentukan.

  • Respon fungsi Lambda hingga 256 KB diperbolehkan.

  • Hingga 10 tindakan unik diperbolehkan dalam respon. Tindakan yang lebih besar dari 10 tunduk pada konfigurasi Tindakan mundur.

  • Hingga 500 penerima diperbolehkan untuk fungsi Lambda keluar.

  • Nilai maksimum untuk Batas waktu habis adalah 240 menit. Jika nilai minimum 0 dikonfigurasi, tidak ada percobaan ulang sebelum Amazon WorkMail menerapkan tindakan fallback.

Kegagalan tindakan Jalankan Lambda yang tidak sinkron

Jika Amazon tidak WorkMail dapat menjalankan fungsi Lambda karena kesalahan, respons tidak valid, atau batas waktu Lambda, WorkMail Amazon akan mencoba ulang pemanggilan dengan backoff eksponensial yang mengurangi laju pemrosesan hingga periode batas waktu Aturan selesai. Kemudian, Tindakan mundur diterapkan ke semua penerima pesan email. Untuk informasi selengkapnya, lihat Mengkonfigurasi aturan Jalankan Lambda yang sinkron.

Contoh respon Jalankan Lambda sinkron

Contoh berikut menunjukkan struktur respon umum Jalankan Lambda sinkron.

contoh : Hapus penerima yang ditentukan dari pesan email

Contoh berikut menunjukkan struktur respon Jalankan Lambda sinkron untuk menghapus penerima dari pesan email.

{ "actions": [ { "action": { "type": "DEFAULT" }, "allRecipients": true }, { "action": { "type": "DROP" }, "recipients": [ "drop-recipient@example.com" ] } ] }
contoh : Pentalkan dengan pesan email kustom

Contoh berikut menunjukkan struktur respon Jalankan Lambda yang tidak sinkron untuk mementalkan pesan email kustom.

{ "actions" : [ { "action" : { "type": 'BOUNCE', "parameters": { "bounceMessage" : "Email in breach of company policy." } }, "allRecipients": true } ] }
contoh : Tambahkan penerima ke pesan email

Contoh berikut menunjukkan struktur respon Jalankan Lambda sinkron untuk menambahkan penerima ke pesan email. Tindakan ini tidak memperbarui bidang Kepada atau CC pesan email.

{ "actions": [ { "action": { "type": "DEFAULT" }, "recipients": [ "new-recipient@example.com" ] }, { "action": { "type": "DEFAULT" }, "allRecipients": true } ] }

Untuk contoh kode lainnya yang akan digunakan saat membuat fungsi Lambda untuk tindakan Jalankan Lambda, lihat templat Amazon Lambda. WorkMail

Informasi lebih lanjut tentang menggunakan Lambda dengan Amazon WorkMail

Anda juga dapat mengakses konten lengkap pesan email yang memicu fungsi Lambda. Untuk informasi selengkapnya, lihat Mengambil konten pesan dengan AWS Lambda.