Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Suivi de l’état de la tâche et des rapports de fin de tâche
Grâce aux opérations par lot S3, vous pouvez afficher et mettre à jour l’état d’une tâche, ajouter des notifications et effectuer la journalisation, suivre les échecs de tâche et générer des rapports de fin de tâches.
Rubriques
Statuts de la tâche
Après la création et l’exécution d’une tâche, celle-ci passe par une série d’états. Le tableau suivant décrit les états et les transitions possibles entre eux.
État | Description | Transitions |
---|---|---|
New |
Une tâche commence à l’état New lorsque vous la créez. |
Une tâche passe automatiquement au statut Preparing quand Amazon S3 commence à traiter l’objet de manifeste. |
Preparing |
Amazon S3 traite l’objet manifeste et d’autres paramètres de tâche pour configurer et exécuter la tâche. | Une tâche passe automatiquement au statut Ready une fois qu’Amazon S3 a terminé de traiter l’objet de manifeste et les autres paramètres. La tâche peut ensuite exécuter l’opération spécifiée pour les objets répertoriés dans le manifeste.Si la tâche nécessite une confirmation avant l’exécution, ce qui est, par exemple, le cas lors de la création d’une tâche avec la console Amazon S3, celle-ci passe du statut |
Suspended |
La tâche nécessite que vous confirmiez son exécution. Seules les tâches créées avec la console Amazon S3 nécessitent une confirmation. Une tâche créée à l’aide de la console passe à l’état Suspended juste après Preparing . Une fois que vous confirmez que vous souhaitez exécuter la tâche et que la tâche passe à l’était Ready , elle ne revient jamais à l’état Suspended . |
Une fois que vous confirmez que vous souhaitez exécuter la tâche, son état devient Ready . |
Ready |
Amazon S3 peut commencer à exécuter les opérations demandées pour les objets. | Une tâche passe automatiquement au statut Active quand Amazon S3 commence à l’exécuter. La durée pendant laquelle une tâche reste dans l’état Ready dépend du niveau de priorité et de la durée des autres tâches qui sont déjà en cours d’exécution. |
Active |
Amazon S3 effectue l’opération demandée pour les objets répertoriés dans le manifeste. Pendant qu'une tâche est en coursActive , vous pouvez suivre sa progression à l'aide de la console Amazon S3 ou de l'DescribeJob opération via l'API REST AWS CLI, ou AWS SDKs. |
Une tâche quitte l’état Active lorsque plus aucune opération n’est exécutée sur les objets. Ce comportement peut se produire automatiquement, par exemple lorsqu’une tâche aboutit ou échoue. Ce comportement peut également être le résultat d’une action utilisateur, telle que l’annulation d’une tâche. L’état dans lequel passe la tâche dépend de la raison de la transition. |
Pausing |
La tâche passe d’un certain état à Paused . |
Une tâche passe automatiquement à l’état Paused quand l’étape Pausing est terminée. |
Paused |
Une tâche peut passer à l’état Paused si vous soumettez une autre tâche de priorité plus élevée alors que cette tâche est exécutée. |
Une tâche Paused retourne automatiquement à l’état Active lorsque les tâches de priorité plus élevée qui bloquent l’exécution de cette tâche se terminent, échouent ou sont suspendues. |
Complete |
La tâche a fini d’effectuer l’opération demandée sur tous les objets répertoriés dans le manifeste. L’opération peut avoir abouti ou échoué pour chaque objet. Si vous avez configuré la tâche de sorte à générer un rapport de fin de tâche, ce rapport est disponible dès que la tâche passe à l’état Complete . |
Complete est un état final. Une fois qu’une tâche atteint l’état Complete , elle ne passe plus à aucun autre état. |
Cancelling |
La tâche passe à l’état Cancelled . |
Une tâche passe automatiquement à l'état Cancelled quand l'étape Cancelling est terminée. |
Cancelled |
Vous avez demandé que la tâche soit annulée, ce qui a été fait par les opérations par lot S3. Cette tâche n’enverra plus de nouvelles demandes à Amazon S3. | Cancelled est un état final. Après qu’une tâche atteint l’état Cancelled , elle ne passe plus à aucun autre état. |
Failing |
La tâche passe à l'état Failed . |
Une tâche passe automatiquement à l’état Failed une fois que l’étape Failing est terminée. |
Failed |
La tâche a échoué et n’est plus en cours d’exécution. Pour de plus amples informations sur les échecs de tâche, consultez Suivi de l’échec d’une tâche. | Failed est un état final. Après qu’une tâche atteint l’état Failed , elle ne passe plus à aucun autre état. |
Mise à jour de l’état
Les AWS SDK pour Java exemples suivants AWS CLI mettent à jour le statut d'une tâche Batch Operations. Pour plus d’informations sur l’utilisation de la console Amazon S3 pour gérer les tâches d’opérations par lot, consultez Utilisation de la console Simple Storage Service (Amazon S3) pour gérer vos tâches d’opérations par lot S3.
Pour utiliser les exemples de commandes suivants, remplacez les
par vos propres informations. user input
placeholders
-
Si vous n’avez pas spécifié le paramètre
--no-confirmation-required
dans la commandecreate-job
précédente, la tâche reste à l’état suspendu jusqu’à ce que vous confirmiez cette tâche en définissant son statut surReady
. Amazon S3 rend ensuite la tâche éligible à l’exécution.aws s3control update-job-status \ --region
us-west-2
\ --account-id123456789012
\ --job-id00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
\ --requested-job-status 'Ready' -
Annulez la tâche en définissant son statut sur
Cancelled
.aws s3control update-job-status \ --region
us-west-2
\ --account-id123456789012
\ --job-id00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
\ --status-update-reason "No longer needed
" \ --requested-job-status Cancelled
L’exemple suivant met à jour le statut d’une tâche d’opérations par lot S3 à l’aide du kit AWS SDK pour Java.
Pour de plus amples informations sur l’état d’une tâche, consultez Suivi de l’état de la tâche et des rapports de fin de tâche.
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(); } } }
Notifications et journalisation
En plus de demander des rapports de fin de tâche, vous pouvez également capturer, examiner et auditer l’activité des opérations par lot à l’aide d’ AWS CloudTrail. Puisque les opérations par lot utilisent des opérations d’API Amazon S3 existantes pour exécuter des tâches, ces dernières émettent également les mêmes événements que si vous les appeliez directement. Dès lors, vous pouvez suivre et enregistrer la progression de votre tâche et l’ensemble de ses tâches à l’aide des mêmes outils et processus de notification, de journalisation et d’audit que vous utilisez déjà avec Amazon S3. Pour plus d’informations, consultez les exemples dans les sections suivantes.
Note
Batch Operations génère à la fois des événements de gestion et de données CloudTrail lors de l'exécution des tâches. Le volume de ces événements évolue avec le nombre de clés dans le manifeste de chaque tâche. Pour plus d'informations, consultez la page de CloudTrail tarification
Pour de plus amples informations sur les évènements Amazon S3, consultez Notifications d'événements Amazon S3.
Suivi de l’échec d’une tâche
Si une tâche d’opérations par lot S3 rencontre un problème qui l’empêche de s’exécuter avec succès, comme le fait de ne pas pouvoir lire le manifeste spécifié, elle échoue. Lorsqu’une tâche échoue, elle génère un ou plusieurs codes d’échec ou causes d’échec. La fonctionnalité d’opérations par lot S3 stocke les codes et les causes d’échec avec la tâche afin que vous puissiez les consulter en demandant les détails de la tâche. Si vous avez demandé un rapport de fin de tâche, ce dernier inclut également les codes et les raisons d’échec.
Pour empêcher les tâches d’exécuter un grand nombre d’opérations infructueuses, Amazon S3 impose un seuil d’échec à chaque tâche d’opérations par lot. Lorsqu’une tâche a exécuté au moins 1 000 tâches, Amazon S3 surveille le taux d’échec. Si, à un moment donné, le taux d’échec (le nombre de tâches ayant échoué par rapport au nombre total de tâches exécutées) dépasse 50 %, la tâche échoue. Lorsqu’une tâche échoue parce qu’elle dépasse ce seul, vous pouvez identifier la cause de cet échec. Il se peut, par exemple, que vous ayez inclus par erreur des objets dans le manifeste qui ne sont pas dans le compartiment spécifié. Après avoir corrigé les erreurs, vous pouvez renvoyer la tâche.
Note
La fonctionnalité d’opérations par lot S3 fonctionne de manière asynchrone et n’exécute pas nécessairement les tâches dans l’ordre d’apparition des objets dans le manifeste. Dès lors, vous ne pouvez pas utiliser l’ordre du manifeste pour déterminer les tâches d’objets qui réussissent et celles qui échouent. Vous pouvez plutôt examiner le rapport d'achèvement de la tâche (si vous en avez demandé un) ou consulter vos journaux d' AWS CloudTrail événements pour déterminer la source des échecs.
Rapports de fin de tâche
Lorsque vous créez une tâche, vous pouvez demander un rapport de fin de tâche. Si la fonctionnalité d’opérations par lot S3 invoque avec succès au moins une tâche, Amazon S3 génère un rapport de fin de tâche après avoir terminé l’exécution des tâches, après avoir échoué ou après avoir été annulé. Vous pouvez configurer le rapport de fin de tâche pour y inclure toutes les tâches ou uniquement celles ayant échoué.
Le rapport de fin de tâche inclut la configuration et le statut des tâches, ainsi que des informations sur chaque tâche, y compris la clé d’objet et la version, le statut, les codes d’erreur et la description des erreurs. Les rapports de fin de tâche fournissent un moyen facile de consulter les résultats de vos tâches dans un format consolidé sans nécessiter de configuration supplémentaire. Les rapports de fin de tâche sont chiffrés à l’aide du chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3). Pour obtenir un exemple de rapport de fin de tâche, consultez Exemples : Rapports de fin de tâche d’opérations par lot S3.
Si vous ne configurez pas de rapport d'achèvement, vous pouvez toujours surveiller et auditer votre tâche et ses tâches à l'aide d' CloudTrail Amazon CloudWatch. Pour plus d’informations, consultez les rubriques suivantes :