Demandes de travail
Les demandes de travail vous permettent de surveiller les opérations de longue durée telles que les sauvegardes de base de données ou le provisionnement d'instances de calcul.
Lorsque vous lancez une opération de longue durée, le service crée une demande de travail. Une demande de travail est un journal d'activité qui vous permet d'effectuer le suivi de chaque étape de la progression de l'opération. Chaque demande de travail dispose d'un OCID qui vous permet d'interagir avec elle par programmation et de l'utiliser pour l'automatisation.
Les demandes de travail fournissent généralement des informations sur le statut du flux de travail associé, les erreurs, les fichiers journaux et une liste des ressources affectées par le flux de travail.
Certains services Oracle Cloud Infrastructure, tels que Calcul et Base de données, prennent en charge les demandes de travail à l'aide de l'API des demandes de travail, qui contient l'opération GetWorkRequest
.
Certains services offrent des demandes de travail prises en charge par l'API du service plutôt que par les demandes de travail décrites dans cette rubrique. Ces API de service comprennent chacune des opérations qui fonctionnent de la même manière que l'opération GetWorkRequest
utilisée par l'API des demandes de travail.
Pour plus de détails, consultez la documentation de référence pour l'API de demandes de travail de chaque service. Des liens vers chaque API sont fournis dans la section Informations supplémentaires et API des services pris en charge.
Introduction aux demandes de travail
Les demandes de travail sont utiles dans les scénarios suivants :
- En cas d'échec d'une opération, une demande de travail peut vous aider à identifier l'étape du processus pendant laquelle l'erreur s'est produite. Les demandes de travail saisissent les échecs de validation asynchrone.
- Certaines opérations ont une incidence sur plusieurs ressources. Par exemple, la création d'un groupe d'instances affecte aussi les instances et les configurations d'instances. Une demande de travail fournit une liste des ressources affectées par une opération.
- Pour les flux de travail qui nécessitent des opérations séquentielles, vous pouvez surveiller la demande de travail de chaque opération et vérifier que celle-ci est terminée avant de passer à la suivante. Par exemple, imaginons que vous vouliez créer un groupe d'instances avec l'ajustement automatique activé. Pour ce faire, vous devez d'abord créer le groupe d'instances, puis configurer l'ajustement automatique. Vous pouvez surveiller la demande de travail de création du groupe d'instances pour déterminer le moment où ce flux de travail prend fin, puis configurer l'ajustement automatique à ce moment-là.
Les demandes de travail sont conservées pendant 12 heures.
Politique GIA requise
Pour que vous puissiez utiliser Oracle Cloud Infrastructure, un administrateur doit vous accorder l'accès de sécurité au moyen d'une politique. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur le type d'accès qui vous a été octroyé et le compartiment à utiliser.
Pour les administrateurs : Les autorisations permettant aux utilisateurs de voir les demandes de travail, les journaux et les messages d'erreur d'une opération varient en fonction du service. Pour certains services, les demandes de travail héritent des autorisations de l'opération qui les génèrent. Pour d'autres services, les demandes de travail requièrent des autorisations distinctes. Pour plus d'informations, voir Informations de référence sur les politiques.
Pour en connaître davantage sur les politiques, voir Introduction aux politiques et Politiques communes.
Statut des demandes de travail
Les demandes de travail fournissent une visibilité sur la progression des opérations asynchrones de longue durée. Le statut d'une demande de travail indique la progression de l'opération.
Les valeurs de statut courantes sont, par exemple, IN_PROGRESS
, FAILED
ou SUCCEEDED
. Comme chaque service ou opération qui prend en charge les demandes de travail fournit sa propre API pour l'obtention du statut, les valeurs spécifiques retournées dans une demande de travail peuvent varier en fonction du service et de l'opération. Pour plus d'informations sur les attributs de statut pris en charge par les demandes de travail pour chaque service, voir Statut des demandes de travail.
Dépannage des erreurs de validation
Les demandes de travail saisissent les échecs de validation asynchrone. En cas d'échec d'une opération asynchrone, une demande de travail peut vous aider à déterminer où l'erreur s'est produite dans le processus.
Des erreurs synchrones se produisent lors de l'appel initial à l'API du service et sont retournées par celle-ci. Des erreurs asynchrones surviennent pendant le flux de travail qui se produit après l'appel d'API initial et sont retournées par la demande de travail. Un appel réussi à l'API du service qui retourne une réponse HTTP 200 ("la demande a abouti") peut être suivi d'une erreur asynchrone saisie par la demande de travail.
Par exemple, lorsque vous créez une instance de calcul, un appel d'API est transmis à l'opération LaunchInstance
. À ce stade, une validation synchrone se produit. En cas d'échec, une réponse HTTP 4xx est retournée. Si l'appel aboutit, une réponse HTTP 200 est retournée et le flux de travail de création d'instance démarre.
Pendant que le flux de travail de création d'instance se poursuit, d'autres vérifications de validation et d'erreur sont effectuées et une demande de travail asynchrone est créée pour assurer le suivi de la progression du flux de travail. La réponse à l'opération LaunchInstance
contient l'OCID de la demande de travail dans l'en-tête opc-work-request-id
. Vous pouvez surveiller le statut de la demande de travail à tout moment en appelant l'opération GetWorkRequest
et en transmettant l'ID demande de travail. Si une erreur se produit pendant le flux de travail, vous pouvez extraire une liste d'erreurs en appelant ListWorkRequestErrors
et en transmettant l'ID demande de travail.
La demande de travail reste dans une file d'attente tant que l'opération n'est pas terminée.
Pour des informations détaillées sur les demandes de travail, notamment sur le filtrage de la réponse à la demande et un exemple de demande et de réponse, voir Demandes de travail asynchrones.
Exemple de flux de travail de validation de demande de travail
Le diagramme suivant présente un exemple de flux de travail de création d'instance dans lequel la validation synchrone réussit et la validation asynchrone échoue.
- Vous appelez le point d'extrémité
LaunchInstance
dans l'API du service Calcul. - La validation synchrone est effectuée et vous recevez une réponse HTTP 2xx de l'API du service Calcul. La réponse inclut l'OCID de la demande de travail dans l'en-tête
opc-work-request-id
. - Le flux de travail de création d'instance démarre et une validation asynchrone est effectuée tout au long du flux de travail. Une erreur se produit et la validation échoue.
- L'API du service Calcul alimente les erreurs de demande de travail et marque la demande de travail comme ayant échoué.
- Pour surveiller la demande de travail, vous appelez
GetWorkRequest
dans l'API de demandes de travail et vous transmettez l'ID demande de travail trouvé dans l'en-têteopc-work-request-id
. - Voyant que la demande de travail a échoué, vous appelez
ListWorkRequestErrors
dans l'API de demandes de travail et transmettez l'ID demande de travail pour extraire une liste d'erreurs. - L'API de demandes de travail retourne une liste d'erreurs que vous pouvez utiliser pour déterminer la cause de l'échec.
Utilisation de la console pour voir les demandes de travail
Vous pouvez utiliser la console pour voir les messages du journal, les messages d'erreur et les ressources associées à une demande de travail spécifique. Les étapes pour afficher une demande de travail peuvent varier en fonction du service et de la ressource dont vous voulez voir les demandes de travail.
-
Naviguez jusqu'à la ressource dont vous voulez consulter les demandes de travail.
Par exemple, pour voir les demandes de travail d'une instance de calcul : Ouvrez le menu de navigation et cliquez sur Calcul. Sous Calcul, cliquez sur Instances.
- Si la ressource apparaît dans une vue de liste, cliquez sur le nom de la ressource pour voir les détails associés.
- Sous Ressources, cliquez sur Demandes de travail. Le statut de toutes les demandes de travail s'affiche dans la page.
-
Pour voir les messages du journal, les messages d'erreur et les ressources pour une demande de travail spécifique, cliquez sur le nom de l'opération. Sélectionnez ensuite une option dans la section Informations supplémentaires.
Pour les ressources associées, vous pouvez cliquer sur le à côté d'une ressource pour copier l'OCID de celle-ci.
Informations supplémentaires et API des services pris en charge
Pour plus d'informations sur l'utilisation de l'API et sur les demandes de signature, voir la documentation de l'API REST et Données d'identification de sécurité. Pour plus d'informations sur les trousses SDK, voir Trousses SDK et interface de ligne de commande.
Utilisez les opérations d'API suivantes pour surveiller l'état des demandes de travail :
- API de demande de travail du service Surveillance de la performance des applications
- API de demande de travail du service de récupération autonome
- API de demande de travail du service Hôte bastion
- Demandes de travail de Blockchain Platform
- API de demande de travail de Cloud Advisor
- API de demande de travail pour les groupes de positionnement de grappe
- API de demande de travail du service Calcul
-
Centre de connecteurs :
- API de demande de travail du service Moteur d'applications conteneurisées
- API de demande de travail du service d'instances de conteneur
- API de demande de travail de Content Management
-
Catalogue de données :
- API de demande de travail du service Intégration de données
-
Service d'étiquetage de données :
-
Service de science des données :
- API de demande de travail du service Base de données
- API de demande de travail du service Gestion de bases de données
- API de demande de travail du service Migration de bases de données
- API de demande de travail du service Outils de base de données
- Base de données OCI avec l'API de demande de travail PostgreSQL
- API de demande de travail du service DevOps
- API de demande de travail du service Récupération après sinistre de pile complète
- API de demande de travail Autonomous Database répartie dans le monde
- API de demande de travail du service GoldenGate
-
IAM :
- API de demande de travail d'Oracle Integration Cloud
- API de demande de travail du service Gestion Java
-
équilibreur de charge :
- API de demande de travail Logging Analytics
- API de demande de travail du service Agent de gestion
- API de demande de travail HeatWave
- API de demande de travail du service Pare-feu de réseau
-
stockage d'objets :
- API de demande de travail du service Pont vers le nuage Oracle
- API de demande de travail du service Migration vers Oracle Cloud Infrastructure
- API de demande de travail du centre de gestion du système d'exploitation
- API de demande de travail du service Automatisation des processus
- API de demande de travail du service de file d'attente
- API de demande de travail du gestionnaire de ressources
- API de demande de travail pour les ordinateurs de bureau sécurisés
- API de demande de travail du service Maillage de services
- API de demande de travail du service Surveillance de pile
- API de demande de travail du service Visualisation
- Visual Builder Studio: API de demande de travail
- API de demande de travail du service Balayage de vulnérabilités