Déployer des API Wrapper

Oracle Blockchain Platform Digital Assets Edition permet de générer des API de wrapper pour toutes les API de contrôleur au sein du code chaîne généré par App Builder. Cette rubrique fournit des étapes détaillées pour déployer le package d'API de wrapper dans le gestionnaire de ressources de pile et tester les API de wrapper à l'aide de la collection Postman associée.

Lorsque le package d'API de wrapper est généré à l'aide de Blockchain App Builder, il crée deux fichiers avec des conventions de dénomination par défaut dans le répertoire choisi :

  1. <ChaincodeName>WrapperAPI.zip : ce fichier contient le script Terraform requis pour le déploiement des API de wrapper dans Oracle Cloud Infrastructure Resource Manager.
  2. <ChaincodeName>_WrapperAPI.postman_collection.json : collection Postman utilisée pour tester les API de wrapper après le déploiement.

Pour déployer les API de wrapper, le fichier WrapperAPI.zip doit être utilisé dans OCI Resource Manager.

Prérequis

Les prérequis pour le déploiement du package d'API de wrapper sont les suivants :

  • Le package d'API de wrapper doit être généré à l'aide d'App Builder.
  • Le package doit inclure toutes les valeurs de variable de configuration et les valeurs d'adresse requises pour les API de wrapper.
Déployer le package d'API Wrapper
  1. Connectez-vous à OCI.
    Ouvrez la console OCI et connectez-vous à l'adresse https://cloud.oracle.com/.
    Assurez-vous que vous êtes dans le compartiment dans lequel la pile sera déployée.
  2. Développez le menu Navigation. Sélectionnez Services de développeur. Sous Gestionnaire de ressources, sélectionnez Piles.
    L'interface Resource Manager pour les piles s'ouvre. Vous pouvez visualiser les piles existantes, créer de nouvelles piles et gérer votre infrastructure sous forme de code à l'aide de configurations Terraform.
  3. Créez une nouvelle pile en cliquant sur Créer une pile.
  4. Configurez les informations sur la pile.
    1. Dans la section Configuration Terraform, sélectionnez Ma configuration.
    2. Dans Configuration de pile, Source de configuration Terraform, sélectionnez Fichier .zip.
    3. Cliquez sur Parcourir et accédez au fichier ZIP d'API de wrapper.
    4. Une fois téléchargée, assurez-vous que le nom de la pile est correct.
    5. Tous les paramètres restants peuvent être conservés par défaut. Cliquez sur Suivant.
  5. Configurez les variables de pile.
    1. Vérifiez que toutes les valeurs de variable de configuration sont exactes et alignées sur les variables de configuration indiquées dans le package d'API de wrapper pour répondre aux exigences de votre déploiement.
    2. Dans ocir_user_name, entrez l'adresse électronique associée à votre compte OCI.
    3. Dans ocir_user_password, entrez votre mot de passe, qui est votre jeton d'authentification Oracle Cloud Infrastructure. Ce jeton peut être généré dans la console OCI sous vos paramètres utilisateur. Le jeton d'authentification sert de mot de passe pour la connexion à Oracle Cloud Infrastructure Registry (OCIR).
      Pour obtenir des instructions détaillées sur la génération du jeton d'authentification, reportez-vous à la section Generating an Auth Token.
    4. Tous les paramètres restants peuvent être conservés par défaut. Cliquez sur Suivant.
  6. Vérifiez les informations sur la pile. Si tout est correct, cliquez sur Créer.
  7. Exécutez le plan Terraform.
    1. Sur la page Détails de la pile, cliquez sur Plan pour lancer la création d'un plan d'exécution.
    2. Configurez éventuellement le plan de travaux. Vous pouvez modifier le nom par défaut ou sélectionner des options avancées pour modifier la version du fournisseur des paramètres d'ajustement.
    3. Cliquez sur Planifier pour créer et exécuter le travail de plan.
      Cette opération analyse la configuration Terraform, génère un plan d'exécution et exécute le plan qui effectue les opérations suivantes :
      • Valide le script Terraform pour garantir l'absence d'erreurs de syntaxe ou de configuration.
      • Simule le processus de création des ressources sans apporter de modifications à l'infrastructure réelle.
      • Fournit un récapitulatif de sortie qui répertorie les ressources que le script a l'intention de créer, modifier ou détruire.
    4. Surveillez le statut dans la section Travaux de votre pile. Une fois le plan terminé, vérifiez la sortie pour confirmer le nombre de ressources qui seront créées et vérifier qu'il n'y a aucun problème.
  8. Appliquez le plan Terraform à la pile.
    1. Sur la page Détails de la pile, cliquez sur Appliquer.
    2. Dans le panneau Appliquer Terraform, cliquez sur Appliquer.
      Pour ce faire, procédez comme suit :
      • Provisionne toutes les ressources suivantes telles que définies dans le script Terraform :
        • Réseau cloud virtuel
        • Applications (fonctions OCI)
        • Passerelle d'API
        • Déploiement d'API
        • Stratégie IAM
        • Référentiel OCI Registry
      • Crée toute l'infrastructure requise pour les API de wrapper.
    3. Surveillez le statut dans la section Travaux de votre pile pour vous assurer que le travail s'est terminé sans erreur.
  9. Extrayez les adresses API Gateway.
    1. Une fois le travail d'application terminé, accédez à la section Sorties de la page Appliquer le travail pour visualiser les valeurs de sortie générées.
    2. La sortie renvoie un objet JSON dans lequel les clés représentent les noms d'adresse et les valeurs sont leurs valeurs d'adresse correspondantes.
      Exemple :
      api_gateway_endpoints{"api_gateway_endpoint":"https://grqkdiwsugp3fp2m5z3zgpo4.apigateway.ap-mumbai-1.oci.customer-oci.com/WholesaleCBDC"}
    3. Copiez le point de terminaison. Il est nécessaire de mettre à jour la collection API Postman.
Test des API Wrapper avec Postman

Vous pouvez tester les API dans Postman. Configurez toutes les variables de la collection de wrapper API Postman en affectant les valeurs appropriées. La valeur api_gateway_endpoint doit être obtenue à partir de la sortie du déploiement de pile dans OCI, où les adresses de passerelle générées dynamiquement seront fournies.

Une fois que les variables de la collection Postman ont été mises à jour, vous pouvez tester les API de wrapper. Chaque demande d'API de la collection inclut la charge utile nécessaire propre à l'API de wrapper correspondante.

Figure 6-1 Test d'une collection de wrapper d'API avec Postman


Image représentant Postman exécutant une API à partir de la collection à l'aide de l'API de passerelle générée.

Dépannage

Voici quelques problèmes couramment rencontrés et leurs solutions.

Non autorisé : ocir_user_name ou ocir_user_password non valide
Cette erreur se produit lorsque les informations d'identification du nom d'utilisateur ou du mot de passe sont incorrectes. Pour résoudre ce problème, procédez comme suit :
  1. Accédez à la section Variables sur la page Détails de la pile.
  2. Cliquez sur Modifier les variables pour modifier les valeurs de nom utilisateur et de mot de passe.
  3. Mettez à jour les informations d'identification avec les informations correctes.
  4. Une fois les modifications effectuées, cliquez sur Appliquer pour redéployer la pile.

Cela devrait résoudre le problème d'authentification et permettre au déploiement de continuer.

Echec du déploiement - "refusé : les utilisateurs anonymes ne peuvent accéder en lecture que sur des référentiels publics"
Le déploiement peut parfois échouer avec l'erreur suivante :
denied: Anonymous users are only allowed read access on public repos

Il s'agit d'un problème intermittent lié aux opérations Docker dans le back-end de la pile. Plus précisément, cette erreur survient lors de la tentative de transmission d'images Docker vers Oracle Cloud Infrastructure Registry (OCIR) sans authentification appropriée.

Alors que le package d'API de wrapper inclut un script qui exécute docker login avant de propager les images, ce qui garantit une authentification correcte, cette erreur peut toujours se produire sporadiquement. Cela se produit généralement lorsque l'étape d'authentification Docker n'est pas correctement reconnue par le système au moment de la propagation d'image.

Si cette erreur se produit, procédez comme suit pour résoudre le problème :

  1. Destruction des ressources existantes :

    Cliquez sur Destruire dans OCI Stack Resource Manager pour détruire toutes les ressources créées lors du processus de déploiement.

  2. Réappliquer la pile :

    Après avoir détruit les ressources, cliquez à nouveau sur Appliquer pour redéployer la pile. Cela déclenchera la création des ressources nécessaires, y compris une authentification Docker appropriée, et devrait résoudre le problème.

Echec de déploiement générique : problèmes intermittents
Parfois, le déploiement de pile peut échouer en raison de problèmes aléatoires comme ceux liés à docker. Dans ce cas, procédez comme suit pour résoudre le problème :
  1. Cliquez sur Destruire pour enlever toutes les ressources créées lors de l'échec du déploiement.
  2. Une fois les ressources détruites, revenez à la pile et cliquez sur Appliquer pour redéployer la pile.

Ce processus résout souvent les problèmes intermittents, ce qui permet au déploiement de continuer.