Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktualisierungsanfrage für CloudFormation benutzerdefinierte Ressourcen
Wenn der Vorlagenentwickler Änderungen an den Eigenschaften einer benutzerdefinierten Ressource innerhalb der Vorlage vornimmt und den Stapel aktualisiert, CloudFormation sendet er eine Anfrage an den Anbieter für benutzerdefinierte Ressourcen mit der RequestType
Einstellung aufUpdate
. Das bedeutet, dass Ihr benutzerdefinierter Ressourcencode keine Änderungen an Ressourcen erkennen muss, da er weiß, dass sich seine Eigenschaften geändert haben, wenn der Anforderungstyp Update
Eine Einführung in benutzerdefinierte Ressourcen und deren Funktionsweise finden Sie unterErstellen Sie eine benutzerdefinierte Bereitstellungslogik mit benutzerdefinierten Ressourcen.
Anforderung
Aktualisierungsanforderungen enthalten die folgenden Felder:
RequestType
-
Update
. RequestId
-
Eine eindeutige ID für die Anforderung.
ResponseURL
-
Die Antwort-URL identifiziert einen vorsignierten S3-Bucket, der Antworten vom Anbieter für benutzerdefinierte Ressourcen empfängt. AWS CloudFormation
ResourceType
-
Der vom Developer der Vorlagen gewählte Ressourcentyp der benutzerdefinierten Ressource in der CloudFormation -Vorlage. Namen für benutzerdefinierte Ressourcentypen dürfen bis zu 60 Zeichen lang sein und sowohl alphanumerische Zeichen als auch folgende Zeichen enthalten:
_@-
. Bei einer Aktualisierung kann der Typ nicht geändert werden. LogicalResourceId
-
Der vom Entwickler der Vorlagen gewählte Name (logische ID) der benutzerdefinierten Ressource in der AWS CloudFormation -Vorlage.
StackId
-
Der Amazon-Ressourcenname (ARN), der den Stack identifiziert, der die benutzerdefinierte Ressource enthält.
PhysicalResourceId
-
Eine erforderliche, vom custom resource provider definierte physische ID, die für diesen Anbieter eindeutig ist
Der für eine
PhysicalResourceId
zurückgegebene Wert kann benutzerdefinierte Vorgänge zur Ressourcenaktualisierung ändern. Wenn der zurückgegebene Wert derselbe ist, wird es als normale Aktualisierung betrachtet. Wenn der zurückgegebene Wert anders ist, AWS CloudFormation erkennt das Update als Ersatz und sendet eine Löschanforderung an die alte Ressource. Weitere Informationen finden Sie unterAWS::CloudFormation::CustomResource
. ResourceProperties
-
Die neuen Eigenschaftswerte der Ressource, die vom Vorlagenentwickler in der aktualisierten CloudFormation Vorlage deklariert wurden.
OldResourceProperties
-
Die Ressourceneigenschaftswerte, die zuvor vom Vorlagenentwickler in der CloudFormation Vorlage deklariert wurden.
Beispiel
{
"RequestType" : "Update",
"RequestId" : "unique id for this update request",
"ResponseURL" : "pre-signed-url-for-update-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",
"PhysicalResourceId" : "custom resource provider-defined physical id",
"ResourceProperties" : {
"key1" : "new-string",
"key2" : [ "new-list" ],
"key3" : { "key4" : "new-map" }
},
"OldResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
Antworten
Herzlichen Glückwunsch
Wenn der benutzerdefinierte Ressourcenanbieter die Ressource erfolgreich aktualisieren kann, CloudFormation erwartet er, dass der Status SUCCESS
in der Antwort auf gesetzt wird.
Status
-
Der Wert muss
SUCCESS
sein. RequestId
-
Eine eindeutige ID für die Anforderung. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
LogicalResourceId
-
Der vom Entwickler der Vorlagen gewählte Name (logische ID) der benutzerdefinierten Ressource in der AWS CloudFormation -Vorlage. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
StackId
-
Der Amazon-Ressourcenname (ARN), der den Stack identifiziert, der die benutzerdefinierte Ressource enthält. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
PhysicalResourceId
-
Dieser Wert sollte eine eindeutige Kennung für den Anbieter der benutzerdefinierten Ressource sein und kann bis zu 1 KB groß sein. Der Wert muss eine nicht leere Zeichenfolge sein und muss für alle Antworten für dieselbe Ressource identisch sein.
Der für eine
PhysicalResourceId
zurückgegebene Wert kann benutzerdefinierte Vorgänge zur Ressourcenaktualisierung ändern. Wenn der zurückgegebene Wert derselbe ist, wird es als normale Aktualisierung betrachtet. Wenn der zurückgegebene Wert anders ist, AWS CloudFormation erkennt das Update als Ersatz und sendet eine Löschanforderung an die alte Ressource. Weitere Informationen finden Sie unterAWS::CloudFormation::CustomResource
. NoEcho
-
Optional. Gibt an, ob die Ausgabe der benutzerdefinierten Ressource maskiert wird, wenn sie mithilfe der
Fn::GetAtt
-Funktion abgerufen wird. Wenn auf gesetzttrue
, werden alle zurückgegebenen Werte mit Sternchen (*****) maskiert, mit Ausnahme der Werte, die imMetadata
Abschnitt der Vorlage gespeichert sind. AWS CloudFormation transformiert, modifiziert oder redigiert keine Informationen, die Sie in den Abschnitt aufnehmen.Metadata
Der Standardwert istfalse
.Weitere Informationen zur Verwendung
NoEcho
zum Maskieren vertraulicher Informationen finden Sie in der Keine Anmeldeinformationen in Vorlagen einbetten bewährten Methode. Data
-
Optional. Die vom benutzerdefinierten Ressourcenanbieter definierten Namen-Wert-Paare, die mit der Antwort gesendet werden. Sie können auf die hier namentlich angegebenen Werte in der Vorlage mit
Fn::GetAtt
zugreifen.Wichtig
Wenn die Namen-Wert-Paare vertrauliche Informationen enthalten, sollten Sie das
NoEcho
-Feld benutzen, um die Ausgabe der benutzerdefinierten Ressource zu maskieren. Andernfalls sind die Werte durch APIs die Eigenschaftswerte dieser Oberfläche sichtbar (z. B.DescribeStackEvents
).
Beispiel
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this update 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" : "custom resource provider-defined physical id",
"Data" : {
"keyThatCanBeUsedInGetAtt1" : "data for key 1",
"keyThatCanBeUsedInGetAtt2" : "data for key 2"
}
}
Fehlgeschlagen
Wenn die Ressource nicht mit einem neuen Satz von Eigenschaften aktualisiert werden kann, wird CloudFormation erwartet, dass der Status auf gesetzt wirdFAILED
, zusammen mit einer Fehlerursache in der Antwort.
Status
-
Der Wert muss
FAILED
sein. Reason
-
Beschreibt den Grund für eine Reaktion auf einen Fehler.
RequestId
-
Eine eindeutige ID für die Anforderung. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
LogicalResourceId
-
Der vom Entwickler der Vorlagen gewählte Name (logische ID) der benutzerdefinierten Ressource in der AWS CloudFormation -Vorlage. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
StackId
-
Der Amazon-Ressourcenname (ARN), der den Stack identifiziert, der die benutzerdefinierte Ressource enthält. Dieser Rückgabewert sollte wörtlich auf Basis der Anforderung kopiert werden.
PhysicalResourceId
-
Dieser Wert sollte eine eindeutige Kennung für den Anbieter der benutzerdefinierten Ressource sein und kann bis zu 1 KB groß sein. Der Wert muss eine nicht leere Zeichenfolge sein und muss für alle Antworten für dieselbe Ressource identisch sein.
Der für eine
PhysicalResourceId
zurückgegebene Wert kann benutzerdefinierte Vorgänge zur Ressourcenaktualisierung ändern. Wenn der zurückgegebene Wert derselbe ist, wird es als normale Aktualisierung betrachtet. Wenn der zurückgegebene Wert anders ist, AWS CloudFormation erkennt das Update als Ersatz und sendet eine Löschanforderung an die alte Ressource. Weitere Informationen finden Sie unterAWS::CloudFormation::CustomResource
.
Beispiel
{
"Status" : "FAILED",
"Reason" : "Required failure reason string",
"RequestId" : "unique id for this update 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" : "custom resource provider-defined physical id"
}