建立 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立

當範本開發人員建立包含自訂資源的堆疊時, CloudFormation 會將要求傳送至RequestType設定為的自訂資源提供者Create。此要求特別是在建立自訂資源時發生。

如需自訂資源及其運作方式的簡介,請參閱自訂資源

請求

建立包含以下欄位的請求:

RequestType

Create.

RequestId

請求的唯一 ID。

ResponseURL

回應會URL識別從自訂資源提供者接收回應的預先簽署 S3 儲存貯體。 AWS CloudFormation

ResourceType

範本開發人員在範本中選擇的自訂資源類型。 CloudFormation 自訂資源類型名稱的長度上限為 60 個字元,且可包含英數字元及以下字元:_@-

LogicalResourceId

AWS CloudFormation 範本內由範本開發人員選擇之自訂資源的名稱 (邏輯 ID)。

StackId

用於識別包含自訂資源的堆疊的 Amazon 資源名稱 (ARN)。

ResourceProperties

此欄位包含由範本開發人員傳送的 Properties 物件內容。其內容由自訂資源提供者定義。

範例

{ "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" } } }

回應

Success (成功)

成功建立請求時,必須將回應傳送到具有下列欄位的 Amazon S3 儲存貯體:

Status

必須為 SUCCESS

RequestId

請求的唯一 ID。此回應值應從請求中逐字複製。

LogicalResourceId

AWS CloudFormation 範本內由範本開發人員選擇之自訂資源的名稱 (邏輯 ID)。此回應值應從請求中逐字複製。

StackId

用於識別包含自訂資源的堆疊的 Amazon 資源名稱 (ARN)。此回應值應從請求中逐字複製。

PhysicalResourceId

此值應為自訂資源廠商的唯一識別碼,且大小上限為 1 KB。此值必須是非空白字串,並且對於相同資源的所有回應必須完全相同。

傳回的 PhysicalResourceId 值可以變更自訂資源更新操作。如果傳回的值相同,則視為正常更新。如果傳回的值不同,請將更新 AWS CloudFormation 識別為取代項目,並將刪除要求傳送至舊資源。如需詳細資訊,請參閱AWS::CloudFormation::CustomResource

NoEcho

選用。指示使用 Fn::GetAtt 函數擷取自訂資源時是否要遮罩其輸出。如果設定為true,則所有傳回的值都會以星號 (*****) 遮罩,但儲存在範Metadata本區段中的值除外。 AWS CloudFormation 不會轉換、修改或密文Metadata章節中包含的任何資訊。預設值為 false

如需有關使用NoEcho遮罩敏感資訊的詳細資訊,請參閱最請勿在您的範本中內嵌憑證佳作法。

Data

選用。要與回應一起傳送的自訂資源提供者定義之名稱值對。您可以在模板中透過 Fn::GetAtt 依名稱存取此處提供的值。

重要

如果名稱值對包含敏感資訊,您應該使用 NoEcho 欄位來遮罩自訂資源的輸出。否則,可透過APIs該地形性質值 (例如DescribeStackEvents) 顯示這些值。

範例

{ "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" } }

失敗

當建立請求失敗時,必須將回應傳送到有下列欄位的 S3 儲存貯體:

Status

必須為 FAILED

Reason

描述失敗回應的原因。

RequestId

請求的唯一 ID。此回應值應從請求中逐字複製。

LogicalResourceId

AWS CloudFormation 範本內由範本開發人員選擇之自訂資源的名稱 (邏輯 ID)。此回應值應從請求中逐字複製。

StackId

用於識別包含自訂資源的堆疊的 Amazon 資源名稱 (ARN)。此回應值應從請求中逐字複製。

PhysicalResourceId

此值應為自訂資源廠商的唯一識別碼,且大小上限為 1 KB。此值必須是非空白字串,並且對於相同資源的所有回應必須完全相同。

傳回的 PhysicalResourceId 值可以變更自訂資源更新操作。如果傳回的值相同,則視為正常更新。如果傳回的值不同,請將更新 AWS CloudFormation 識別為取代項目,並將刪除要求傳送至舊資源。如需詳細資訊,請參閱AWS::CloudFormation::CustomResource

範例

{ "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" }