Aktualisierung - AWS CloudFormation

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.

Aktualisierung

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 unterBenutzerdefinierte 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 Vorlagenentwickler gewählte Ressourcentyp der benutzerdefinierten Ressource in der Vorlage. CloudFormation 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öschanfrage an die alte Ressource. Weitere Informationen finden Sie unter AWS::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öschanfrage an die alte Ressource. Weitere Informationen finden Sie unter AWS::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 im Metadata Abschnitt der Vorlage gespeichert sind. AWS CloudFormation transformiert, modifiziert oder redigiert keine Informationen, die Sie in den Abschnitt aufnehmen. Metadata Der Standardwert ist false.

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öschanfrage an die alte Ressource. Weitere Informationen finden Sie unter AWS::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" }