Déployer des API de wrapper

Oracle Blockchain Platform Digital Assets Edition peut générer des API de wrapper pour toutes les API de contrôleur dans un code chaîne généré par Blockchain App Builder. 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, procédez comme suit :

Lorsque vous générez un package d'API wrapper à 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 :

  • <ChaincodeName>WrapperAPI.zip : fichier d'archive contenant le script Terraform requis pour déployer les API de wrapper dans Oracle Cloud Infrastructure (OCI) Resource Manager.
  • <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, utilisez le fichier WrapperAPI.zip pour créer une pile dans OCI Resource Manager.

Les prérequis suivants doivent être respectés pour déployer le package d'API de wrapper.

  • Le package d'API de wrapper doit être généré à l'aide de Blockchain App Builder.
  • Le package doit inclure toutes les valeurs de variable de configuration et d'adresse requises pour les API de wrapper.
  1. Connectez-vous à OCI.
    Ouvrez la console OCI et connectez-vous : https://cloud.oracle.com/. Vérifiez 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 des piles et gérer votre infrastructure en tant que code à l'aide des configurations Terraform.
  3. Cliquez sur Créer une pile.
  4. Configurez les informations de 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 de l'API de wrapper.
    4. Une fois le fichier .zip téléchargé, assurez-vous que le nom de pile est correct.
    5. Dans la liste déroulante Version de Terraform, sélectionnez la version 1.2 ou supérieure. Par défaut, Resource Manager utilise la dernière version. Si vous sélectionnez une version antérieure à la version 1.2, le déploiement échoue.
    6. 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 qu'elles correspondent aux 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 OCI. Vous pouvez générer ce jeton dans la section des paramètres de profil ou d'utilisateur de la console OCI. Le jeton d'authentification fonctionne comme un mot de passe pour la connexion à Oracle Cloud Infrastructure Registry.
      Pour plus d'informations sur la génération d'un jeton d'authentification, voir Génération d'un jeton d'authentification.
    4. Tous les paramètres restants peuvent être conservés par défaut. Cliquez sur Suivant.
  6. Vérifiez les informations de 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 Planifier pour commencer à créer un plan d'exécution.
    2. Vous pouvez éventuellement configurer 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 ou ajuster les paramètres.
    3. Cliquez sur Planifier pour créer et exécuter le travail de plan.
      Votre configuration Terraform est analysée, et un plan d'exécution est généré et exécuté, ce qui effectue les tâches 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 des ressources que le script va 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 pour 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.
      L'application du plan Terraform effectue les tâches suivantes :
      • Provisionne toutes les ressources suivantes telles que définies dans le script Terraform :
        • Réseau cloud virtuel
        • Applications (fonctions OCI)
        • Passerelle API
        • Déploiement d'API
        • Stratégie IAM
        • Référentiel OCI Registry
      • Crée l'ensemble de l'infrastructure requise pour les API de wrapper.
    3. Surveillez le statut dans la section Travaux de la pile pour vous assurer que le travail se termine correctement sans erreur.
  9. Extraire les adresses de passerelle d'API.
    1. Une fois le travail d'application terminé, accédez à la section Sorties de la page Appliquer le travail pour afficher les valeurs de sortie générées.
    2. La sortie renvoie un objet JSON où les clés représentent les noms d'adresse et où les valeurs correspondent aux valeurs d'adresse :
      api_gateway_endpoints{"api_gateway_endpoint":"https://grqkdiwsugp3fp2m5z3zgpo4.apigateway.ap-mumbai-1.oci.customer-oci.com/WholesaleCBDC"}
    3. Copiez l'adresse. Vous avez besoin de l'adresse pour mettre à jour la collection Postman d'API.
Tester les API Wrapper avec Postman

Vous pouvez tester les API de wrapper à l'aide de Postman. Configurez toutes les variables de la collection Postman de l'API wrapper en affectant les valeurs appropriées. Obtenez la valeur api_gateway_endpoint à partir de la sortie du déploiement de pile dans OCI, où les adresses de passerelle générées dynamiquement sont fournies.

Une fois les variables de la collection Postman 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 4-1 Test d'une collection d'enveloppeurs 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.

Les informations suivantes peuvent être utilisées pour résoudre les problèmes lors du déploiement et de l'utilisation des API de wrapper.

Non autorisé : ocir_user_name ou ocir_user_password non valide
Cette erreur se produit lorsque le nom d'utilisateur ou les informations d'identification du mot de passe sont incorrects. Pour résoudre ce problème, procédez comme suit :
  1. Accédez à la section Variables de la page Détails de 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. Cliquez sur Appliquer pour redéployer la pile.
Echec du déploiement : "refusé : les utilisateurs anonymes ne peuvent accéder en lecture qu'aux référentiels publics"
Parfois, le déploiement peut é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 se produit lorsque vous tentez de propager des images Docker vers Oracle Cloud Infrastructure Registry sans authentification appropriée.

Alors que le package d'API de wrapper inclut un script qui exécute la commande docker login pour garantir une authentification correcte avant de pousser les images, cette erreur peut toujours se produire de manière sporadique. 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 transmission d'image.

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

  1. Cliquez sur Détruire dans OCI Stack Resource Manager pour détruire toutes les ressources créées lors du processus de déploiement.
  2. Une fois les ressources détruites, cliquez à nouveau sur Appliquer pour redéployer la pile. Cela déclenche la création des ressources nécessaires, y compris l'authentification Docker appropriée.
Echec du déploiement générique : problèmes intermittents
Le déploiement de la pile peut échouer en raison de problèmes aléatoires liés à Docker. Dans ce cas, procédez comme suit pour résoudre le problème :
  1. Cliquez sur Détruire pour enlever toutes les ressources qui ont été créées lors du déploiement en échec.
  2. Une fois les ressources détruites, revenez à la pile et cliquez sur Appliquer pour redéployer la pile.

Cela peut résoudre les problèmes intermittents et permettre un déploiement réussi.