Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudFormation permintaan sumber daya kustom dan referensi respons
CloudFormation mengelola sumber daya kustom melalui protokol permintaan-respons yang berkomunikasi dengan penyedia sumber daya kustom Anda. Setiap permintaan menyertakan jenis permintaan (Create,Update, atauDelete) dan mengikuti alur kerja tingkat tinggi ini:
-
Pengembang template mendefinisikan sumber daya kustom dengan
ServiceTokendanServiceTimeoutdi template dan memulai operasi tumpukan. -
CloudFormation mengirimkan permintaan JSON ke penyedia sumber daya khusus melalui SNS atau Lambda.
-
Penyedia sumber daya kustom memproses permintaan dan mengembalikan respons JSON ke URL bucket Amazon S3 yang telah ditetapkan sebelumnya sebelum periode batas waktu berakhir.
-
CloudFormation membaca respons dan melanjutkan dengan operasi tumpukan. Jika tidak ada respons yang diterima sebelum periode batas waktu berakhir, permintaan dianggap tidak berhasil, dan operasi tumpukan gagal.
Untuk informasi selengkapnya, lihat Cara kerja sumber daya kustom.
Bagian ini menjelaskan struktur, parameter, dan respons yang diharapkan untuk setiap jenis permintaan.
catatan
Ukuran total badan respons tidak dapat melebihi 4096 byte.
Pengaturan templat
Saat mendefinisikan sumber daya kustom dalam templat, pengembang templat menggunakan AWS::CloudFormation::CustomResourceproperti berikut:
ServiceToken-
Topik Amazon SNS ARN atau Lambda berfungsi ARN dari Wilayah yang sama dengan tumpukan.
Wajib: Ya
Tipe: String
ServiceTimeout-
Waktu maksimum, dalam hitungan detik, sebelum waktu operasi sumber daya kustom habis. Itu harus nilai antara 1 dan 3600. Default: 3600 detik (1 jam).
Wajib: Tidak
Tipe: String
Properti sumber daya tambahan didukung. Properti sumber daya akan dimasukkan seperti ResourceProperties dalam permintaan. Penyedia sumber daya khusus harus menentukan properti mana yang valid dan nilainya yang dapat diterima.
Permintaan objek
Objek respons
Penyedia sumber daya kustom mengirimkan respons ke URL yang telah ditandatangani sebelumnya untuk semua jenis permintaan. Jika penyedia sumber daya kustom tidak mengirim respons, CloudFormation tunggu hingga waktu operasi habis.
Responsnya harus berupa objek JSON dengan bidang berikut:
Status-
Harus
SUCCESSatauFAILED.Wajib: Ya
Tipe: String
RequestId-
ID unik untuk permintaan tersebut. Salin nilai ini persis seperti yang muncul dalam permintaan.
Wajib: Ya
Tipe: String
StackId-
Nama Sumber Daya Amazon (ARN) yang mengidentifikasi tumpukan yang berisi sumber daya khusus. Salin nilai ini persis seperti yang muncul dalam permintaan.
Wajib: Ya
Tipe: String
LogicalResourceId-
Nama template yang dipilih pengembang (ID logis) dari sumber daya kustom dalam template. CloudFormation Salin nilai ini persis seperti yang muncul dalam permintaan.
Wajib: Ya
Tipe: String
PhysicalResourceId-
Nilai ini harus menjadi pengidentifikasi yang unik untuk vendor sumber daya khusus, dan dapat berukuran hingga 1 KB. Nilai harus berupa string yang tidak kosong dan harus identik untuk semua tanggapan untuk sumber daya yang sama.
Saat memperbarui sumber daya kustom, nilai yang dikembalikan untuk
PhysicalResourceIdmenentukan perilaku pembaruan. Jika nilainya tetap sama, CloudFormation anggap itu pembaruan normal. Jika nilai berubah, CloudFormation menafsirkan pembaruan sebagai pengganti dan mengirimkan permintaan hapus ke sumber daya lama. Untuk informasi selengkapnya, lihat AWS::CloudFormation::CustomResource.Wajib: Ya
Tipe: String
Reason-
Menjelaskan alasan respons kegagalan.
Diperlukan jika
StatusadalahFAILED. Sebaliknya, ini bersifat opsional.Wajib: Bersyarat
Tipe: String
NoEcho-
Menunjukkan apakah akan menutupi output dari sumber daya kustom saat diambil dengan menggunakan
Fn::GetAttfungsi. Jika disetel ketrue, semua nilai yang dikembalikan ditutupi dengan tanda bintang (*****), kecuali yang disimpan di bagianMetadatatemplate. CloudFormation tidak mengubah, memodifikasi, atau menyunting informasi apa pun yang Anda sertakan diMetadatabagian ini. Nilai default-nya adalahfalse.Untuk informasi selengkapnya tentang penggunaan
NoEchountuk menutupi informasi sensitif, lihat praktik Jangan menanamkan kredensial dalam templat Anda terbaik.Hanya tersedia untuk
CreatedanUpdatetanggapan. Tidak didukung untukDeletetanggapan.Wajib: Tidak
Jenis: Boolean
Data-
Pasangan nama-nilai yang ditentukan penyedia sumber daya khusus untuk dikirim dengan respons. Anda dapat mengakses nilai yang disediakan di sini dengan nama di template dengan
Fn::GetAtt.Hanya tersedia untuk
CreatedanUpdatetanggapan. Tidak didukung untukDeletetanggapan.penting
Jika pasangan nama-nilai berisi informasi sensitif, Anda harus menggunakan
NoEchobidang untuk menutupi output dari sumber daya kustom. Jika tidak, nilai terlihat melalui APIs nilai properti permukaan (sepertiDescribeStackEvents).Wajib: Tidak
Jenis: objek JSON
Contoh Respon Sukses
Createdan Update Respon
{
"Status": "SUCCESS",
"RequestId": "unique-request-id",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/name/id",
"LogicalResourceId": "resource-logical-id",
"PhysicalResourceId": "provider-defined-physical-id",
"NoEcho": true,
"Data": {
"key1": "value1",
"key2": "value2"
}
}
Delete Respons
{
"Status": "SUCCESS",
"RequestId": "unique-request-id",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/name/id",
"LogicalResourceId": "resource-logical-id",
"PhysicalResourceId": "provider-defined-physical-id"
}
Contoh Respon Gagal
{
"Status": "FAILED",
"RequestId": "unique-request-id",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/name/id",
"LogicalResourceId": "resource-logical-id",
"PhysicalResourceId": "provider-defined-physical-id",
"Reason": "Required failure reason string"
}