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
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 termasukus-east-1
(AS Timur (Virginia N.)),us-west-2
(AS Barat (Oregon)), daneu-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-nameMY_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 untuk
LambdaEventData
. 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
}
]
}
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.