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à.
I flussi di lavoro standard registrano la cronologia di esecuzione in AWS Step Functions, sebbene sia possibile configurare facoltativamente la registrazione su Amazon Logs. CloudWatch
Analogamente ai flussi di lavoro standard, i flussi di lavoro Express non registrano la cronologia di esecuzione in AWS Step Functions. Per visualizzare la cronologia di esecuzione e i risultati di un Express Workflow, devi configurare la registrazione su Amazon CloudWatch Logs. I log di pubblicazione non bloccano o rallentano le esecuzioni.
Nota
Quando configuri la registrazione, verranno applicati i costi di CloudWatch Logs e ti verrà addebitata
Configurazione della registrazione
Quando si crea un flusso di lavoro standard utilizzando la console Step Functions, quella macchina a stati non sarà configurata per inviare log a CloudWatch Logs. Quando si crea un Express Workflow utilizzando la console Step Functions, quella macchina a stati sarà configurata per impostazione predefinita per inviare log a CloudWatch Logs.
Per i flussi di lavoro Express, Step Functions può creare un ruolo con la policy AWS Identity and Access Management (IAM) necessaria per CloudWatch Logs. Se crei un flusso di lavoro standard o un flusso di lavoro Express utilizzando l'API, la CLI o AWS CloudFormation Step Functions non abiliteranno la registrazione per impostazione predefinita e dovrai assicurarti che il tuo ruolo disponga delle autorizzazioni necessarie.
Per ogni esecuzione avviata dalla console, Step Functions fornisce un collegamento a CloudWatch Logs, configurato con il filtro corretto per recuperare gli eventi di registro specifici per quell'esecuzione.
Facoltativamente, puoi configurare le AWS KMS chiavi gestite dal cliente per crittografare i log. Vedi Crittografia dei dati inattivi per i dettagli e le impostazioni di autorizzazione.
Per configurare la registrazione, è possibile passare il LoggingConfigurationparametro quando si utilizza CreateStateMachineo UpdateStateMachine. È possibile analizzare ulteriormente i dati in CloudWatch Logs utilizzando CloudWatch Logs Insights. Per ulteriori informazioni, consulta Analisi dei dati di registro con CloudWatch Logs Insights.
CloudWatch Registra i payload
Gli eventi della cronologia di esecuzione possono contenere proprietà di input o output nelle loro definizioni. Se l'input con escape o l'output con escape inviato a CloudWatch Logs supera 248 KiB, verrà troncato come risultato delle quote di Logs. CloudWatch
-
È possibile determinare se un payload è stato troncato esaminando le proprietà and.
inputDetails
outputDetails
Per ulteriori informazioni, consulta la sezione Tipo di dati.HistoryEventExecutionDataDetails
-
Per i flussi di lavoro standard, puoi visualizzare la cronologia completa delle esecuzioni utilizzando
GetExecutionHistory
. -
GetExecutionHistory
non è disponibile per Express Workflows. Se vuoi vedere l'input e l'output completi, puoi usare Amazon S3 ARNs. Per ulteriori informazioni, consulta Utilizzo di Amazon S3 ARNs anziché trasferire payload di grandi dimensioni in Step Functions.
Politiche IAM per la registrazione nei log CloudWatch
Dovrai anche configurare il ruolo IAM di esecuzione della tua macchina a stati per avere l'autorizzazione appropriata per accedere ai CloudWatch registri, come mostrato nell'esempio seguente.
Esempio di policy IAM
Di seguito è riportata una policy di esempio che è possibile utilizzare per configurare le autorizzazioni. Come mostrato nell'esempio seguente, è necessario specificare* nel Resource
campo. CloudWatch Le azioni API, come CreateLogDelivery e DescribeLogGroups, non supportano i tipi di risorse definiti da Amazon CloudWatch Logs. Per ulteriori informazioni, vedere Azioni definite da Amazon CloudWatch Logs.
-
Per informazioni su CloudWatch risorse, vedi CloudWatch Logs risorse e operazioni nella Amazon CloudWatch User Guide.
-
Per informazioni sulle autorizzazioni necessarie per configurare l'invio di log a CloudWatch Logs, consulta Autorizzazioni utente nella sezione intitolata Logs sent to CloudWatch Logs.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogDelivery",
"logs:CreateLogStream",
"logs:GetLogDelivery",
"logs:UpdateLogDelivery",
"logs:DeleteLogDelivery",
"logs:ListLogDeliveries",
"logs:PutLogEvents",
"logs:PutResourcePolicy",
"logs:DescribeResourcePolicies",
"logs:DescribeLogGroups"
],
"Resource": "*"
}
]
}
Risoluzione dei problemi relativi alla registrazione della macchina a stati nei registri CloudWatch
Se la tua macchina a stati non è in grado di inviare log a CloudWatch Logs, prova i seguenti passaggi:
-
Verifica che il ruolo di esecuzione della tua macchina a stati sia autorizzato ad accedere ai CloudWatch registri.
Quando chiami i CreateStateMachinenostri endpoint UpdateStateMachineAPI, assicurati che il ruolo IAM specificato nel
roleArn
parametro fornisca le autorizzazioni necessarie, mostrate nel precedente esempio di policy IAM. -
Verifica che la politica delle risorse CloudWatch Logs non superi il limite di 5.120 caratteri.
Se la politica supera il limite di caratteri, inserisci come prefisso i nomi dei gruppi di log
/aws/vendedlogs/states
per concedere le autorizzazioni alle tue macchine a stati ed evitare il limite. Quando si crea un gruppo di log nella console Step Functions, i nomi dei gruppi di log suggeriti hanno già il prefisso./aws/vendedlogs/states
Per ulteriori informazioni sulle migliori pratiche di registrazione, consulta. CloudWatch Registra i limiti di dimensione delle politiche relative alle risorse
Livelli di registro per gli eventi di esecuzione di Step Functions
I livelli di registro vanno da ALL
ERROR
a FATAL
aOFF
. Tutti i tipi di eventi vengono registratiALL
, nessun tipo di evento viene registrato se impostato su. OFF
Per ERROR
e FATAL
, consulta la tabella seguente.
Per ulteriori informazioni sui dati di esecuzione visualizzati per le esecuzioni di Express Workflow basate su questi livelli di registro, vedere. Differenze di esperienza tra console Standard ed Express
Tipo di evento | ALL |
ERROR |
FATAL |
OFF |
---|---|---|---|---|
ChoiceStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
ChoiceStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionAborted |
Registrato | Registrato | Registrato | Non registrato |
ExecutionFailed |
Registrato | Registrato | Registrato | Non registrato |
ExecutionStarted |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionTimedOut |
Registrato | Registrato | Registrato | Non registrato |
FailStateEntered |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionScheduled | Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionScheduleFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionStarted |
Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionStartFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionTimedOut |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationStarted |
Registrato | Non registrato | Non registrato | Non registrato |
MapIterationSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
MapRunAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapRunFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapStateStarted |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
ParallelStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateFailed | Registrato | Registrato | Non registrato | Non registrato |
ParallelStateStarted |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
PassStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
PassStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
SucceedStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
SucceedStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
TaskFailed |
Registrato | Registrato | Non registrato | Non registrato |
TaskScheduled |
Registrato | Non registrato | Non registrato | Non registrato |
TaskStarted | Registrato | Non registrato | Non registrato | Non registrato |
TaskStartFailed |
Registrato | Registrato | Non registrato | Non registrato |
TaskStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
TaskStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
TaskStateExited | Registrato | Non registrato | Non registrato | Non registrato |
TaskSubmitFailed | Registrato | Registrato | Non registrato | Non registrato |
TaskSubmitted | Registrato | Non registrato | Non registrato | Non registrato |
TaskSucceeded | Registrato | Non registrato | Non registrato | Non registrato |
TaskTimedOut | Registrato | Registrato | Non registrato | Non registrato |
WaitStateAborted | Registrato | Registrato | Non registrato | Non registrato |
WaitStateEntered | Registrato | Non registrato | Non registrato | Non registrato |
WaitStateExited | Registrato | Non registrato | Non registrato | Non registrato |