Déployer les API d'encapsuleur
La solution Oracle Blockchain Platform Digital Assets Edition peut générer des API de wrapper pour toutes les API de contrôleur dans le code de chaîne généré par Blockchain App Builder. Effectuez les étapes suivantes pour déployer l'ensemble d'API d'encapsuleur dans le gestionnaire de ressources de pile et tester les API d'encapsuleur à l'aide de la collection Postman associée.
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'archives contenant le script Terraform requis pour déployer les API d'encapsuleur dans le gestionnaire de ressources pour Oracle Cloud Infrastructure (OCI).<ChaincodeName>_WrapperAPI.postman_collection.json
: Collection Postman utilisée pour tester les API d'encapsuleur après le déploiement.
Pour déployer les API d'encapsuleur, vous utilisez le fichier WrapperAPI.zip
pour créer une pile dans le gestionnaire de ressources OCI.
Les préalables suivants doivent être respectés pour déployer l'ensemble d'API d'encapsuleur.
- L'ensemble d'API d'encapsulation doit être généré à l'aide du générateur d'applications Blockchain.
- Le paquetage doit inclure toutes les valeurs de variable de configuration et de point d'extrémité requises pour les API d'encapsuleur.
Vous pouvez tester les API du wrapper à l'aide de Postman. Configurez toutes les variables de la collection wrapper API Postman 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 points d'extrémité de passerelle générés dynamiquement sont fournis.
Une fois les variables de la collection Postman mises à jour, vous pouvez tester les API du wrapper. Chaque demande d'API de la collection inclut les données utiles nécessaires propres à l'API d'encapsulation correspondante.
Figure 4-1 Tester une collection d'encapsuleurs d'API avec Postman

Les informations suivantes peuvent être utilisées pour résoudre les problèmes lors du déploiement et de l'utilisation des API wrapper.
- Non autorisé : ocir_user_name ou ocir_user_password non valide
- Cette erreur se produit lorsque les données d'identification du nom d'utilisateur ou du mot de passe sont incorrectes. Pour résoudre ce problème, procédez comme suit :
- Naviguez jusqu'à la section Variables de la page Détails de la pile.
- Cliquez sur Modifier les variables pour modifier les valeurs de nom d'utilisateur et de mot de passe.
- Mettez à jour les données d'identification avec les informations correctes.
- Cliquez sur Appliquer pour redéployer la pile.
- Échec du déploiement - "Refusé : Les utilisateurs anonymes ne peuvent accéder en lecture que dans les 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 l'élément dorsal de la pile. Plus précisément, cette erreur se produit lors de la tentative de poussée d'images Docker vers Oracle Cloud Infrastructure Registry sans authentification appropriée.
Bien que l'ensemble d'API d'encapsuleur inclut un script qui exécute la commande
docker login
pour garantir une authentification appropriée avant de pousser les images, cette erreur peut toujours se produire sporadiquement. Cela se produit généralement lorsque l'étape d'authentification Docker n'est pas reconnue correctement par le système au moment de la poussée d'image. - Échec du déploiement générique : Problèmes intermittents
- Le déploiement de la pile peut parfois échouer en raison de problèmes aléatoires liés à Docker. Lorsque cela se produit, procédez comme suit pour résoudre le problème :
- Cliquez sur Détruire pour supprimer toutes les ressources créées lors de l'échec du déploiement.
- 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.