検索

3.6. OpenAPI 定義のインポート

download PDF

新しいサービスを作成する場合、または既存のサービスを更新する場合は、ローカルファイルまたは URL から OpenAPI 定義をインポートすることができます。インポートのデフォルトのサービス名は、OpenAPI 定義の info.title で指定されます。ただし、--target_system_name=<NEW NAME> を使用して、このサービス名を上書きできます。この場合、そのサービス名がすでに存在する場合は更新され、存在しない場合は新しいサービス名が作成されます。

import openapi コマンドのフォーマットは以下のとおりです。

3scale import openapi [opts] -d=<destination> <specification>

OpenAPI <specification> は、以下のいずれかです。

  • /path/to/your/definition/file.[json|yaml|yml]
  • http[s]://domain/resource/path.[json|yaml|yml]

$ podman run registry.redhat.io/3scale-amp2/toolbox-rhel7:3scale2.8 3scale import openapi [opts] -d=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}  my-test-api.json

コマンドオプション

import openapi コマンドのオプションは以下のとおりです。

-d --destination=<value>
3scale のターゲットインスタンス (http[s]://<authentication>@3scale_domain 形式)
-t --target_system_name=<value>
3scale のターゲットシステム名
--backend-api-secret-token=<value>
API ゲートウェイによってバックエンド API に送信されるカスタムシークレットトークン
--backend-api-host-header=<value>
API ゲートウェイによってバックエンド API に送信されるカスタムホストヘッダー

その他のオプションについては、3scale import openapi --help コマンドを参照してください。

OpenAPI のインポートルール

OpenAPI 定義をインポートする場合、以下のルールが適用されます。

  • 定義は OpenAPI 2.0 または OpenAPI 3.0 として検証される。
  • 3scale サービスのマッピングルールは、すべて削除される。
  • 置き換えるためには、パターンの完全一致の使用により、すべてのメソッドの名前が OpenAPI 定義 (operation.operationId) で定義されるメソッドと同一でなければならない。
  • OpenAPI 定義に含まれるメソッドのみが変更される。
  • OpenAPI 定義にしか存在していなかったすべてのメソッドが、Hits メトリクスにアタッチされる。
  • OpenAPI 定義のすべてのマッピングルールがインポートされる。これらについては API > Integration で確認できます。
  • サポートされるセキュリティースキームは、apiKey および oauth2 (任意の OAuth フロータイプに対応) です。
  • OpenAPI 仕様は、以下の値のいずれかでなければなりません。

    • 利用可能なパスのファイル名
    • toolbox がコンテンツをダウンロードすることのできる URL。サポートされるスキームは http および https です。
    • stdin 標準入力ストリームから読み込む。これは、値に - を設定することで制御されます。
注記

仕様にセキュリティー要件がない場合、サービスは Open API とみなされます。ポリシーチェーンに default_credentials ポリシー (anonymous_policy とも呼ばれる) がまだない場合、toolbox はこのポリシーを追加します。default_credentials ポリシーは、オプションのパラメーター --default-credentials-userkey で提供される ユーザーキー で設定されます。

OpenAPI 3.0 の制約

OpenAPI 3.0 定義をインポートする場合、以下の制約が適用されます。

  • servers リストの最初の server.url 要素だけがプライベート URL として処理される。server.url 要素の path コンポーネントが、OpenAPI の basePath プロパティーとして使用されます。
  • toolbox は、パス項目および操作オブジェクトのサーバーを処理しない。
  • セキュリティースキームオブジェクトでは、複数のフローはサポートされない。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.