Monitoraggio dei rapporti sullo stato e sul completamento dei processi - Amazon Simple Storage Service

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à.

Monitoraggio dei rapporti sullo stato e sul completamento dei processi

Con le operazioni in batch S3 è possibile visualizzare e aggiornare lo stato del processo, aggiungere notifiche e registrazione, tenere traccia degli errori di processo e generare report di completamento.

Stati del processo

Una volta creato e avviato, un processo passa attraverso una serie di stati. Nella tabella seguente vengono descritti gli stati e le possibili transizioni tra di essi.

Stato Descrizione Transizioni
New Quando viene creato, un processo è nello stato New. Un processo passa automaticamente allo stato Preparing quando Amazon S3 inizia a elaborare l'oggetto manifest.
Preparing Amazon S3 sta elaborando l'oggetto manifest e altri parametri allo scopo di configurare ed eseguire il processo. Un processo passa automaticamente allo stato Ready quando Amazon S3 termina l'elaborazione del manifest e di altri parametri. Il processo è quindi pronto per iniziare a eseguire l'operazione specificata sugli oggetti elencati nel manifesto.

Se il processo richiede una conferma prima dell'esecuzione, ad esempio quando si crea un processo mediante la console Amazon S3, il processo passa dallo stato Preparing allo stato Suspended. Rimane nello stato Suspended finché non confermi di eseguirlo.

Suspended Il processo richiede una conferma, ma l'utente non ha ancora confermato di volerlo eseguire. La conferma viene richiesta solo per i processi creati mediante la console Amazon S3. Un processo creato con la console entra nello stato Suspended subito dopo Preparing. Dopo aver confermato l'esecuzione del processo e quando il processo passa allo stato Ready, non torna mai allo stato Suspended. Una volta confermata l'esecuzione del processo, lo stato cambia in Ready.
Ready Amazon S3 è pronto per iniziare l'esecuzione delle operazioni richieste sugli oggetti. Un processo passa automaticamente allo stato Active quando Amazon S3 inizia a eseguirlo. La quantità di tempo durante il quale un processo rimane nello stato Ready dipende dalla presenza o meno di processi con priorità più alta già in esecuzione e dal tempo necessario per completare questi processi.
Active Amazon S3 sta eseguendo un'operazione richiesta sugli oggetti elencati nel manifest. Mentre un lavoro è in corsoActive, puoi monitorarne l'avanzamento utilizzando la console Amazon S3 o il DescribeJob funzionamento tramite l'API REST AWS CLI, oppure. AWS SDKs Un processo esce dallo stato Active quando non esegue più operazioni sugli oggetti. Questo comportamento può avvenire automaticamente, ad esempio quando un processo viene completato con successo o fallisce. Questo comportamento può anche verificarsi in seguito ad azioni dell'utente, come l'annullamento di un processo. Lo stato successivo del processo dipende dal motivo della transizione.
Pausing Il processo sta passando allo stato Paused da un altro stato. Un processo passa automaticamente allo stato Paused al termine della fase Pausing.
Paused Un processo può passare allo stato Paused se si invia un altro processo con priorità più alta mentre il processo corrente è in esecuzione. Un processo Paused torna automaticamente allo stato Active quando i processi con priorità più alta che ne stanno bloccando l'esecuzione vengono completati, sospesi o hanno esito negativo.
Complete Il processo ha terminato l'esecuzione dell'operazione richiesta su tutti gli oggetti elencati nel manifest. Per ogni oggetto, l'operazione potrebbe aver avuto esito positivo o negativo. Se il processo è stato configurato in modo da generare un rapporto di completamento, tale rapporto sarà disponibile non appena il processo sarà passato allo stato Complete. Complete è uno stato terminale. Una volta che un processo raggiunge Complete, non passa a nessun altro stato.
Cancelling Il processo sta passando allo stato Cancelled. Un processo passa automaticamente allo stato Cancelled al termine della fase Cancelling.
Cancelled L'utente ha richiesto l'annullamento del processo e Operazioni in batch S3 ha annullato il processo con successo. Il processo non invierà nuove richieste ad Amazon S3. Cancelled è uno stato terminale. Dopo che un processo ha raggiunto Cancelled, il processo non passerà a nessun altro stato.
Failing Il processo sta passando allo stato Failed. Un processo passa automaticamente allo stato Failed al termine della fase Failing.
Failed Il processo ha avuto esito negativo e non è più in esecuzione. Per ulteriori informazioni sugli errori dei processi, consulta Tracciamento dei fallimenti dei processi. Failed è uno stato terminale. Dopo che un processo ha raggiunto Failed, non passerà a nessun altro stato.

Aggiornamento dello stato del processo

Di seguito sono AWS CLI AWS SDK per Java riportati alcuni esempi che aggiornano lo stato di un processo Batch Operations. Per ulteriori informazioni sull'utilizzo della console Amazon S3 per gestire i processi di Operazioni in batch, consulta Utilizzo della console Amazon S3 per gestire i processi S3 Batch Operations.

Per utilizzare i seguenti comandi di esempio, sostituisci user input placeholders con le tue informazioni.

  • Se non si è specificato il parametro --no-confirmation-required nel comando create-job, il processo rimane in uno stato di sospensione finché non si conferma il processo impostando lo stato su Ready. Amazon S3 rende quindi il processo idoneo per l'esecuzione.

    aws s3control update-job-status \ --region us-west-2 \ --account-id 123456789012 \ --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \ --requested-job-status 'Ready'
  • Annullare il processo impostandone lo stato su Cancelled.

    aws s3control update-job-status \ --region us-west-2 \ --account-id 123456789012 \ --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \ --status-update-reason "No longer needed" \ --requested-job-status Cancelled

L'esempio seguente aggiorna lo stato di un processo Operazioni in batch S3 tramite AWS SDK per Java.

Per ulteriori informazioni sullo stato dei processi, consulta Monitoraggio dei rapporti sullo stato e sul completamento dei processi.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3control.AWSS3Control; import com.amazonaws.services.s3control.AWSS3ControlClient; import com.amazonaws.services.s3control.model.UpdateJobStatusRequest; import static com.amazonaws.regions.Regions.US_WEST_2; public class UpdateJobStatus { public static void main(String[] args) { String accountId = "Account ID"; String jobId = "00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c"; try { AWSS3Control s3ControlClient = AWSS3ControlClient.builder() .withCredentials(new ProfileCredentialsProvider()) .withRegion(US_WEST_2) .build(); s3ControlClient.updateJobStatus(new UpdateJobStatusRequest() .withAccountId(accountId) .withJobId(jobId) .withRequestedJobStatus("Ready")); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }

Notifiche e registrazione

Oltre a richiedere i report di completamento, è possibile acquisire, rivedere e verificare l'attività di Operazioni in batch tramite AWS CloudTrail. Poiché Operazioni in batch utilizza le operazioni dell'API Amazon S3 esistenti per eseguire le attività, queste ultime emettono gli stessi eventi che emetterebbero se fossero chiamate direttamente. Pertanto, è possibile monitorare e registrare l'avanzamento del processo e di tutte le sue attività utilizzando gli stessi strumenti e processi di notifica, registrazione e auditing già utilizzati con Amazon S3. Per ulteriori informazioni, consulta gli esempi nelle sezioni seguenti.

Nota

Batch Operations genera eventi di gestione e dati CloudTrail durante l'esecuzione del job. Il volume di questi eventi varia in base al numero di chiavi presenti nel manifesto di ogni processo. Per ulteriori informazioni, consulta la pagina CloudTrail dei prezzi, che include esempi di come i prezzi cambiano a seconda del numero di percorsi configurati nel tuo account. Per informazioni su come configurare e registrare gli eventi in base alle tue esigenze, consulta Creazione del primo trail nella Guida per l'utente di AWS CloudTrail .

Per ulteriori informazioni sugli eventi Amazon S3, consulta Notifiche di eventi Amazon S3.

Tracciamento dei fallimenti dei processi

Se si verifica un problema con un processo di operazioni in batch Amazon S3 che ne impedisce l'esecuzione, ad esempio non riesce a leggere il manifest specificato, il processo non riesce. Quando un processo non riesce, genera uno o più codici o motivi di errore. Operazioni in batch S3 memorizza i codici di errore e i motivi con il processo, in modo da poterli visualizzare richiedendo i dettagli del processo. Se è stato richiesto un rapporto di completamento per il processo, deve contenere anche i codici e i motivi di errore.

Per impedire che i processi eseguano un numero elevato di operazioni non riuscite, Amazon S3 impone una soglia di errore attività su ogni processo di operazioni in batch S3. Quando un processo ha eseguito almeno 1.000 task, Amazon S3 monitora il tasso di fallimento dei task. Se, in qualsiasi momento, la percentuale di errore (il numero di attività non andate a buon fine espresso come proporzione del numero totale di attività eseguite) supera il 50%, il lavoro non riesce. Se il processo non riesce perché ha superato la soglia di errore attività, è possibile identificare la causa degli errori. È ad esempio possibile che nel manifest siano stati involontariamente inclusi alcuni oggetti che non esistono nel bucket specificato. Dopo aver risolto gli errori, è possibile inviare nuovamente il processo.

Nota

Operazioni in batch S3 opera in modo asincrono e i task non vengono necessariamente eseguiti nell'ordine in cui gli oggetti sono elencati nel manifesto. Pertanto non puoi utilizzare l'ordinamento del manifest per determinare quali attività degli oggetti sono riuscite e quali no. Puoi invece esaminare il rapporto di completamento del lavoro (se ne hai richiesto uno) o visualizzare i registri degli AWS CloudTrail eventi per determinare l'origine degli errori.

Rapporti di completamento

Quando crei un processo, puoi richiedere un rapporto di completamento. Finché Operazioni in batch S3 invoca con successo almeno un'attività, Amazon S3 genera un report di completamento dopo che il processo ha terminato l'esecuzione delle attività, è fallito o è stato annullato. Puoi configurare il rapporto di completamento per includere tutte le attività o solo quelle non riuscite.

Il report di completamento include la configurazione del processo, lo stato e le informazioni per ogni attività, tra cui la chiave dell'oggetto e la versione, lo stato, i codici di errore e le descrizioni di eventuali errori. I report di completamento offrono un modo semplice per visualizzare i risultati delle attività in un formato consolidato, senza ulteriori operazioni di configurazione. I report di completamento vengono crittografati utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Per un esempio di report di completamento, consulta Esempi: report di completamento delle operazioni in batch S3.

Se non configuri un rapporto di completamento, puoi comunque monitorare e controllare il tuo lavoro e le relative attività utilizzando CloudTrail e Amazon CloudWatch. Per ulteriori informazioni, consulta i seguenti argomenti: