Déployer des API d'encapsuleur
Oracle Blockchain Platform Digital Assets Edition permet la génération d'API d'encapsulation pour toutes les API de contrôleur dans le code de chaîne généré par le générateur d'applications. Cette rubrique décrit les étapes détaillées à suivre pour déployer le paquetage 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 le paquetage d'API 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 :
<ChaincodeName>WrapperAPI.zip
: Ce fichier contient le script Terraform requis pour déployer les API d'encapsuleur dans Oracle Cloud Infrastructure Resource Manager.<ChaincodeName>_WrapperAPI.postman_collection.json
: Collection Postman utilisée pour tester les API d'encapsulation après le déploiement.
Pour déployer les API d'encapsuleur, le fichier WrapperAPI.zip
doit être utilisé dans le gestionnaire de ressources OCI.
Les préalables au déploiement de l'ensemble API wrapper sont les suivants :
- Le paquetage d'API d'encapsuleur doit être généré à l'aide du générateur d'applications.
- Le package doit inclure toutes les valeurs de variable de configuration et de point d'extrémité requises pour les API d'encapsulation.
Vous pouvez tester les API dans Postman. Configurez toutes les variables de la collection 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 points d'extrémité de passerelle générés dynamiquement seront fournis.
Une fois les variables de la collection Postman mises à jour, vous pouvez tester les API wrapper. Chaque demande d'API de la collection inclut les données utiles nécessaires propres à l'API d'encapsulation correspondante.
Figure 6-1 Test d'une collection d'emballage API avec Postman

Voici quelques problèmes fréquemment rencontrés et leurs solutions.
- Non autorisé : ocir_user_name ou ocir_user_password non valides
- 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 :
- Naviguez jusqu'à la section Variables dans 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.
- Une fois les modifications apportées, cliquez sur Appliquer pour redéployer la pile.
Cela devrait résoudre le problème d'authentification et permettre au déploiement de se poursuivre avec succès.
- Échec du déploiement - "Refusé : Les utilisateurs anonymes n'ont accès en lecture qu'aux référentiels publics"
- Il peut arriver que le déploiement échoue 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 serveur dorsal de la pile. Plus précisément, cette erreur survient lors de la tentative de poussée des images Docker vers Oracle Cloud Infrastructure Registry (OCIR) sans authentification appropriée.
Bien que l'ensemble d'API d'encapsuleur inclut un script qui effectue
docker login
avant de pousser les images, assurant une authentification appropriée, 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 poussée de l'image. - Échec du déploiement générique : Problèmes intermittents
- Parfois, le déploiement de la pile peut échouer en raison de problèmes aléatoires tels que liés au docker. Dans de tels cas, suivez les étapes suivantes 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.
Ce processus résout souvent les problèmes intermittents, ce qui permet au déploiement de se poursuivre avec succès.