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

Anforderungen mit dem RequestType Update werden an den Anbieter einer benutzerdefinierten Ressource gesendet, wenn Änderungen an den Eigenschaften der benutzerdefinierten Ressource in der Vorlage durchgeführt werden. Es müssen darum keine Änderungen vom benutzerdefinierte Ressourcencode ermittelt werden, weil die Update-Anforderung bereits erkennen lässt, dass sich Eigenschaften geändert haben.

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 benutzerdefinierten Ressourcenanbieter für AWS CloudFormation empfängt.

ResourceType

Der vom Developer der Vorlagen gewählte Ressourcentyp der benutzerdefinierten Ressource in der AWS 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 unter AWS::CloudFormation::CustomResource.

ResourceProperties

Die neuen Eigenschaftswerte der Ressource, die vom Vorlagenentwickler in der aktualisierten AWS CloudFormation Vorlage deklariert wurden.

OldResourceProperties

Gibt die bisherigen Ressourceneigenschafts-Werte an, die der Vorlagenentwickler zu einem früheren Zeitpunkt in der AWS CloudFormation -Vorlage deklariert hatte.

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-east-2:namespace:stack/stack-name/guid",
   "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, AWS 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 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 zum Maskieren vertraulicher Daten mit NoEcho enthält die bewährte Methode Keine Anmeldeinformationen in Ihre Vorlagen einbetten.

Daten

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 sichtbar, die Eigenschaftswerte (wie DescribeStackEvents) enthalten.

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-east-2:namespace:stack/stack-name/guid (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, AWS CloudFormation erwartet, dass der Status zusammen mit einer Fehlerursache in der Antwort festgelegt wird. FAILED

Status

Der Wert muss FAILED sein.

Grund

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 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-east-2:namespace:stack/stack-name/guid (copied from request)",
   "PhysicalResourceId" : "custom resource provider-defined physical id"
}