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.
AWS::Serverless::StateMachine
Erstellt eine AWS Step Functions Zustandsmaschine, mit der Sie AWS Lambda Funktionen und andere AWS Ressourcen orchestrieren können, um komplexe und robuste Workflows zu bilden.
Weitere Informationen zu Step Functions finden Sie im AWS Step Functions Developer Guide.
Anmerkung
Bei der Bereitstellung werden AWS CloudFormation Ihre AWS SAM Ressourcen in Ressourcen umgewandelt AWS CloudFormation . AWS SAM Weitere Informationen finden Sie unter Generierte AWS CloudFormation Ressourcen für AWS SAM.
Syntax
Verwenden Sie die folgende Syntax, um diese Entität in Ihrer AWS Serverless Application Model (AWS SAM) -Vorlage zu deklarieren.
YAML
Type: AWS::Serverless::StateMachine Properties: AutoPublishAlias:
String
UseAliasAsEventTarget:Boolean
Definition:Map
DefinitionSubstitutions:Map
DefinitionUri:String | S3Location
DeploymentPreference:DeploymentPreference
Events:EventSource
Logging:LoggingConfiguration
Name:String
PermissionsBoundary:String
Policies:String | List | Map
PropagateTags:Boolean
RolePath:String
Role:String
Tags:Map
Tracing:TracingConfiguration
Type:String
Eigenschaften
-
AutoPublishAlias
-
Der Name des Alias für die Zustandsmaschine. Weitere Informationen zur Verwendung von Step Functions Functions-Zustandsmaschinenaliasen finden Sie unter Manage Continuous Deployments with versions and aliases im AWS Step Functions Developer Guide.
Wird verwendet
DeploymentPreference
, um die Bereitstellungseinstellungen für Ihren Alias zu konfigurieren. Wenn Sie nichts angebenDeploymentPreference
, AWS SAM wird der Datenverkehr so konfiguriert, dass er auf einmal zur neueren State-Machine-Version wechselt.AWS SAM legt
Retain
standardmäßig die VersionDeletionPolicy
undUpdateReplacePolicy
auf fest. Frühere Versionen werden nicht automatisch gelöscht.Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
Name
Eigenschaft einerAWS::StepFunctions::StateMachineAlias
Ressource übergeben. -
UseAliasAsEventTarget
-
Geben Sie
True
an, dass der Alias als Ziel der Ereignisse verwendet werden soll.Typ: Boolesch
Required: No
Standardwert:
False
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
Definition
-
Die State-Machine-Definition ist ein Objekt, bei dem das Format des Objekts dem Format Ihrer AWS SAM Vorlagendatei entspricht, z. B. JSON oderYAML. State Machine-Definitionen halten sich an die Amazon States Language.
Ein Beispiel für eine Inline-State-Machine-Definition finden Sie unterBeispiele.
Sie müssen entweder a
Definition
oder a angebenDefinitionUri
.Typ: Karte
Required: Conditional
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
DefinitionSubstitutions
-
Eine string-to-string Map, die die Zuordnungen für Platzhaltervariablen in der State-Machine-Definition spezifiziert. Auf diese Weise können Sie Werte, die Sie zur Laufzeit erhalten haben (z. B. aus systeminternen Funktionen), in die Zustandsmaschinen-Definition einfügen.
Typ: Karte
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
DefinitionSubstitutions
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource. Wenn in einer Inline-State-Machine-Definition irgendwelche systemeigenen Funktionen angegeben sind, AWS SAM fügt dieser Eigenschaft Einträge hinzu, um sie in die Zustandsmaschinen-Definition einzufügen. -
DefinitionUri
-
Der Amazon Simple Storage Service (Amazon S3) URI oder der lokale Dateipfad der Zustandsmaschinen-Definition, geschrieben in der Sprache Amazon States.
Wenn Sie einen lokalen Dateipfad angeben, muss die Vorlage den Workflow durchlaufen, der den
sam package
Befehlsam deploy
or enthält, um die Definition korrekt zu transformieren. Dazu müssen Sie Version 0.52.0 oder höher von verwenden. AWS SAM CLISie müssen entweder a
Definition
oder aDefinitionUri
angeben.Typ: Zeichenfolge | S3Location
Required: Conditional
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DefinitionS3Location
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben. -
DeploymentPreference
-
Die Einstellungen, die die schrittweise Bereitstellung von Zustandsmaschinen ermöglichen und konfigurieren. Weitere Informationen zu schrittweisen Bereitstellungen von Step Functions finden Sie unter Manage Continuous Deployments with versions and aliases im AWS Step Functions Developer Guide.
Geben Sie dies an,
AutoPublishAlias
bevor Sie diese Eigenschaft konfigurieren. IhreDeploymentPreference
Einstellungen werden auf den mit angegebenen Alias angewendetAutoPublishAlias
.Wenn Sie angeben
DeploymentPreference
, AWS SAM wird der Wert derStateMachineVersionArn
Untereigenschaft automatisch generiert.Typ: DeploymentPreference
Required: No
AWS CloudFormation Kompatibilität: AWS SAM generiert den
StateMachineVersionArn
Eigenschaftswert einer Ressource, hängt ihn anDeploymentPreference
und leitetDeploymentPreference
ihn an dieDeploymentPreference
Eigenschaft einerAWS::StepFunctions::StateMachineAlias
Ressource weiter. -
Events
-
Gibt die Ereignisse an, die diese Zustandsmaschine auslösen. Ereignisse bestehen aus einem Typ und einer Reihe von Eigenschaften, die vom Typ abhängen.
Typ: EventSource
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
Logging
-
Definiert, welche Ereignisse im Ausführungsverlauf protokolliert werden und wo sie protokolliert werden.
Typ: LoggingConfiguration
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
LoggingConfiguration
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben. -
Name
-
Der Name des Zustandsautomaten.
Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StateMachineName
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben. -
PermissionsBoundary
-
Die Grenze ARN der Berechtigungen, die für die Ausführungsrolle dieser Zustandsmaschine verwendet werden soll. Diese Eigenschaft funktioniert nur, wenn die Rolle für Sie generiert wurde.
Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PermissionsBoundary
Eigenschaft einerAWS::IAM::Role
Ressource übergeben. -
Policies
-
Berechtigungsrichtlinien für diesen Zustandsmaschine. Richtlinien werden an die standardmäßige Ausführungsrolle AWS Identity and Access Management (IAM) des Zustandsmaschinen angehängt.
Diese Eigenschaft akzeptiert einen einzelnen Wert oder eine Liste von Werten. Gültige Werte sind:
-
Die ARN einer AWS verwalteten Richtlinie oder einer vom Kunden verwalteten Richtlinie.
-
Der Name einer AWS verwalteten Richtlinie aus der folgenden Liste
. -
Eine IAMInline-Richtlinie, die YAML als Map formatiert ist.
Anmerkung
Wenn Sie die
Role
Eigenschaft festlegen, wird diese Eigenschaft ignoriert.Typ: Zeichenfolge | Liste | Karte
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
Geben Sie an, ob Tags von der
Tags
Eigenschaft an Ihre AWS::Serverless::StateMachine generierten Ressourcen weitergegeben werden sollen oder nicht. Geben SieTrue
an, dass Tags in Ihren generierten Ressourcen verbreitet werden sollen.Typ: Boolesch
Required: No
Standardwert:
False
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
Role
-
Die ARN IAM Rolle, die als Ausführungsrolle dieser Zustandsmaschine verwendet werden soll.
Typ: Zeichenfolge
Required: Conditional
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
RoleArn
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben. -
RolePath
-
Der Pfad zur IAM Ausführungsrolle der Zustandsmaschine.
Verwenden Sie diese Eigenschaft, wenn die Rolle für Sie generiert wird. Nicht verwenden, wenn die Rolle mit der
Role
Eigenschaft angegeben ist.Typ: Zeichenfolge
Required: Conditional
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
Path
Eigenschaft einerAWS::IAM::Role
Ressource übergeben. -
Eine string-to-string Map, die die zur Zustandsmaschine hinzugefügten Tags und die entsprechende Ausführungsrolle angibt. Informationen zu gültigen Schlüsseln und Werten für Tags finden Sie in der Tags-Eigenschaft einer AWS::StepFunctions::StateMachineRessource.
Typ: Karte
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
Tags
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource. AWS SAM fügt dieser Ressource und der dafür generierten Standardrolle automatisch einstateMachine:createdBy:SAM
Tag hinzu. -
Tracing
-
Wählt aus, ob sie für die Zustandsmaschine aktiviert AWS X-Ray ist oder nicht. Weitere Informationen zur Verwendung von X-Ray mit Step Functions finden Sie unter AWS X-Ray und Step Functions im AWS Step Functions Entwicklerhandbuch.
Typ: TracingConfiguration
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
TracingConfiguration
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben. -
Type
-
Der Typ der Zustandsmaschine.
Zulässige Werte:
STANDARD
oderEXPRESS
.Typ: Zeichenfolge
Required: No
Standardwert:
STANDARD
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StateMachineType
Eigenschaft einerAWS::StepFunctions::StateMachine
Ressource übergeben.
Rückgabewerte
Punkt
Wenn Sie die logische ID dieser Ressource für die intrinsische Funktion Ref angeben, gibt Ref den Amazon-Ressourcennamen (ARN) der zugrunde liegenden AWS::StepFunctions::StateMachine
Ressource zurück.
Weitere Informationen zur Verwendung der Ref
Funktion finden Sie Ref
im AWS CloudFormation Benutzerhandbuch.
Fn:: GetAtt
Fn::GetAtt
gibt einen Wert für ein angegebenes Attribut dieses Typs zurück. Im Folgenden sehen Sie die verfügbaren Attribute und Beispielrückgabewerte.
Weitere Informationen zur Verwendung Fn::GetAtt
finden Sie Fn::GetAtt
im AWS CloudFormation Benutzerhandbuch.
Name
-
Gibt den Namen der Zustandsmaschine zurück, z.
HelloWorld-StateMachine
B.
Beispiele
Definitionsdatei für Zustandsmaschinen
Im Folgenden finden Sie ein Beispiel für eine Inline-State-Machine-Definition, die es einer Lambda-Funktion ermöglicht, eine Zustandsmaschine aufzurufen. Beachten Sie, dass in diesem Beispiel davon ausgegangen wird, dass die Role
Eigenschaft die richtige Richtlinie konfiguriert, um den Aufruf zu ermöglichen. Die my_state_machine.asl.json
Datei muss in der Sprache der Amazonas-Staaten verfasst sein.
In diesem Beispiel ermöglichen die DefinitionSubstitution
Einträge der Zustandsmaschine, Ressourcen einzubeziehen, die in der AWS SAM Vorlagendatei deklariert sind.
YAML
MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionUri: statemachine/my_state_machine.asl.json Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true DefinitionSubstitutions: MyFunctionArn: !GetAtt MyFunction.Arn MyDDBTable: !Ref TransactionTable
Definition einer Inline-Zustandsmaschine
Im Folgenden finden Sie ein Beispiel für eine Inline-State-Machine-Definition.
In diesem Beispiel ist die AWS SAM Vorlagendatei eingeschriebenYAML, sodass auch die Zustandsmaschinen-Definition enthalten istYAML. Um eine Inline-State-Machine-Definition in zu deklarierenJSON, schreiben Sie Ihre AWS SAM Vorlagendatei inJSON.
YAML
MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: Definition: StartAt: MyLambdaState States: MyLambdaState: Type: Task Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app End: true Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true