Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara mengatasi masalah dengan properti khusus tulis di sumber daya AWS::Lambda::Function
Topik ini menjelaskan cara mengatasi masalah dengan properti khusus tulis di AWS::Lambda::Functionsumber daya saat menggunakan generator IAc.
Isu
Sumber AWS::Lambda::Function
daya memiliki tiga set properti yang saling eksklusif untuk menentukan kode Lambda:
-
Code/S3Bucket
danCode/S3Key
properti, dan opsional propertiCode/S3ObjectVersion
-
Code/ImageUri
properti -
Code/ZipFile
properti
Hanya satu dari set ini yang dapat digunakan untuk AWS::Lambda::Function
sumber daya tertentu.
Generator IAc tidak dapat menentukan kumpulan properti khusus tulis eksklusif mana yang digunakan untuk membuat atau memperbarui sumber daya. Akibatnya, ini hanya mencakup set properti pertama dalam template yang dihasilkan. Code/ZipFile
Properti Code/ImageUri
dan dihilangkan.
Selain itu, generator IAc mengeluarkan peringatan berikut:
-
MUTUALLY_EXCLUSIVE_PROPERTIES
Memperingatkan bahwaCode/S3Bucket
danCode/S3Key
diidentifikasi sebagai properti yang saling eksklusif. -
UNSUPPORTED_PROPERTIES
Memperingatkan bahwaCode/S3ObjectVersion
properti tidak didukung.
Untuk menyertakan AWS::Lambda::Function
sumber daya dalam template yang dihasilkan, Anda harus mengunduh dan memperbarui template dengan properti kode yang benar.
Resolusi
Jika Anda menyimpan kode Lambda di bucket Amazon S3 dan tidak menggunakan S3ObjectVersion
properti, Anda dapat mengimpor template yang dihasilkan tanpa modifikasi apa pun. Generator IAc akan meminta Anda untuk bucket Amazon S3 dan kunci sebagai parameter template selama operasi impor.
Jika Anda menyimpan kode Lambda Anda sebagai ECR repositori Amazon, Anda dapat memperbarui template Anda menggunakan petunjuk berikut:
-
Unduh template yang dihasilkan.
-
Hapus properti dan parameter yang sesuai untuk
Code/S3Key
propertiCode/S3Bucket
dan dari template yang dihasilkan. -
Ganti properti yang dihapus dalam template yang dihasilkan dengan
Code/ImageUri
properti, tentukan URL untuk ECR repositori Amazon. -
Buka template yang dihasilkan di konsol generator IAC dan pilih tombol Impor templat yang diedit.
Jika Anda menyimpan kode Lambda Anda seperti dalam file zip, Anda dapat memperbarui template Anda menggunakan petunjuk berikut:
-
Unduh template yang dihasilkan.
-
Hapus properti dan parameter yang sesuai untuk
Code/S3Key
propertiCode/S3Bucket
dan dari template yang dihasilkan. -
Ganti properti yang dihapus dalam template yang dihasilkan dengan
Code/ZipFile
properti. -
Buka template yang dihasilkan di konsol generator IAC dan pilih tombol Impor templat yang diedit.
Jika Anda tidak memiliki salinan kode Lambda Anda, Anda dapat memperbarui template Anda menggunakan petunjuk berikut:
-
Gunakan AWS Lambda
GetFunction
APItindakan (misalnya, dengan menggunakanaws lambda get-function
AWS CLI perintah. -
Sebagai tanggapan,
RepositoryType
parameternya adalahS3
jika kode ada di bucket Amazon S3, atauECR
jika kode tersebut ada di repositori AmazonECR. -
Dalam tanggapan,
Location
parameter berisi pra-ditandatangani URL yang dapat Anda gunakan untuk mengunduh paket penerapan selama 10 menit. Unduh kodenya. -
Unggah kode ke bucket Amazon S3.
-
Jalankan operasi impor dengan templat yang dihasilkan dan berikan nama dan kunci bucket sebagai nilai parameter.