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.
Anfrage für CloudFormation benutzerdefinierte Ressourcen erstellen
Wenn der Vorlagenentwickler einen Stapel mit einer benutzerdefinierten Ressource erstellt, CloudFormation sendet er eine Anfrage mit der RequestType
Einstellung auf an den Anbieter benutzerdefinierter RessourcenCreate
. Diese Anfrage erfolgt speziell, wenn die benutzerdefinierte Ressource erstellt wird.
Eine Einführung in benutzerdefinierte Ressourcen und deren Funktionsweise finden Sie unterErstellen Sie eine benutzerdefinierte Bereitstellungslogik mit benutzerdefinierten Ressourcen.
Anforderung
Erstellenanforderungen enthalten die folgenden Felder:
RequestType
-
Create
. 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:
_@-
. 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.
ResourceProperties
-
Dieses Feld enthält den Inhalt des
Properties
-Objekts, das vom Vorlagen-Entwickler gesendet wurde. Sein Inhalt wird durch benutzerdefinierte Ressourcenanbieter definiert.
Beispiel
{
"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" }
}
}
Antworten
Herzlichen Glückwunsch
Wenn die Erstellungs-Anforderung erfolgreich ist, muss eine Antwort an den Amazon-S3-Bucket gesendet werden, die die folgenden Felder enthält:
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 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 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"
}
}
Fehlgeschlagen
Wenn die Erstellenanfrage fehlschlägt, muss eine Antwort an den S3-Bucket gesendet werden, die die folgenden Felder enthält:
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 unterAWS::CloudFormation::CustomResource
.
Beispiel
{
"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"
}