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 CloudFormation . AWS SAM Weitere Informationen finden Sie unter Generierte CloudFormation Ressourcen für AWS SAM.
Syntax
Verwenden Sie die folgende Syntax, um diese Entität in Ihrer Vorlage AWS Serverless Application Model (AWS SAM) zu deklarieren.
YAML
Type: AWS::Serverless::StateMachine Properties: AutoPublishAlias:StringUseAliasAsEventTarget:BooleanDefinition:MapDefinitionSubstitutions:MapDefinitionUri:String | S3LocationDeploymentPreference:DeploymentPreferenceEvents:EventSourceLogging:LoggingConfigurationName:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanRolePath:StringRole:StringTags:MapTracing:TracingConfigurationType:String
Eigenschaften
-
AutoPublishAlias -
Der Name des Alias für die Zustandsmaschine. Weitere Informationen zur Verwendung von Step Functions Functions-Zustandsmaschinen 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
Retainstandardmäßig die VersionDeletionPolicyundUpdateReplacePolicyauf fest. Frühere Versionen werden nicht automatisch gelöscht.Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
NameEigenschaft einerAWS::StepFunctions::StateMachineAliasRessource übergeben. -
UseAliasAsEventTarget -
Geben Sie
Truean, dass der Alias als Ziel der Ereignisse verwendet werden soll.Typ: Boolesch
Required: No
Standardwert:
FalseCloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein 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 oder YAML. 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
Definitionoder a angebenDefinitionUri.Typ: Karte
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig AWS SAM und hat kein 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
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
DefinitionSubstitutionsEigenschaft einerAWS::StepFunctions::StateMachineRessource. 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 -
Die 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 packageBefehlsam deployor enthält, um die Definition korrekt zu transformieren. Dazu müssen Sie Version 0.52.0 oder höher der AWS SAM CLI verwenden.Sie müssen entweder a
Definitionoder aDefinitionUriangeben.Typ: Zeichenfolge | S3Location
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DefinitionS3LocationEigenschaft einerAWS::StepFunctions::StateMachineRessource ü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,
AutoPublishAliasbevor Sie diese Eigenschaft konfigurieren. IhreDeploymentPreferenceEinstellungen werden auf den mit angegebenen Alias angewendetAutoPublishAlias.Wenn Sie angeben
DeploymentPreference, AWS SAM wird der Wert derStateMachineVersionArnUntereigenschaft automatisch generiert.Typ: DeploymentPreference
Required: No
CloudFormation Kompatibilität: AWS SAM generiert den
StateMachineVersionArnEigenschaftswert, hängt ihn anDeploymentPreferenceund leitet ihnDeploymentPreferencean dieDeploymentPreferenceEigenschaft einerAWS::StepFunctions::StateMachineAliasRessource 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
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
Logging -
Definiert, welche Ereignisse im Ausführungsverlauf protokolliert werden und wo sie protokolliert werden.
Typ: LoggingConfiguration
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
LoggingConfigurationEigenschaft einerAWS::StepFunctions::StateMachineRessource übergeben. -
Name -
Der Name des Zustandsautomaten.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StateMachineNameEigenschaft einerAWS::StepFunctions::StateMachineRessource übergeben. -
PermissionsBoundary -
Der ARN einer Berechtigungsgrenze, 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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PermissionsBoundaryEigenschaft einerAWS::IAM::RoleRessource ü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:
-
Das Tool ARN einer AWS verwalteten Richtlinie oder einer vom Kunden verwalteten Richtlinie.
-
Der Name einer AWS verwalteten Richtlinie aus der folgenden Liste
. -
Eine Inline-IAM-Richtlinie, formatiert in YAML als Karte.
Anmerkung
Wenn Sie die
RoleEigenschaft festlegen, wird diese Eigenschaft ignoriert.Typ: Zeichenfolge | Liste | Karte
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
Geben Sie an, ob Tags von der
TagsEigenschaft an Ihre AWS::Serverless::StateMachine generierten Ressourcen weitergegeben werden sollen oder nicht. Geben SieTruean, dass Tags in Ihren generierten Ressourcen verbreitet werden sollen.Typ: Boolesch
Required: No
Standardwert:
FalseCloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
Role -
Der ARN einer IAM-Rolle, die als Ausführungsrolle dieser Zustandsmaschine verwendet werden soll.
Typ: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
RoleArnEigenschaft einerAWS::StepFunctions::StateMachineRessource ü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
RoleEigenschaft angegeben ist.Typ: Zeichenfolge
Required: Conditional
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
PathEigenschaft einerAWS::IAM::RoleRessource ü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 eines AWS::StepFunctions::StateMachineRessource.
Typ: Karte
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ähnelt der
TagsEigenschaft einerAWS::StepFunctions::StateMachineRessource. AWS SAM fügt dieser Ressource und der dafür generierten Standardrolle automatisch einstateMachine:createdBy:SAMTag 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
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
TracingConfigurationEigenschaft einerAWS::StepFunctions::StateMachineRessource übergeben. -
Type -
Der Typ der Zustandsmaschine.
Zulässige Werte:
STANDARDoderEXPRESS.Typ: Zeichenfolge
Required: No
Standardwert:
STANDARDCloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StateMachineTypeEigenschaft einerAWS::StepFunctions::StateMachineRessource ü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 Refim 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::GetAttim AWS CloudFormation Benutzerhandbuch.
Name-
Gibt den Namen der Zustandsmaschine zurück, z.
HelloWorld-StateMachineB.
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
Das Folgende ist ein Beispiel für eine Inline-State-Machine-Definition.
In diesem Beispiel ist die AWS SAM Vorlagendatei in YAML geschrieben, sodass die State-Machine-Definition auch in YAML geschrieben ist. Um eine Inline-State-Machine-Definition in JSON zu deklarieren, schreiben Sie Ihre AWS SAM Vorlagendatei in JSON.
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