Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS::Serverless::StateMachine
Crea una macchina a AWS Step Functions stati, che puoi utilizzare per orchestrare AWS Lambda funzioni e altre AWS risorse per formare flussi di lavoro complessi e robusti.
Per ulteriori informazioni su Step Functions, consulta la AWS Step Functions Guida per sviluppatori di .
Nota
Quando lo distribuisci su AWS CloudFormation, AWS SAM trasforma le tue risorse in risorse. AWS SAM AWS CloudFormation Per ulteriori informazioni, consulta AWS CloudFormation Risorse generate per AWS SAM.
Sintassi
Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.
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
Proprietà
-
AutoPublishAlias
-
Il nome dell'alias della macchina a stati. Per ulteriori informazioni sull'utilizzo degli alias delle macchine a stati Step Functions, consulta Gestire le distribuzioni continue con versioni e alias nella Developer Guide.AWS Step Functions
Utilizzalo
DeploymentPreference
per configurare le preferenze di distribuzione per il tuo alias. Se non lo specifichiDeploymentPreference
, AWS SAM configurerà il traffico in modo che passi alla versione più recente della macchina a stati contemporaneamente.AWS SAM imposta la versione
DeletionPolicy
e la versioneUpdateReplacePolicy
diRetain
default. Le versioni precedenti non verranno eliminate automaticamente.Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Name
proprietà di unaAWS::StepFunctions::StateMachineAlias
risorsa. -
UseAliasAsEventTarget
-
Indica se passare o meno l'alias, creato utilizzando la
AutoPublishAlias
proprietà, alla destinazione dell'origine degli eventi definita con Events.True
Specificare di utilizzare l'alias come destinazione degli eventi.Tipo: Booleano
Required: No
Default:
False
AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
Definition
-
La definizione della macchina a stati è un oggetto, in cui il formato dell'oggetto corrisponde al formato del file AWS SAM modello, ad esempio JSON oYAML. Le definizioni delle macchine a stati aderiscono ad Amazon States Language.
Per un esempio di definizione di macchina a stati in linea, vedereEsempi.
È necessario fornire un
Definition
o unDefinitionUri
.Tipo: Mappa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
DefinitionSubstitutions
-
Una string-to-string mappa che specifica le mappature per le variabili segnaposto nella definizione della macchina a stati. Ciò consente di inserire i valori ottenuti in fase di esecuzione (ad esempio, da funzioni intrinseche) nella definizione della macchina a stati.
Tipo: Mappa
Required: No
AWS CloudFormation compatibilità: questa proprietà è simile alla
DefinitionSubstitutions
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. Se vengono specificate funzioni intrinseche in una definizione di macchina a stati in linea, AWS SAM aggiunge voci a questa proprietà per inserirle nella definizione della macchina a stati. -
DefinitionUri
-
Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon URI S3) o il percorso del file locale della definizione della macchina a stati scritta in Amazon States Language.
Se fornisci un percorso di file locale, il modello deve passare attraverso il flusso di lavoro che include il
sam package
comandosam deploy
o per trasformare correttamente la definizione. A tale scopo, è necessario utilizzare la versione 0.52.0 o successiva di. AWS SAM CLIÈ necessario fornire un
Definition
o un.DefinitionUri
Tipo: String | S3Location
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
DefinitionS3Location
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. -
DeploymentPreference
-
Le impostazioni che abilitano e configurano l'implementazione graduale di macchine a stati. Per ulteriori informazioni sulle distribuzioni graduali di Step Functions, consulta Manage continuous deployments with versions and alias nella Developer Guide.AWS Step Functions
Specificare prima di configurare questa proprietà.
AutoPublishAlias
DeploymentPreference
Le impostazioni verranno applicate all'alias specificato con.AutoPublishAlias
Quando si specifica
DeploymentPreference
, AWS SAM genera automaticamente il valore dellaStateMachineVersionArn
sottoproprietà.Tipo: DeploymentPreference
Required: No
AWS CloudFormation compatibilità: AWS SAM genera e attribuisce il valore della
StateMachineVersionArn
proprietàDeploymentPreference
e lo passaDeploymentPreference
allaDeploymentPreference
proprietà di unaAWS::StepFunctions::StateMachineAlias
risorsa. -
Events
-
Speciifica gli eventi che attivano questa macchina a stati. Gli eventi sono costituiti da un tipo e da un insieme di proprietà che dipendono dal tipo.
Tipo: EventSource
Required: No
AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
Logging
-
Definisce quali eventi della cronologia di esecuzione vengono registrati e dove vengono registrati.
Tipo: LoggingConfiguration
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
LoggingConfiguration
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. -
Name
-
Il nome della macchina a stati.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StateMachineName
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. -
PermissionsBoundary
-
Il limite ARN di autorizzazioni da utilizzare per il ruolo di esecuzione di questa macchina a stati. Questa proprietà funziona solo se il ruolo viene generato automaticamente.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
PermissionsBoundary
proprietà di unaAWS::IAM::Role
risorsa. -
Policies
-
Politiche di autorizzazione per questa macchina a stati. Le politiche verranno aggiunte al ruolo di esecuzione predefinito AWS Identity and Access Management (IAM) della macchina a stati.
Questa proprietà accetta un singolo valore o un elenco di valori. I valori autorizzati includono:
-
ARNDi una politica AWS gestita o di una politica gestita dal cliente.
-
Il nome di una politica AWS gestita dall'elenco
seguente. -
Una IAMpolitica in linea formattata YAML come mappa.
Nota
Se si imposta la
Role
proprietà, questa proprietà viene ignorata.Tipo: Stringa | Elenco | Mappa
Required: No
AWS CloudFormation compatibilità: Questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
Indica se passare o meno i tag dalla
Tags
proprietà alle risorse AWS::Serverless::StateMachine generate.True
Specificate di propagare i tag nelle risorse generate.Tipo: Booleano
Required: No
Default:
False
AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
Role
-
ARNDi un IAM ruolo da utilizzare come ruolo di esecuzione di questa macchina a stati.
Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
RoleArn
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. -
RolePath
-
Il percorso del ruolo di IAM esecuzione della macchina a stati.
Utilizzate questa proprietà quando il ruolo viene generato automaticamente. Non utilizzare quando il ruolo è specificato con la
Role
proprietà.Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Path
proprietà di unaAWS::IAM::Role
risorsa. -
Una string-to-string mappa che specifica i tag aggiunti alla macchina a stati e il ruolo di esecuzione corrispondente. Per informazioni sulle chiavi e i valori validi per i tag, vedete la proprietà Tags di una AWS::StepFunctions::StateMachinerisorsa.
Tipo: Mappa
Required: No
AWS CloudFormation compatibilità: questa proprietà è simile alla
Tags
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. AWS SAM aggiunge automaticamente unstateMachine:createdBy:SAM
tag a questa risorsa e al ruolo predefinito generato per essa. -
Tracing
-
Seleziona se AWS X-Ray è abilitato o meno per la macchina a stati. Per ulteriori informazioni sull'utilizzo di X-Ray con Step Functions, vedere AWS X-Ray Step Functions nella AWS Step Functions Developer Guide.
Tipo: TracingConfiguration
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
TracingConfiguration
proprietà di unaAWS::StepFunctions::StateMachine
risorsa. -
Type
-
Il tipo di macchina a stati.
Valori validi:
STANDARD
oEXPRESS
Tipo: Stringa
Required: No
Default:
STANDARD
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StateMachineType
proprietà di unaAWS::StepFunctions::StateMachine
risorsa.
Valori restituiti
Ref
Quando fornisci l'ID logico di questa risorsa alla funzione intrinseca Ref, Ref restituisce l'Amazon Resource Name (ARN) della risorsa sottostanteAWS::StepFunctions::StateMachine
.
Per ulteriori informazioni sull'uso della Ref
funzione, consulta Ref
la Guida per l'AWS CloudFormation utente.
Fn: GetAtt
Fn::GetAtt
restituisce un valore per un attributo specificato di questo tipo. Di seguito sono riportati gli attributi disponibili e i valori restituiti di esempio.
Per ulteriori informazioni sull'utilizzoFn::GetAtt
, consulta Fn::GetAtt
la Guida per l'AWS CloudFormation utente.
Name
-
Restituisce il nome della macchina a stati, ad esempio
HelloWorld-StateMachine
.
Esempi
File di definizione della macchina a stati
Di seguito è riportato un esempio di definizione di macchina a stati in linea che consente a una funzione lambda di richiamare una macchina a stati. Si noti che questo esempio prevede che la Role
proprietà configuri una politica appropriata per consentire l'invocazione. Il my_state_machine.asl.json
file deve essere scritto in Amazon States Language.
In questo esempio, le DefinitionSubstitution
voci consentono alla macchina a stati di includere risorse dichiarate nel file AWS SAM modello.
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
Definizione di macchina a stati in linea
Di seguito è riportato un esempio di definizione di macchina a stati in linea.
In questo esempio, il file AWS SAM modello è scrittoYAML, quindi è inclusa anche la definizione della macchina a YAML stati. Per dichiarare la definizione di una macchina a stati in linea inJSON, scrivi il file AWS SAM modello 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