Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat permintaan untuk sumber daya CloudFormation khusus
Saat pengembang template membuat tumpukan yang berisi sumber daya khusus, CloudFormation kirimkan permintaan ke penyedia sumber daya khusus dengan RequestType
disetel keCreate
. Permintaan ini terjadi secara khusus ketika sumber daya khusus sedang dibuat.
Untuk pengenalan sumber daya khusus dan cara kerjanya, lihatBuat logika penyediaan khusus dengan sumber daya khusus.
Permintaan
Buat permintaan berisi bidang berikut:
RequestType
-
Create
. RequestId
-
ID unik untuk permintaan tersebut.
ResponseURL
-
URL respons mengidentifikasi bucket S3 yang telah ditetapkan sebelumnya yang menerima tanggapan dari penyedia sumber daya kustom ke. AWS CloudFormation
ResourceType
-
Jenis sumber daya yang dipilih developer templat dari sumber daya kustom di templat CloudFormation . Nama jenis sumber daya kustom dapat memiliki panjang hingga 60 karakter dan dapat mencakup alfanumerik dan karakter berikut:
_@-
. LogicalResourceId
-
Nama template yang dipilih pengembang (ID logis) dari sumber daya kustom dalam template. AWS CloudFormation
StackId
-
Nama Sumber Daya Amazon (ARN) yang mengidentifikasi tumpukan yang berisi sumber daya khusus.
ResourceProperties
-
Bidang ini berisi isi
Properties
objek yang dikirim oleh pengembang template. Isinya ditentukan oleh penyedia sumber daya khusus.
Contoh
{
"RequestType" : "Create",
"RequestId" : "unique id for this create request",
"ResponseURL" : "pre-signed-url-for-create-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
Respons
Berhasil
Jika permintaan buat berhasil, respons harus dikirim ke bucket Amazon S3 dengan bidang berikut:
Status
-
Harus berupa
SUCCESS
. RequestId
-
ID unik untuk permintaan tersebut. Nilai respons ini harus disalin kata demi kata dari permintaan.
LogicalResourceId
-
Nama template yang dipilih pengembang (ID logis) dari sumber daya kustom dalam template. AWS CloudFormation Nilai respons ini harus disalin kata demi kata dari permintaan.
StackId
-
Nama Sumber Daya Amazon (ARN) yang mengidentifikasi tumpukan yang berisi sumber daya khusus. Nilai respons ini harus disalin kata demi kata dari permintaan.
PhysicalResourceId
-
Nilai ini harus menjadi pengenal 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.
Nilai yang dikembalikan untuk
PhysicalResourceId
dapat mengubah operasi pembaruan sumber daya kustom. Jika nilai yang dikembalikan sama, itu dianggap sebagai pembaruan normal. Jika nilai yang dikembalikan berbeda, AWS CloudFormation mengenali pembaruan sebagai pengganti dan mengirimkan permintaan hapus ke sumber daya lama. Untuk informasi selengkapnya, lihatAWS::CloudFormation::CustomResource
. NoEcho
-
Tidak wajib. Menunjukkan apakah akan menutupi output dari sumber daya kustom saat diambil dengan menggunakan
Fn::GetAtt
fungsi. Jika disetel ketrue
, semua nilai yang dikembalikan ditutupi dengan tanda bintang (*****), kecuali yang disimpan di bagianMetadata
template. AWS CloudFormation tidak mengubah, memodifikasi, atau menyunting informasi apa pun yang Anda sertakan diMetadata
bagian ini. Nilai default-nya adalahfalse
.Untuk informasi selengkapnya tentang penggunaan
NoEcho
untuk menutupi informasi sensitif, lihat praktik Jangan menanamkan kredensial dalam templat Anda terbaik. Data
-
Tidak wajib. 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
.penting
Jika pasangan nama-nilai berisi informasi sensitif, Anda harus menggunakan
NoEcho
bidang untuk menutupi output dari sumber daya kustom. Jika tidak, nilai terlihat melalui APIs nilai properti permukaan (sepertiDescribeStackEvents
).
Contoh
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor",
"Data" : {
"keyThatCanBeUsedInGetAtt1" : "data for key 1",
"keyThatCanBeUsedInGetAtt2" : "data for key 2"
}
}
Failed
Ketika membuat permintaan gagal, respons harus dikirim ke bucket S3 dengan bidang berikut:
Status
-
Harus berupa
FAILED
. Reason
-
Menjelaskan alasan respons kegagalan.
RequestId
-
ID unik untuk permintaan tersebut. Nilai respons ini harus disalin kata demi kata dari permintaan.
LogicalResourceId
-
Nama template yang dipilih pengembang (ID logis) dari sumber daya kustom dalam template. AWS CloudFormation Nilai respons ini harus disalin kata demi kata dari permintaan.
StackId
-
Nama Sumber Daya Amazon (ARN) yang mengidentifikasi tumpukan yang berisi sumber daya khusus. Nilai respons ini harus disalin kata demi kata dari permintaan.
PhysicalResourceId
-
Nilai ini harus menjadi pengenal 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.
Nilai yang dikembalikan untuk
PhysicalResourceId
dapat mengubah operasi pembaruan sumber daya kustom. Jika nilai yang dikembalikan sama, itu dianggap sebagai pembaruan normal. Jika nilai yang dikembalikan berbeda, AWS CloudFormation mengenali pembaruan sebagai pengganti dan mengirimkan permintaan hapus ke sumber daya lama. Untuk informasi selengkapnya, lihatAWS::CloudFormation::CustomResource
.
Contoh
{
"Status" : "FAILED",
"Reason" : "Required failure reason string",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor"
}