ラッパーAPIのデプロイ
Oracle Blockchain Platform Digital Assets Editionでは、アプリケーション・ビルダーで生成されたチェーンコード内のすべてのコントローラAPIに対してラッパーAPIを生成できます。このトピックでは、スタック・リソース・マネージャにラッパーAPIパッケージをデプロイし、関連付けられたPostmanコレクションを使用してラッパーAPIをテストするための詳細なステップを示します。
ブロックチェーン・アプリケーション・ビルダーを使用してラッパーAPIパッケージが生成されると、選択したディレクトリにデフォルトの命名規則を持つ2つのファイルが作成されます。
<ChaincodeName>WrapperAPI.zip
: このファイルには、Oracle Cloud Infrastructure Resource ManagerにラッパーAPIをデプロイするために必要なTerraformスクリプトが含まれています。<ChaincodeName>_WrapperAPI.postman_collection.json
: デプロイメント後のラッパーAPIのテストに使用されるPostmanコレクション。
ラッパーAPIをデプロイするには、WrapperAPI.zip
ファイルをOCI Resource Manager内で使用する必要があります。
ラッパーAPIパッケージをデプロイするための前提条件は次のとおりです。
- ラッパーAPIパッケージは、アプリケーション・ビルダーを使用して生成する必要があります。
- パッケージには、ラッパーAPIに必要なすべての構成変数値とエンドポイント値を含める必要があります。
PostmanでAPIをテストできます。適切な値を割り当てて、ラッパーAPI Postmanコレクション内のすべての変数を構成します。api_gateway_endpoint
値は、動的に生成されたゲートウェイ・エンドポイントが提供されるOCIのスタック・デプロイメントの出力から取得する必要があります。
Postmanコレクション内の変数が更新されたら、ラッパーAPIをテストできます。コレクション内の各APIリクエストには、対応するラッパーAPIに固有の必要なペイロードが含まれます。
図6-1 Postmanを使用したAPIラッパー・コレクションのテスト

次に、一般的な問題とその解決策をいくつか示します。
- 未認可: ocir_user_nameまたはocir_user_passwordが無効です
- このエラーは、ユーザー名またはパスワードの資格証明が正しくない場合に発生します。この問題を解決するには、次のステップを実行します。
- スタックの詳細ページの「変数」セクションに移動します。
- 「変数の編集」をクリックして、ユーザー名とパスワードの値を変更します。
- 正しい情報で資格証明を更新します。
- 変更が完了したら、「適用」をクリックしてスタックを再デプロイします。
これにより、認証の問題が解決され、デプロイメントが正常に続行されます。
- デプロイメントの失敗- "denied: Anonymous users are only allowed read access on public repository"
- 場合によっては、次のエラーでデプロイメントが失敗することがあります。
denied: Anonymous users are only allowed read access on public repos
これは、スタックのバックエンド内のDocker操作に関連する断続的な問題です。具体的には、このエラーは、Dockerイメージを適切な認証なしでOracle Cloud Infrastructure Registry (OCIR)にプッシュしようとしたときに発生します。
ラッパーAPIパッケージには、イメージをプッシュする前に
docker login
を実行するスクリプトが含まれていますが、適切な認証を確保していますが、このエラーは散発的に発生する可能性があります。これは通常、イメージ・プッシュ時にDocker認証ステップがシステムによって正しく認識されない場合に発生します。 - 一般的なデプロイメントの失敗: 断続的な問題
- 場合によっては、docker関連の問題のようにランダムにスタック・デプロイメントが失敗することがあります。このような場合は、次の手順に従って問題を解決します。
- 「破棄」をクリックして、失敗したデプロイメント中に作成されたすべてのリソースを削除します。
- リソースが破棄されたら、スタックに戻り、「適用」をクリックしてスタックを再デプロイします。
多くの場合、このプロセスでは断続的な問題が解決され、デプロイメントを正常に続行できます。