Utilisation des tâches REST

Une tâche REST vous permet d'appeler un point d'extrémité d'API REST pour effectuer une opération.

Pour utiliser le principal de ressource Oracle Cloud Infrastructure pour authentifier un point d'extrémité d'API dans une tâche REST, voir Authentification.

Comme décrit sous Parties d'une tâche REST, créez une tâche REST dans le service d'intégration de données en définissant la demande REST (méthode HTTP, URL et en-tête de demande) et les critères d'achèvement (condition de réussite) qui doivent être satisfaits pour un appel réussi de la tâche REST.

Après l'envoi d'une demande REST, le service d'intégration de données attend par défaut que l'appel retourne la réponse avant de passer à d'autres tâches (mode d'API synchrone). L'appel REST est terminé lorsque la réponse à la demande REST est reçue. Actuellement, le type de contenu pris en charge pour la réponse d'API est JSON.

Si la demande REST appelle une opération dont l'exécution est longue, spécifiez une condition de scrutation et une configuration d'arrêt facultative pour définir la fin de l'appel REST. Lorsque la scrutation est configurée, le service d'intégration de données n'attend pas que l'appel REST retourne la réponse avant de passer à d'autres tâches (mode d'API asynchrone. Pour plus d'informations, voir Polling in Long-Running Operations (Report dans les opérations de longue durée) et Termination in Long-Running Operations (Fin dans les opérations de longue durée).

Note

La taille maximale prise en charge pour une réponse retournée par une tâche REST est de 512 Ko. Les réponses plus volumineuses sont tronquées.

Les pages suivantes décrivent comment créer, modifier et supprimer des tâches REST :

Les pages suivantes décrivent les autres tâches de gestion qui peuvent être effectuées :

Parties d'une tâche REST

Pour appeler un point d'extrémité d'API REST, fournissez les informations pour exécuter la demande REST dans une tâche REST.

Les étapes principales de création d'une tâche REST sont les suivantes :

  • Définir les détails d'exécution : Définissez les détails d'exécution de la demande REST, notamment la méthode HTTP, l'URL et l'en-tête de la demande.

    L'URL est le serveur REST à contacter et le chemin relatif de la ressource à laquelle vous voulez accéder dans la demande. Par exemple :

    http://myserver.com:8081/workspaces/finance1234/dataAssets

    Pour une méthode POST ou PUT, vous devez également indiquer le corps de la demande. Actuellement, JSON est le seul format pris en charge pour un corps de demande.

    La définition des détails d'exécution dans le service d'intégration de données est la même pour les opérations d'API de courte exécution et de longue durée.

  • Spécifier les critères d'achèvement : Spécifiez les critères de la condition de réussite qui doivent être satisfaits pour considérer que l'exécution de la tâche REST s'est terminée avec succès.

    Rédigez la condition qui produit la valeur Vrai ou Faux à l'aide de la réponse de l'appel REST à l'étape d'exécution. Si la condition retourne Vrai, la tâche REST a réussi. Si elle retourne la valeur Faux, la tâche REST a échoué.

    Le service d'intégration de données fournit une condition de réussite par défaut que vous pouvez utiliser ou modifier.

    La spécification des critères d'achèvement pour une opération d'API de longue durée nécessite l'ajout d'une condition de sondage et d'autres valeurs de scrutation. L'ajout d'une demande d'arrêt est facultatif.

Voir aussi Paramètres dans une tâche REST et ce que vous devez configurer avant d'utiliser le principal de ressource Oracle Cloud Infrastructure pour authentifier un point d'extrémité d'API dans une tâche REST.

Scrutation dans les opérations de longue durée

Pour une opération d'API REST de longue durée, en plus d'une condition de réussite, vous devez spécifier une URL et une condition de scrutation, ainsi que des valeurs d'intervalle de scrutation et de temporisation pour identifier l'achèvement de l'appel REST.

La configuration de la scrutation permet de scruter périodiquement le statut de l'appel REST à l'étape d'exécution.

Dans l'interrogation, la condition de réussite est une expression écrite dans la réponse de la demande d'interrogation. L'appel de scrutation évalue la condition de scrutation pour déterminer si la scrutation s'arrête ou continue. Le service d'intégration de données émet un appel de sondage de façon répétée selon l'intervalle de sondage spécifié jusqu'à ce que la valeur de temporisation de sondage spécifiée soit atteinte, ou jusqu'à ce que la condition de sondage retourne la valeur Faux, selon ce qui se produit en premier.

L'intervalle de scrutation est la durée d'attente avant l'envoi de la demande de scrutation suivante. La temporisation de scrutation est la durée maximale autorisée pour qu'une interrogation répétée ait lieu selon l'intervalle spécifié. La valeur d'intervalle doit être inférieure à la valeur de temporisation.

Supposons que la temporisation de scrutation soit de 24 heures et que l'intervalle de scrutation soit de 1 heure. Après l'appel de la demande REST à l'étape d'exécution, la demande REST de scrutation est envoyée toutes les heures pendant 24 heures au maximum, ou jusqu'à ce que la condition de scrutation retourne la valeur Faux.

Si les critères spécifiés dans la condition de réussite sont satisfaits, l'appel REST est achevé avec succès et l'exécution de la tâche REST est considérée comme ayant réussi. Si la condition de réussite retourne la valeur Faux, l'exécution de la tâche REST est considérée comme ayant échoué.

Par exemple, supposons que la configuration de scrutation sonde la progression d'une exécution de tâche en évaluant le statut dans la réponse :

cast(json_path(SYS.RESPONSE_PAYLOAD_JSON, '$.status') as String) != 'SUCCESS' or cast(json_path(SYS.RESPONSE_PAYLOAD_JSON, '$.status') as String) != 'ERROR'

La scrutation s'arrête lorsque la condition de réussite est satisfaite.

cast(json_path(SYS.RESPONSE_PAYLOAD_JSON, '$.status') as String) == 'SUCCESS'

Arrêt dans les opérations de longue durée

La configuration de la méthode HTTP et de l'URL REST pour mettre fin à l'appel REST est facultative pour une opération d'API de longue durée.

La définition des détails de la demande d'arrêt REST dans le service d'intégration de données est similaire à la définition de la demande REST à l'étape d'exécution. Vous pouvez toutefois inclure des expressions qui utilisent la réponse de l'API à l'étape d'exécution REST dans l'URL d'arrêt.

Si vous arrêtez une exécution de tâche REST et qu'aucune configuration d'arrêt n'est fournie dans cette tâche REST, Service d'intégration de données :

  • Arrête l'exécution de la tâche REST
  • N'arrête pas l'opération d'API sous-jacente appelée par la tâche REST

Si une configuration d'arrêt est fournie, le service d'intégration de données arrête l'exécution de la tâche REST et de l'opération d'API sous-jacente.

Authentification

Fournissez l'authentification requise pour appeler le point d'extrémité d'API REST dans la tâche REST.

Actuellement, vous pouvez utiliser le principal de ressource Oracle Cloud Infrastructure comme méthode pour authentifier les points d'extrémité d'Oracle Cloud Infrastructure. Vous pouvez utiliser le principal de ressource de l'espace de travail ou de l'application.

Authentification du principal de ressource

Le principal de ressource Oracle Cloud Infrastructure peut être spécifié comme méthode d'authentification pour l'exécution d'un point d'extrémité d'API Oracle Cloud Infrastructure dans une tâche REST.

Un principal de ressource permet à des ressources de devenir des acteurs principaux autorisés qui peuvent effectuer des actions sur les ressources de service. La méthode d'authentification du principal de ressource Oracle Cloud Infrastructure utilise un jeton de session de fournisseur de ressources temporaire (RPST) pour l'authentification, et l'autorisation est établie au moyen de politiques du service Oracle Cloud Infrastructure Identity and Access Management (IAM) avec des domaines d'identité.

Le service IAM vous permet d'écrire des politiques pour les principaux de ressource qui font partie de groupes dynamiques. Avant d'utiliser le principal de ressource OCI pour authentifier les points d'extrémité d'API OCI dans les tâches REST, créez un groupe dynamique et accordez l'autorisation à l'espace de travail ou à l'application du service d'intégration de données et aux ressources de réseau.

Voici des exemples de politiques que vous pouvez utiliser.

  • Pour définir les ressources appartenant au groupe dynamique, créez la règle de correspondance suivante dans le groupe dynamique :

    ALL{resource.type = 'disworkspace', resource.compartment.id = <compartment-ocid>}
  • Ajoutez l'énoncé de politique suivant qui permet au groupe dynamique d'accéder aux ressources de réseau.

    allow dynamic-group <dynamic-group-name> to use virtual-network-family in tenancy
  • Pour utiliser le principal de ressource de ressource d'application Oracle Cloud Infrastructure pour authentifier un point d'extrémité d'API dans une tâche REST :

    allow any-user to use ai-service-language-family in tenancy where ALL {request.principal.type = 'disapplication', request.principal.id = '<disapplication-ocid>'}
Note

  • Les énoncés de politique fournis dans cette rubrique ne sont que des exemples. Assurez-vous d'écrire des politiques qui répondent à vos propres besoins.

  • Après avoir ajouté des composants IAM (par exemple, des groupes dynamiques et des énoncés de politique), n'essayez pas d'effectuer les tâches associées immédiatement. Les nouvelles politiques IAM nécessitent environ cinq à 10 minutes pour entrer en vigueur.

Paramètres

Vous pouvez inclure des paramètres dans une tâche REST afin de pouvoir réutiliser la tâche dans différentes situations d'exécution.

Vous pouvez utiliser des paramètres pour les parties suivantes de la demande REST dans une tâche REST :