第1章 OAS をベースとした新しいサービスの作成

1.1. はじめに

本章では、Red Hat 3scale API Management 2.9 での OpenAPI Specification (OAS) 機能の概要、および既存サービスの更新や新規サービスの作成を行う手順について説明します。

以下は、3scale の OAS に関する特別な留意事項です。

1.2. 前提条件

  • OpenAPI Specification (OAS)
  • 3scale 2.9 インスタンステナントのクレデンシャル (token または provider_key)

1.3. OpenAPI Specification の機能

注記

ActiveDocs は、OpenAPI (OAS) のインポート時に作成、更新されます。

  • サービスの system_name をオプションのパラメーターとして渡すことができ、そのデフォルトは OAS からの info.title フィールドです。
  • メソッドは OAS からの各操作に対して作成されます。

    • メソッド 名は operation.operationId フィールドから取得されます。
  • 既存の マッピングルール は、新規 API 定義をインポートする前にすべて削除されます。

    • コマンドの実行前から存在するメソッドは削除されません。
  • マッピングルールは、OAS からの各操作に対して作成されます。
  • OpenAPI 定義リソースは、以下のチャンネルのいずれかで提供することができます。

    • 利用可能なパスの ファイル名
    • URL フォーマット (toolbox は所定のアドレスからダウンロードを試みます)
    • stdin 標準入力ストリームから読み込む

1.4. OpenAPI Specification の使用

NAME
    openapi - Import API definition in OpenAPI specification

USAGE
    3scale import openapi [opts] -d <dst> <spec>

DESCRIPTION
    Using an API definition format like OpenAPI, import to your 3scale API

OPTIONS
       -d --destination=<value>                   3scale target instance.
                                                  Format: "http[s]://<authentication>@3scale_domain"

 -t --target_system_name=<value>            Target system name

OPTIONS FOR IMPORT
    -c --config-file=<value>                      3scale toolbox
                                                  configuration file
                                                  (default:
                                                  $HOME/.3scalerc.yaml)
    -h --help                                     show help for this command
    -k --insecure                                 Proceed and operate even
                                                  for server connections
                                                  otherwise considered
                                                  insecure
    -v --version                                  Prints the version of this
                                                  command

1.4.1. ファイル名のパスからの OpenAPI 定義の検出

使用できるフォーマットは jsonyaml です。フォーマットは、ファイル名の拡張子から自動的に検出されます。

$ 3scale import openapi -d <destination> /path/to/your/spec/file.[json|yaml|yml]

1.4.2. URL からの OpenAPI 定義の検出

使用できるフォーマットは jsonyaml です。フォーマットは、URL のパスの拡張子から自動的に検出されます。

$ 3scale import openapi -d <destination> http[s]://domain/resource/path.[json|yaml|yml]

1.4.3. stdin からの OpenAPI 定義の検出

OpenAPI リソースのコマンドラインパラメーターは - です。

使用できるフォーマットは jsonyaml です。形式はパーサーにより内部的に自動検出されます。

$ tool_to_read_openapi_from_source | 3scale import openapi -d <destination> -