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à.
Sviluppo di flussi di lavoro con Step Functions
Ti consigliamo di iniziare a creare flussi di lavoro nella console Step Functions e nell'editor visivo di Workflow Studio. Puoi iniziare da un'area di lavoro vuota o scegliere modelli iniziali per scenari comuni.
La creazione dei flussi di lavoro richiede le seguenti attività:
-
Definizione del flusso di lavoro
-
Esecuzione ed esecuzione del debug del flusso di lavoro
-
Implementazione del flusso di lavoro
Definisci una macchina a stati in Amazon States Language. Puoi creare manualmente le definizioni di Amazon States Language, ma Workflow Studio sarà presente nei tutorial. Con Workflow Studio, puoi definire la tua macchina, visualizzare e modificare i passaggi, eseguire ed eseguire il debug del flusso di lavoro e visualizzare i risultati direttamente dalla console Step Functions.
Puoi anche usare molte funzionalità Step Functions di AWS Command Line Interface (AWS CLI). Ad esempio, è possibile creare una macchina a stati ed elencare le macchine a stati esistenti. È possibile utilizzare i comandi Step Functions in AWS CLI per avviare e gestire le esecuzioni, eseguire sondaggi sulle attività, registrare i battiti cardiaci delle attività e altro ancora. Per un elenco completo dei comandi Step Functions, le descrizioni degli argomenti disponibili e gli esempi che ne mostrano l'utilizzo, consulta il AWS CLI Command Reference. AWS CLI Riferimento ai comandi
AWS CLI i comandi seguono da vicino l'Amazon States Language, quindi puoi usarli AWS CLI per conoscere le azioni Step API Functions. Puoi anche usare le tue API conoscenze esistenti per prototipare codice o eseguire azioni Step Functions dalla riga di comando.
Convalida delle definizioni delle macchine a stati
È possibile utilizzarlo API per convalidare le macchine a stati e individuare potenziali problemi prima di creare il flusso di lavoro.
Per ulteriori informazioni sulla convalida dei flussi di lavoro, consulta ValidateStateMachineDefinitionStep Functions API Reference.
Per iniziare con una configurazione minima, puoi seguire il tutorial Creating a Lambda State Machine, che mostra come definire un flusso di lavoro con un solo passaggio che richiama una funzione Lambda, quindi eseguire il flusso di lavoro e visualizzare i risultati.
Definizione del flusso di lavoro
Il primo passo per sviluppare il tuo flusso di lavoro è definire i passaggi in Amazon States Language. A seconda delle preferenze e dello strumento, puoi definire le tue macchine a stati Step Functions in JSON o come una definizione stringata di Amazon States Language ASL (). YAML
La tabella seguente mostra il supporto del formato ASL di definizione basato su uno strumento.
AWS Strumento | Formati supportati |
---|---|
Console Step Functions | JSON |
HTTPSServizio API | Stringificato ASL |
AWS CLI | Stringificato ASL |
Step Functions Local | Stringificato ASL |
AWS Toolkit for Visual Studio Code | JSON, YAML |
AWS SAM | JSON, YAML |
AWS CloudFormation | JSON, Stringato YAML ASL |
YAMLi commenti a riga singola nella definizione della macchina a stati di un modello non verranno riportati nella definizione della risorsa creata. Se è necessario rendere persistente un commento, è necessario utilizzare la Comment
proprietà all'interno della definizione della macchina a stati. Per informazioni, consultare Struttura della macchina a stati.
Con AWS CloudFormation e AWS SAM, puoi caricare le definizioni delle tue macchine a stati su Amazon S3 (JSONo in YAML formato) e fornire la posizione Amazon S3 della definizione nel modello. Per informazioni, consulta la pagina AWS:::StepFunctions: StateMachine S3Location.
I seguenti AWS CloudFormation modelli di esempio mostrano come è possibile fornire la stessa definizione di macchina a stati utilizzando formati di input diversi.
Sviluppa flussi di lavoro con AWS SDKs
Step Functions è supportato da AWS SDKs for Java,. NET, RubyPHP, Python (Boto 3) JavaScript, Go e C++. Questi SDKs forniscono un modo conveniente per utilizzare le azioni Step HTTPS API Functions in più linguaggi di programmazione. È possibile sviluppare macchine a stati, attività o avviatori di macchine a stati utilizzando le API azioni esposte da queste SDK librerie. Puoi anche accedere alle operazioni di visibilità utilizzando queste librerie per sviluppare i tuoi strumenti di monitoraggio e reporting Step Functions. Consulta la documentazione di riferimento per la versione attuale AWS SDKs e Tools for Amazon Web Services
Sviluppa flussi di lavoro tramite richieste HTTPS
Step Functions fornisce operazioni di servizio accessibili tramite HTTPS richieste. È possibile utilizzare queste operazioni per comunicare direttamente con Step Functions dalle proprie librerie. È possibile sviluppare macchine a stati, worker o avviatori di macchine a stati utilizzando le API azioni di servizio. È inoltre possibile accedere alle operazioni di visibilità tramite le API azioni per sviluppare strumenti di monitoraggio e reporting personalizzati. Per i dettagli, consulta il AWS Step Functions APIReference.
Sviluppa flussi di lavoro con AWS Step Functions Data Science SDK
I data scientist possono creare flussi di lavoro che elaborano e pubblicano modelli di machine learning utilizzando SageMaker AI e Step Functions. Puoi anche creare flussi di lavoro di machine learning in più fasi in Python che AWS orchestrano l'infrastruttura su larga scala. La AWS Step Functions Data Science SDK fornisce un Python API in grado di creare e richiamare flussi di lavoro Step Functions. Puoi gestire ed eseguire questi flussi di lavoro direttamente in Python e nei notebook Jupyter. Per ulteriori informazioni, consulta: AWS Step Functions Data Science Project su Github
Esecuzione ed esecuzione del debug dei flussi di lavoro
Puoi avviare i flussi di lavoro in diversi modi, tra cui dalla console, una API chiamata (ad esempio, da una funzione Lambda), da EventBridge Amazon EventBridge e Scheduler, da un'altra macchina a stati Step Functions. I flussi di lavoro in esecuzione possono connettersi a servizi di terze parti AWS SDKs, utilizzare e manipolare i dati durante l'esecuzione. Esistono vari strumenti per eseguire ed eseguire il debug delle fasi di esecuzione e dei dati che fluiscono attraverso la macchina a stati. Le sezioni seguenti forniscono risorse aggiuntive per l'esecuzione e il debug dei flussi di lavoro.
Per ulteriori informazioni sui modi per avviare le esecuzioni di macchine a stati, consulta. Avvio delle esecuzioni di macchine a stati in Step Functions
Scegli un endpoint per eseguire i tuoi flussi di lavoro
Per ridurre la latenza e archiviare i dati in una posizione che soddisfi i requisiti, Step Functions fornisce endpoint in diverse AWS regioni. Ogni endpoint in Step Functions è completamente indipendente. Una macchina a stati o attività esiste solo all'interno della regione in cui è stata creata. Le macchine a stati e le attività create in una regione non condividono dati o attributi con quelle create in un'altra regione. Ad esempio, è possibile registrare una macchina a stati denominata STATES-Flows-1
in due regioni diverse. La macchina a STATES-Flows-1
stati in una regione non condividerà dati o attributi con la macchina a STATES-Flow-1
stati dell'altra regione. Per un elenco degli endpoint di Step Functions, consulta AWS Step Functions Regions and Endpoints in. Riferimenti generali di AWS
Controlla il flusso di dati nei tuoi flussi di lavoro
Puoi utilizzare il simulatore di flusso di datiInputPath
, Parameters
ResultSelector
OutputPath
, e. ResultPath
Per informazioni, consultare Simulatore di flusso di dati (non supportato).
Versione di sviluppo locale di Step Functions
Per scopi di test e sviluppo, hai la possibilità di installare ed eseguire Step Functions sul tuo computer locale. La versione locale di Step Functions può richiamare AWS Lambda funzioni, sia in AWS esecuzione locale che durante l'esecuzione. È inoltre possibile coordinare altri AWS servizi supportati. Per ulteriori informazioni, consulta Test di macchine a stati con Step Functions Local (non supportato).
Sviluppo locale e remoto con VS Code
È inoltre possibile utilizzare VS Code per interagire con macchine a stati remoti e sviluppare macchine a stati localmente. È possibile creare o aggiornare macchine a stati, elencare le macchine a stati esistenti ed eseguire o scaricare una macchina a stati. VS Code consente inoltre di creare nuove macchine a stati da modelli, osservare una visualizzazione della macchina a stati e fornire frammenti, completamento e convalida del codice. Per ulteriori informazioni, consulta la Guida AWS Toolkit for Visual Studio Code per l'utente
Implementazione dei flussi di lavoro
Dopo aver definito ed eseguito il debug dei flussi di lavoro, probabilmente vorrai eseguire la distribuzione utilizzando i framework Infrastructure as Code. Puoi scegliere di distribuire le tue macchine a stati utilizzando una varietà di opzioni IaC, tra cui:, e Terraform. AWS Serverless Application Model AWS CloudFormation AWS CDK
- AWS Serverless Application Model
Puoi utilizzarlo AWS Serverless Application Model con Step Functions per creare flussi di lavoro e distribuire l'infrastruttura di cui hai bisogno, comprese le funzioni Lambda APIs e gli eventi, per creare applicazioni serverless. Puoi anche utilizzarlo insieme AWS SAM CLI a AWS Toolkit for Visual Studio Code come parte di un'esperienza integrata.
Per ulteriori informazioni, consulta Utilizzo AWS SAM per creare flussi di lavoro Step Functions.
- AWS CloudFormation
È possibile utilizzare le definizioni delle macchine a stati direttamente nei AWS CloudFormation modelli.
Per ulteriori informazioni, consulta Utilizzo AWS CloudFormation per creare un flusso di lavoro in Step Functions.
- AWS CDK
È possibile creare macchine a stati Standard ed Express con AWS CDK.
Per creare un flusso di lavoro standard, consultaUtilizzo CDK per creare un flusso di lavoro standard.
Per creare un flusso di lavoro Express, vediUtilizzo CDK per creare un flusso di lavoro Express.
- Terraform
Terraform
by HashiCorp è un framework per la creazione di applicazioni che utilizzano l'infrastruttura come codice (IaC). Con Terraform, puoi creare macchine a stati e utilizzare funzionalità, come l'anteprima delle implementazioni dell'infrastruttura e la creazione di modelli riutilizzabili. I modelli Terraform ti aiutano a mantenere e riutilizzare il codice suddividendolo in blocchi più piccoli. Per ulteriori informazioni, consulta Utilizzo di Terraform per distribuire macchine a stati in Step Functions.