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:StringUseAliasAsEventTarget:BooleanDefinition:MapDefinitionSubstitutions:MapDefinitionUri:String | S3LocationDeploymentPreference:DeploymentPreferenceEvents:EventSourceLogging:LoggingConfigurationName:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanRolePath:StringRole:StringTags:MapTracing:TracingConfigurationType: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
DeploymentPreferenceper 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
DeletionPolicye la versioneUpdateReplacePolicydiRetaindefault. Le versioni precedenti non verranno eliminate automaticamente.Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Nameproprietà di unaAWS::StepFunctions::StateMachineAliasrisorsa. -
UseAliasAsEventTarget -
Indica se passare o meno l'alias, creato utilizzando la
AutoPublishAliasproprietà, alla destinazione dell'origine degli eventi definita con Events.TrueSpecificare di utilizzare l'alias come destinazione degli eventi.Tipo: Booleano
Required: No
Default:
FalseAWS 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 o YAML. Le definizioni delle macchine a stati aderiscono ad Amazon States Language.
Per un esempio di definizione di macchina a stati in linea, vedere. Esempi
È necessario fornire un
Definitiono 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
DefinitionSubstitutionsproprietà di unaAWS::StepFunctions::StateMachinerisorsa. 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 -
L'URI di Amazon Simple Storage Service (Amazon 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 packagecomandosam deployo per trasformare correttamente la definizione. A tale scopo, è necessario utilizzare la versione 0.52.0 o successiva della CLI AWS SAM .È necessario fornire un o un
Definition.DefinitionUriTipo: String | S3Location
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
DefinitionS3Locationproprietà di unaAWS::StepFunctions::StateMachinerisorsa. -
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à.
AutoPublishAliasDeploymentPreferenceLe impostazioni verranno applicate all'alias specificato con.AutoPublishAliasQuando si specifica
DeploymentPreference, AWS SAM genera automaticamente il valore dellaStateMachineVersionArnsottoproprietà.Tipo: DeploymentPreference
Required: No
AWS CloudFormation compatibilità: AWS SAM genera e attribuisce il valore della
StateMachineVersionArnproprietàDeploymentPreferencee lo passaDeploymentPreferenceallaDeploymentPreferenceproprietà di unaAWS::StepFunctions::StateMachineAliasrisorsa. -
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
LoggingConfigurationproprietà di unaAWS::StepFunctions::StateMachinerisorsa. -
Name -
Il nome della macchina a stati.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StateMachineNameproprietà di unaAWS::StepFunctions::StateMachinerisorsa. -
PermissionsBoundary -
L'ARN di un limite 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
PermissionsBoundaryproprietà di unaAWS::IAM::Rolerisorsa. -
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:
-
Il ARN di una politica AWS gestita o di una politica gestita dal cliente.
-
Il nome di una politica AWS gestita dall'elenco
seguente. -
Una politica IAM in linea formattata in YAML come mappa.
Nota
Se si imposta la
Roleproprietà, 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
Tagsproprietà alle risorse AWS::Serverless::StateMachine generate.TrueSpecificate di propagare i tag nelle risorse generate.Tipo: Booleano
Required: No
Default:
FalseAWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.
-
Role -
L'ARN di un ruolo IAM da utilizzare come ruolo di esecuzione di questa macchina a stati.
Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
RoleArnproprietà di unaAWS::StepFunctions::StateMachinerisorsa. -
RolePath -
Il percorso del ruolo di esecuzione IAM della macchina a stati.
Usa questa proprietà quando il ruolo viene generato per te. Non utilizzare quando il ruolo è specificato con la
Roleproprietà.Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Pathproprietà di unaAWS::IAM::Rolerisorsa. -
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 un AWS::StepFunctions::StateMachinerisorsa.
Tipo: Mappa
Required: No
AWS CloudFormation compatibilità: questa proprietà è simile alla
Tagsproprietà di unaAWS::StepFunctions::StateMachinerisorsa. AWS SAM aggiunge automaticamente unstateMachine:createdBy:SAMtag 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
TracingConfigurationproprietà di unaAWS::StepFunctions::StateMachinerisorsa. -
Type -
Il tipo di macchina a stati.
Valori validi:
STANDARDoEXPRESSTipo: Stringa
Required: No
Default:
STANDARDAWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StateMachineTypeproprietà di unaAWS::StepFunctions::StateMachinerisorsa.
Valori restituiti
Ref
Quando fornisci l'ID logico di questa risorsa alla funzione intrinseca Ref, Ref restituisce l'Amazon Resource Name (ARN) della risorsa sottostante. AWS::StepFunctions::StateMachine
Per ulteriori informazioni sull'uso della Ref funzione, consulta Refla 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::GetAttla 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 è scritto in YAML, quindi anche la definizione della macchina a stati è in YAML. Per dichiarare una definizione di macchina a stati in linea in JSON, scrivi il file modello in JSON. AWS SAM
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