Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS::Serverless: :Fungsi
Membuat AWS Lambda fungsi, peran eksekusi AWS Identity and Access Management (IAM), dan pemetaan sumber peristiwa yang memicu fungsi.
Sumber AWS::Serverless: :Fungsi daya juga mendukung atribut Metadata resource, sehingga Anda dapat menginstruksikan AWS SAM untuk membuat runtime kustom yang dibutuhkan aplikasi Anda. Untuk informasi selengkapnya tentang membangun waktu aktif kustom, lihat Membangun fungsi Lambda dengan runtime khusus di AWS SAM.
catatan
Saat Anda menerapkan ke AWS CloudFormation, ubah AWS SAM sumber AWS SAM daya Anda menjadi CloudFormation sumber daya. Untuk informasi selengkapnya, lihat Dihasilkan CloudFormation sumber daya untuk AWS SAM.
Sintaksis
Untuk mendeklarasikan entitas ini di template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.
YAML
Type: AWS::Serverless::Function Properties: Architectures:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCapacityProviderConfig:CapacityProviderConfigCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringDurableConfig:DurableConfigEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionScalingConfig:FunctionScalingConfigFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPublishToLatestPublished:BooleanPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTenancyConfig:TenancyConfigTimeout:IntegerTracing:StringVersionDescription:StringVersionDeletionPolicy:StringVpcConfig:VpcConfig
Sifat-sifat
-
Architectures -
Instruksi mengatur arsitektur untuk fungsi.
Untuk informasi selengkapnya tentang properti ini, lihat arsitektur set instruksi Lambda di Panduan Peng AWS Lambda embang.
Nilai yang valid: Salah satu
x86_64atauarm64Tipe: Daftar
Wajib: Tidak
Default:
x86_64CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Architecturesproperti sumberAWS::Lambda::Functiondaya. -
AssumeRolePolicyDocument -
Menambahkan sebuah AssumeRolePolicyDocument untuk default yang dibuat
Roleuntuk fungsi ini. Jika properti ini tidak ditentukan, AWS SAM tambahkan peran asumsi default untuk fungsi ini.Tipe: JSON
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
AssumeRolePolicyDocumentproperti sumberAWS::IAM::Roledaya. AWS SAM menambahkan properti ini ke peran IAM yang dihasilkan untuk fungsi ini. Jika Amazon Resource Name (ARN) peran tersedia untuk fungsi ini, properti ini tidak melakukan apa-apa. -
AutoPublishAlias -
Nama alias Lambda. Untuk informasi selengkapnya tentang alias Lambda, lihat Alias fungsi Lambda di Panduan Developer AWS Lambda . Untuk contoh yang menggunakan properti ini, lihat Menerapkan aplikasi tanpa server secara bertahap dengan AWS SAM.
AWS SAM menghasilkan AWS::Lambda::Version dan AWS::Lambda::Alias sumber daya saat properti ini disetel. Untuk informasi selengkapnya tentang skenario ini, lihat AutoPublishAlias properti ditentukan. Untuk informasi umum tentang CloudFormation sumber daya yang dihasilkan, lihatDihasilkan CloudFormation sumber daya untuk AWS SAM.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
AutoPublishAliasAllProperties -
Menentukan kapan yang baru
AWS::Lambda::Versiondibuat. Kapantrue, versi Lambda baru dibuat ketika properti apa pun dalam fungsi Lambda dimodifikasi. Ketikafalse, versi Lambda baru dibuat hanya ketika salah satu properti berikut dimodifikasi:-
Environment,MemorySize, atauSnapStart. -
Setiap perubahan yang menghasilkan pembaruan pada
Codeproperti, sepertiCodeDict,ImageUri, atauInlineCode.
Properti ini
AutoPublishAliasperlu didefinisikan.Jika juga
AutoPublishCodeSha256ditentukan, perilakunya lebihAutoPublishAliasAllProperties: truediutamakan.Tipe: Boolean
Wajib: Tidak
Nilai default:
falseCloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
-
AutoPublishCodeSha256 -
Saat digunakan, string ini bekerja dengan
CodeUrinilai untuk menentukan apakah versi Lambda baru perlu dipublikasikan. Properti ini sering digunakan untuk menyelesaikan masalah penerapan berikut: Paket penerapan disimpan di lokasi Amazon S3 dan diganti dengan paket penerapan baru dengan kode fungsi Lambda yang diperbarui tetapiCodeUriproperti tetap tidak berubah (berbeda dengan paket penerapan baru yang diunggah ke lokasi Amazon S3 baru danCodeUrisedang diubah ke lokasi baru).Masalah ini ditandai dengan AWS SAM template yang memiliki karakteristik sebagai berikut:
Ob
DeploymentPreferencejek dikonfigurasi untuk penerapan bertahap (seperti yang dijelaskan dalam) Menerapkan aplikasi tanpa server secara bertahap dengan AWS SAMPro
AutoPublishAliasperti diatur dan tidak berubah di antara penerapanPro
CodeUriperti diatur dan tidak berubah di antara penerapan.
Dalam skenario ini,
AutoPublishCodeSha256pembaruan menghasilkan versi Lambda baru yang berhasil dibuat. Namun, kode fungsi baru yang diterapkan ke Amazon S3 tidak akan dikenali. Untuk mengenali kode fungsi baru, pertimbangkan untuk menggunakan pembuatan versi di bucket Amazon S3 Anda. TentukanVersionproperti untuk fungsi Lambda Anda dan konfigurasikan bucket Anda untuk selalu menggunakan paket penerapan terbaru.Dalam skenario ini, agar berhasil memicu deployment bertahap, Anda harus memberikan nilai unik untuk
AutoPublishCodeSha256.Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
CapacityProviderConfig -
Mengkonfigurasi penyedia kapasitas yang akan dilampirkan versi fungsi yang diterbitkan. Ini memungkinkan fungsi berjalan pada instans EC2 milik pelanggan yang dikelola oleh Instans Terkelola Lambda.
Jenis: CapacityProviderConfig
Wajib: Tidak
CloudFormation kompatibilitas: SAM meratakan properti yang diteruskan ke
CapacityProviderConfigpropertiAWS::Lambda::Functionsumber daya dan merekonstruksi struktur bersarang. -
CodeSigningConfigArn -
ARN sumber AWS::Lambda::CodeSigningConfig daya, digunakan untuk mengaktifkan penandatanganan kode untuk fungsi ini. Untuk informasi selengkapnya tentang penandatanganan kode, lihat Siapkan penandatanganan kode untuk AWS SAM aplikasi Anda.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
CodeSigningConfigArnproperti sumberAWS::Lambda::Functiondaya. -
CodeUri -
Kode untuk fungsi. Nilai yang diterima meliputi:
-
Fungsi ini adalah URI Amazon S3. Misalnya,
s3://bucket-123456789/sam-app/1234567890abcdefg. -
Jalur lokal ke fungsi. Misalnya,
hello_world/. -
Sebuah objek FunctionCode.
catatan
Jika Anda menyediakan URI atau FunctionCode objek Amazon S3 fungsi, Anda harus mereferensikan paket penerapan Lambda yang valid.
Jika Anda menyediakan jalur file lokal, gunakan AWS SAMCLI untuk mengunggah file lokal saat penerapan. Untuk mempelajari selengkapnya, lihat Cara AWS SAM mengunggah file lokal saat penerapan.
Jika Anda menggunakan fungsi intrinsik dalam
CodeUriproperti, tidak AWS SAM akan dapat mengurai nilai-nilai dengan benar. Pertimbangkan untuk menggunakan AWS::LanguageExtensions transform sebagai gantinya.Jenis: [String |FunctionCode]
Diperlukan: Bersyarat. Ketika
PackageTypediatur keZip, salah satuCodeUriatauInlineCodediperlukan.CloudFormation kompatibilitas: Properti ini mirip dengan
Codeproperti sumberAWS::Lambda::Functiondaya. Properti Amazon S3 yang di-nest diberi nama berbeda. -
-
DeadLetterQueue -
Mengonfigurasi topik Amazon Simple Notification Service (Amazon SNS) atau antrean Amazon Simple Queue Service (Amazon SQS) tempat Lambda mengirimkan peristiwa yang tidak dapat diproses. Untuk informasi selengkapnya tentang fungsionalitas antrean huruf mati, lihat Dead-letter antrian di Panduan Peng AWS Lambda embang.
catatan
Jika sumber peristiwa fungsi Lambda Anda adalah antrian Amazon SQS, konfigurasikan antrian huruf mati untuk antrian sumber, bukan untuk fungsi Lambda. Antrean surat mati yang dikonfigurasikan untuk fungsi digunakan untuk antrean invokasi tidak sinkron fungsi, bukan untuk antrean sumber peristiwa.
Jenis: Peta | DeadLetterQueue
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
DeadLetterConfigproperti sumberAWS::Lambda::Functiondaya. Dalam CloudFormation tipe diturunkan dariTargetArn, sedangkan di AWS SAM Anda harus meneruskan tipe bersama denganTargetArn. -
DeploymentPreference -
Pengaturan untuk mengaktifkan deployment Lambda bertahap.
Jika
DeploymentPreferenceobjek ditentukan, membuat panggilan AWS SAMServerlessDeploymentApplication(satu per tumpukan), dipang AWS::CodeDeploy::DeploymentGroup gil, dan dipang AWS::IAM::Role gil<function-logical-id>DeploymentGroupCodeDeployServiceRole. AWS::CodeDeploy::ApplicationJenis: DeploymentPreference
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
Lihat juga: Untuk informasi selengkapnya tentang properti ini, lihat Menerapkan aplikasi tanpa server secara bertahap dengan AWS SAM.
-
Description -
Deskripsi fungsi.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Descriptionproperti sumberAWS::Lambda::Functiondaya. -
DurableConfig -
Konfigurasi untuk fungsi tahan lama. Mengaktifkan eksekusi stateful dengan kemampuan checkpointing dan replay otomatis.
Jenis: DurableConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
Environment -
Konfigurasi untuk lingkungan waktu aktif.
Tipe: Lingkungan
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Environmentproperti sumberAWS::Lambda::Functiondaya. -
EphemeralStorage -
Objek yang menentukan ruang disk, dalam MB, tersedia untuk fungsi Lambda Anda di
/tmp.Untuk informasi selengkapnya tentang properti ini, lihat lingkungan eksekusi Lambda di Panduan Peng AWS Lambda embang.
Jenis: EphemeralStorage
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
EphemeralStorageproperti sumberAWS::Lambda::Functiondaya. -
EventInvokeConfig -
Objek yang menggambarkan peristiwa memanggil konfigurasi pada fungsi Lambda.
Jenis: EventInvokeConfiguration
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
Events -
Menentukan peristiwa yang memicu fungsi ini. Peristiwa terdiri dari tipe dan satu set properti yang bergantung pada tipenya.
Jenis: EventSource
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
FileSystemConfigs -
Daftar FileSystemConfig objek yang menentukan pengaturan koneksi untuk sistem file Amazon Elastic File System (Amazon EFS) atau sistem file Amazon S3 Files. Anda dapat melampirkan titik akses Amazon EFS atau titik akses File S3, tetapi tidak keduanya.
Setiap
FileSystemConfigobjek berisiArn(titik akses ARN) dan aLocalMountPath(jalur di mana sistem file dipasang dalam fungsi). Untuk Amazon EFS, ARN adalah titik akses Amazon EFS ARN. Untuk File S3, ARN adalahAWS::S3Files::AccessPointARN.Jika template Anda berisi AWS::EFS::MountTarget sumber daya, Anda juga harus menentukan atribut
DependsOnresource untuk memastikan bahwa target mount dibuat atau diperbarui sebelum fungsi. Demikian pula, jika template Anda berisiAWS::S3Files::MountTargetsumber daya, Anda harus menentukanDependsOnatribut untuk target mount File S3.Tipe: Daftar
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
FileSystemConfigsproperti sumberAWS::Lambda::Functiondaya. -
FunctionName -
Nama untuk fungsi. Jika Anda tidak menentukan nama, nama unik akan dibuat untuk Anda.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
FunctionNameproperti sumberAWS::Lambda::Functiondaya. -
FunctionScalingConfig -
Mengkonfigurasi perilaku penskalaan untuk fungsi Lambda yang berjalan pada penyedia kapasitas. Mendefinisikan jumlah minimum dan maksimum lingkungan eksekusi.
Jenis: FunctionScalingConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
FunctionScalingConfigproperti sumberAWS::Lambda::Functiondaya. -
FunctionUrlConfig -
Objek yang menggambarkan URL fungsi. URL fungsi adalah titik akhir HTTPS yang dapat Anda gunakan untuk memanggil fungsi Anda.
Untuk informasi selengkapnya, lihat URL Fungsi di Panduan AWS Lambda Pengembang.
Jenis: FunctionUrlConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
Handler -
Fungsi dalam kode Anda yang dipanggil untuk memulai eksekusi. Properti ini hanya diperlukan jika properti
PackageTypediatur keZip.Tipe: String
Wajib: Bersyarat
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Handlerproperti sumberAWS::Lambda::Functiondaya. -
ImageConfig -
Objek yang digunakan untuk mengonfigurasi pengaturan citra kontainer Lambda. Untuk informasi selengkapnya, lihat Menggunakan citra kontainer dengan Lambda di Panduan Developer AWS Lambda .
Jenis: ImageConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
ImageConfigproperti sumberAWS::Lambda::Functiondaya. -
ImageUri -
URI repositori Amazon Elastic Container Registry (Amazon ECR) untuk citra kontainer fungsi Lambda ini. Properti ini hanya berlaku jika properti
PackageTypediatur keImage, jika tidak akan diabaikan. Untuk informasi selengkapnya, lihat Menggunakan citra kontainer dengan Lambda di Panduan Developer AWS Lambda .catatan
Jika
PackageTypeproperti disetel keImage, makaImageUridiperlukan, atau Anda harus membangun aplikasi Anda denganMetadataentri yang diperlukan dalam file AWS SAM template. Untuk informasi selengkapnya, lihat Membangun default dengan AWS SAM.Membangun aplikasi Anda dengan
Metadataentri yang diperlukan lebih diutamImageUriakan, jadi jika Anda menentukan keduanyaImageUrimaka diabaikan.Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
ImageUriproperti tipeAWS::Lambda::FunctionCodedata. -
InlineCode -
Kode fungsi Lambda yang ditulis langsung dalam templat. Properti ini hanya berlaku jika properti
PackageTypediatur keZip, jika tidak akan diabaikan.catatan
Jika properti
PackageTypediatur keZip(default), salah satuCodeUriatauInlineCodeharus ada.Tipe: String
Wajib: Bersyarat
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
ZipFileproperti tipeAWS::Lambda::FunctionCodedata. -
KmsKeyArn -
ARN dari kunci AWS Key Management Service (AWS KMS) yang digunakan Lambda untuk mengenkripsi dan mendekripsi variabel lingkungan fungsi Anda.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
KmsKeyArnproperti sumberAWS::Lambda::Functiondaya. -
Layers -
Daftar ARN
LayerVersionyang harus digunakan fungsi ini. Urutan yang ditentukan di sini adalah urutan ketika urutan impor saat menjalankan fungsi Lambda. Versi ini adalah ARN lengkap termasuk versi atau referensi ke sumber LayerVersion daya. Misalnya, referensi ke aLayerVersionakan!Ref MyLayersementara ARN lengkap termasuk versi akan adaarn:aws:lambda:.region:account-id:layer:layer-name:versionTipe: Daftar
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Layersproperti sumberAWS::Lambda::Functiondaya. -
LoggingConfig -
Pengaturan konfigurasi Amazon CloudWatch Logs fungsi.
Jenis: LoggingConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
LoggingConfigproperti sumberAWS::Lambda::Functiondaya. -
MemorySize -
Ukuran memori dalam MB yang dialokasikan per pemanggilan fungsi.
Tipe: Integer
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
MemorySizeproperti sumberAWS::Lambda::Functiondaya. -
PackageType -
Tipe paket deployment fungsi Lambda. Untuk informasi lebih lanjut, lihat Paket deployment Lambda di Panduan Developer AWS Lambda .
Catatan:
1. Jika properti ini diatur ke
Zip(default),CodeUriatauInlineCodeberlaku, danImageUridiabaikan.2. Jika properti ini diatur ke
Image, hanyaImageUriyang berlaku, danCodeUridanInlineCodediabaikan. Repositori Amazon ECR yang diperlukan untuk menyimpan gambar wadah fungsi dapat dibuat secara otomatis oleh AWS SAMCLI. Untuk informasi selengkapnya, lihat deploy sam.Nilai yang valid:
ZipatauImageTipe: String
Wajib: Tidak
Default:
ZipCloudFormation kompatibilitas: Properti ini diteruskan langsung ke
PackageTypeproperti sumberAWS::Lambda::Functiondaya. -
PermissionsBoundary -
ARN batas izin untuk digunakan untuk peran eksekusi fungsi ini. Properti ini bekerja hanya jika peran dibuat untuk Anda.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
PermissionsBoundaryproperti sumberAWS::IAM::Roledaya. -
Policies -
Kebijakan izin untuk fungsi ini. Kebijakan akan ditambahkan ke peran eksekusi default fungsi AWS Identity and Access Management (IAM).
Properti ini menerima satu nilai atau daftar nilai. Nilai yang diizinkan meliputi:
-
Kebijakan ARN terkel AWS ola atau kebijakan yang dikelola pelanggan.
-
Nama kebijakan ter AWS kelola dari daftar berikut
. -
Kebijakan IAM sebaris yang diformat YAML sebagai peta.
catatan
Jika Anda mengatur
Roleproperti, properti ini diabaikan.Tipe: String | Daftar | Peta
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
Policiesproperti sumberAWS::IAM::Roledaya. -
PublishToLatestPublished -
Menentukan apakah akan menerbitkan versi fungsi terbaru saat fungsi diperbarui.
Tipe: Boolean
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
PublishToLatestPublishedproperti sumberAWS::Lambda::Functiondaya. -
Tunjukkan apakah akan meneruskan tag dari
Tagsproperti ke sumber daya AWS::Serverless::Function yang Anda buat atau tidak. TentukanTrueuntuk menyebarkan tag di sumber daya yang Anda buat.Tipe: Boolean
Wajib: Tidak
Default:
FalseCloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara.
-
ProvisionedConcurrencyConfig -
Konfigurasi konkurensi yang disediakan untuk alias fungsi.
catatan
ProvisionedConcurrencyConfigdapat ditentukan hanya jikaAutoPublishAliasdiatur. Jika tidak, akan terjadi kesalahan.Jenis: ProvisionedConcurrencyConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
ProvisionedConcurrencyConfigproperti sumberAWS::Lambda::Aliasdaya. -
RecursiveLoop -
Status konfigurasi deteksi loop rekursif fungsi Anda.
Ketika nilai ini disetel ke
Allowdan Lambda mendeteksi fungsi Anda dipanggil sebagai bagian dari loop rekursif, itu tidak mengambil tindakan apa pun.Ketika nilai ini disetel ke
Terminatedan Lambda mendeteksi fungsi Anda dipanggil sebagai bagian dari loop rekursif, itu menghentikan fungsi Anda dipanggil dan memberi tahu Anda.Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
RecursiveLoopproperti sumberAWS::Lambda::Functiondaya. -
ReservedConcurrentExecutions -
Jumlah maksimum eksekusi bersamaan yang ingin Anda simpan untuk fungsi tersebut.
Untuk informasi lebih lanjut, lihat Skala Fungsi Lambda dalam Panduan Developer AWS Lambda .
Tipe: Integer
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
ReservedConcurrentExecutionsproperti sumberAWS::Lambda::Functiondaya. -
Role -
ARN dari IAM role untuk digunakan sebagai peran eksekusi fungsi ini.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
Roleproperti sumberAWS::Lambda::Functiondaya. Ini diperlukan di CloudFormation tetapi tidak di AWS SAM. Jika peran tidak ditentukan, satu dibuat untuk Anda dengan ID logis.<function-logical-id>Role -
RolePath -
Jalur ke peran eksekusi IAM fungsi.
Gunakan properti ini saat peran dibuat untuk Anda. Jangan gunakan ketika peran ditentukan dengan
Roleproperti.Tipe: String
Wajib: Bersyarat
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Pathproperti sumberAWS::IAM::Roledaya. -
Runtime -
Pengenal waktu aktif fungsi. Properti ini hanya diperlukan jika properti
PackageTypediatur keZip.catatan
Jika Anda menentukan pen
providedgidentifikasi untuk properti ini, Anda dapat menggunakan atributMetadataresource untuk menginstruksikan AWS SAM untuk membangun runtime kustom yang diperlukan fungsi ini. Untuk informasi selengkapnya tentang membangun waktu aktif kustom, lihat Membangun fungsi Lambda dengan runtime khusus di AWS SAM.Tipe: String
Wajib: Bersyarat
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Runtimeproperti sumberAWS::Lambda::Functiondaya. -
RuntimeManagementConfig -
Konfigurasikan opsi manajemen runtime untuk fungsi Lambda Anda seperti pembaruan lingkungan runtime, perilaku rollback, dan memilih versi runtime tertentu. Untuk mempelajari selengkapnya, lihat pembaruan runtime Lambda di Panduan Peng AWS Lambda embang.
Jenis: RuntimeManagementConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
RuntimeManagementConfigproperti sumberAWS::Lambda::Functiondaya. -
SnapStart -
Buat snapshot dari setiap versi fungsi Lambda baru. Snapshot adalah status cache dari fungsi Anda yang diinisialisasi, termasuk semua dependensinya. Fungsi ini diinisialisasi hanya sekali dan status cache digunakan kembali untuk semua pemanggilan di masa mendatang, meningkatkan kinerja aplikasi dengan mengurangi berapa kali fungsi Anda harus diinisialisasi. Untuk mempelajari selengkapnya, lihat Meningkatkan kinerja startup dengan Lambda SnapStart di Panduan Peng AWS Lambda embang.
Jenis: SnapStart
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
SnapStartproperti sumberAWS::Lambda::Functiondaya. -
SourceKMSKeyArn -
Merupakan kunci KMS ARN yang digunakan untuk mengenkripsi kode fungsi ZIP pelanggan.
Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
SourceKMSKeyArnproperti tipeAWS::Lambda::FunctionCodedata. -
Sebuah peta (string ke string) yang menentukan tanda ditambahkan ke fungsi ini. Untuk detail tentang kunci dan nilai yang valid untuk tag, lihat K unci Tag dan Persyaratan Nilai di Panduan AWS Lambda Pengembang.
Ketika tumpukan dibuat, AWS SAM secara otomatis menambahkan
lambda:createdBy:SAMtag ke fungsi Lambda ini, dan ke peran default yang dihasilkan untuk fungsi ini.Tipe: Peta
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
Tagsproperti sumberAWS::Lambda::Functiondaya. ProTagsperti di AWS SAM terdiri dari pasangan kunci-nilai (sedangkan dalam properti CloudFormation ini terdiri dari daftarTagobjek). Juga, AWS SAM secara otomatis menambahkanlambda:createdBy:SAMtag ke fungsi Lambda ini, dan ke peran default yang dihasilkan untuk fungsi ini. -
TenancyConfig -
Konfigurasi untuk mode isolasi penyewa Lambda. Memastikan lingkungan eksekusi tidak pernah dibagi antara ID penyewa yang berbeda, menyediakan isolasi tingkat komputasi untuk aplikasi multi-tenant.
Jenis: TenancyConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
TenancyConfigproperti sumberAWS::Lambda::Functiondaya. -
Timeout -
Waktu maksimum dalam detik bahwa fungsi dapat berjalan sebelum dihentikan.
Tipe: Integer
Wajib: Tidak
Default: 3
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Timeoutproperti sumberAWS::Lambda::Functiondaya. -
Tracing -
String yang menentukan mode penel X-Ray usuran fungsi.
-
Active— Mengaktifkan X-Ray pelacakan untuk fungsi tersebut. -
Disabled— Nonaktifkan X-Ray untuk fungsi. -
PassThrough— Mengaktifkan X-Ray pelacakan untuk fungsi tersebut. Keputusan pengambilan sampel didelegasikan ke layanan hilir.
Jika ditentukan sebagai
ActiveatauPassThroughdanRoleproperti tidak disetel, AWS SAM menambahkanarn:aws:iam::aws:policy/AWSXrayWriteOnlyAccesskebijakan ke peran eksekusi Lambda yang dibuat untuk Anda.Untuk informasi selengkap X-Ray nya, lihat Menggunakan AWS Lambda dengan AWS X-Ray di Panduan AWS Lambda Pengembang.
Nilai yang valid: [
Active|Disabled|PassThrough]Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini mirip dengan
TracingConfigproperti sumberAWS::Lambda::Functiondaya. -
-
VersionDescription -
Menentukan bidang
Descriptionyang ditambahkan pada sumber daya versi Lambda baru.Tipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Descriptionproperti sumberAWS::Lambda::Versiondaya. -
VersionDeletionPolicy -
Menentukan kebijakan penghapusan untuk sumber daya versi Lambda yang dibuat saat
AutoPublishAliasdisetel. Ini mengontrol apakah sumber daya versi dipertahankan atau dihapus saat tumpukan dihapus.Nilai yang valid:
Delete,Retain, atauSnapshotTipe: String
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki yang CloudFormation setara. Ini menetapkan
DeletionPolicyatribut padaAWS::Lambda::Versionsumber daya yang dihasilkan. -
VpcConfig -
Konfigurasi yang memungkinkan fungsi ini mengakses sumber daya privat dalam virtual private cloud (VPC) Anda.
Jenis: VpcConfig
Wajib: Tidak
CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
VpcConfigproperti sumberAWS::Lambda::Functiondaya.
Nilai Pengembalian
Referensi
Ketika ID logis dari sumber daya ini disediakan untuk fungsi intrinsik Ref, ID mengembalikan nama sumber daya dari fungsi Lambda utama.
Untuk informasi lebih lanjut tentang menggunakan fungsi Ref, lihat Ref diPanduan Pengguna AWS CloudFormation .
Fn:: GetAtt
Fn::GetAtt mengembalikan nilai untuk atribut yang ditentukan dari jenis ini. Berikut ini adalah atribut yang tersedia dan nilai-nilai kembali sampel.
Untuk informasi lebih lanjut tentang menggunakan Fn::GetAtt, lihat Fn::GetAtt di Panduan Pengguna AWS CloudFormation .
Arn-
ARN fungsi Lambda utama.
Contoh
Fungsi sederhana
Berikut ini adalah contoh dasar sumber daya AWS::Serverless: :Fungsi dari tipe paket Zip (default) dan kode fungsi dalam bucket Amazon S3.
YAML
Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name
Contoh properti fungsi
Berikut ini adalah contoh dari AWS::Serverless: :Fungsi jenis paket Zip (default) yang menggunakanInlineCode,Layers,Tracing,Policies, sistem Amazon EFS file, dan sumber Api peristiwa.
YAML
Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfig contoh
Berikut ini adalah contoh-contoh ImageConfig untuk fungsi Lambda dari tipe paket Image.
YAML
HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri:account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-nameImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"
RuntimeManagementConfig contoh
Fungsi Lambda dikonfigurasi untuk memperbarui lingkungan runtime sesuai dengan perilaku saat ini:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto
Fungsi Lambda dikonfigurasi untuk memperbarui lingkungan runtime ketika fungsi diperbarui:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate
Fungsi Lambda dikonfigurasi untuk memperbarui lingkungan runtime secara manual:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual
SnapStart contoh
Contoh fungsi Lambda yang di SnapStart aktifkan untuk versi mendatang:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions
TenancyConfig contoh
Contoh fungsi Lambda dengan mode isolasi penyewa diaktifkan:
TestFunction Type: AWS::Serverless::Function Properties: ... TenancyConfig: TenantIsolationMode: PER_TENANT
Contoh sistem file S3 Files
Contoh berikut membuat fungsi Lambda yang memasang sistem file Amazon S3 Files. Template membuat bucket S3, sistem file S3 Files yang didukung oleh bucket itu, target pemasangan di subnet VPC, dan titik akses. Fungsi ini memasang titik akses di /mnt/s3files dan dapat membaca dan menulis file yang disinkronkan ke bucket S3.
catatan
Anda dapat melampirkan sistem file Amazon EFS atau sistem file S3 Files ke fungsi Lambda, tetapi tidak keduanya secara bersamaan.
YAML
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: Lambda function with S3 Files file system Resources: # VPC and networking MyVpc: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 EnableDnsSupport: true EnableDnsHostnames: true MySubnet: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVpc CidrBlock: 10.0.1.0/24 AvailabilityZone: !Select [0, !GetAZs ''] MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Security group for Lambda and S3 Files VpcId: !Ref MyVpc SecurityGroupIngress: - IpProtocol: tcp FromPort: 2049 ToPort: 2049 CidrIp: 10.0.0.0/16 # S3 bucket for file storage MyS3Bucket: Type: AWS::S3::Bucket # IAM role for S3 Files to access the bucket S3FilesRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: elasticfilesystem.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: S3FilesBucketAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:PutObject - s3:DeleteObject - s3:ListBucket Resource: - !GetAtt MyS3Bucket.Arn - !Sub '${MyS3Bucket.Arn}/*' # S3 Files resources MyS3FilesFileSystem: Type: AWS::S3Files::FileSystem Properties: Bucket: !GetAtt MyS3Bucket.Arn RoleArn: !GetAtt S3FilesRole.Arn MyS3FilesMountTarget: Type: AWS::S3Files::MountTarget Properties: FileSystemId: !Ref MyS3FilesFileSystem SubnetId: !Ref MySubnet SecurityGroups: - !Ref MySecurityGroup MyS3FilesAccessPoint: Type: AWS::S3Files::AccessPoint Properties: FileSystemId: !Ref MyS3FilesFileSystem PosixUser: Uid: '1000' Gid: '1000' RootDirectory: Path: /lambda CreationInfo: OwnerUid: '1000' OwnerGid: '1000' Permissions: '750' # Lambda function with S3 Files mount MyFunction: Type: AWS::Serverless::Function DependsOn: MyS3FilesMountTarget Properties: Handler: index.handler Runtime: python3.12 Timeout: 120 VpcConfig: SecurityGroupIds: - !Ref MySecurityGroup SubnetIds: - !Ref MySubnet FileSystemConfigs: - Arn: !GetAtt MyS3FilesAccessPoint.AccessPointArn LocalMountPath: /mnt/s3files Policies: - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3files:ClientMount - s3files:ClientWrite Resource: !GetAtt MyS3FilesAccessPoint.AccessPointArn InlineCode: | import os def handler(event, context): # Write a file to the S3 Files mount with open('/mnt/s3files/hello.txt', 'w') as f: f.write('Hello from Lambda!') # List files at the mount path files = os.listdir('/mnt/s3files') return {'files': files}