このページは Apigee と Apigee ハイブリッドに適用されます。
このトピックでは、API Hub でのバージョンの作成と管理について知っておくべきことを説明します。
バージョンとは
API Hub では、すべての API リソースに少なくとも 1 つのバージョンが関連付けられています。バージョンは、ある時点での API の状態と考えることができます。基本的に、バージョンは、基になるオペレーション、デプロイ、仕様、その他の属性のセットに基づいて API をグループ化して整理するために活用できます(図 1 を参照)。
API Hub では、バージョンは API の論理的なグループ化を表します。通常、このグループ化は API が実行できるオペレーションを中心に行われますが、必ずしもそうとは限りません。たとえば、Pet Store API という API があり、その最初のバージョンでペット情報の追加、検索、削除といった基本的なタスクを実行できるとすると、これらのタスクがオペレーションの例と言えます。
一緒にデプロイされる一連の API オペレーションをバージョンに含めることをおすすめします。たとえば、Pet Store API の 1 つのバージョンに、同じ環境にデプロイされる追加、検索、削除のオペレーションを含めることができます。
API のバージョンについて考える際は、バージョンが API プロデューサーの視点を表していると考えるとわかりやすいでしょう。つまり、API の作成者が API とともにデプロイされることを想定して含めた機能の集合です。
バージョンの作成
API Hub に追加する API の詳細が OpenAPI 仕様でキャプチャされている場合は、その仕様を API バージョンに追加できます。このとき、API Hub は仕様を解析し、API に含まれるオペレーションなどの情報を取得した後、その情報をバージョンとともに保存します。OpenAPI 仕様がない場合でも、バージョンを作成することはできますが、関連する説明情報を手動で入力する必要があります。このほかに、API Hub が Apigee API プロキシの自動登録を介して API の詳細の解析をサポートする場合もあります。
同じバージョンに複数の API 仕様ファイルをアップロードできます。
新しいバージョンを作成するタイミング
API に新しいオペレーションが追加された際に新しいバージョンを作成できますが、それが不要な場合もあります。
たとえば、API プロデューサーが API に新しいオペレーションを追加し、現在のバージョンが関連付けられているすべてのデプロイにデプロイすることを意図しているとします。その場合、プロデューサーは API の新しいバージョンを作成しなくてもかまいません。一方、プロデューサーが下位互換性のない変更(破壊的変更)を行い、それを新しいデプロイに関連付ける場合は、新しいバージョンを作成することをおすすめします。
API Hub を使用すると、組織のニーズや特定の API プロデューサーのニーズに最適な API バージョンを柔軟に定義して整理できます。
システム属性
バージョンには、デフォルトで次のシステム属性が含まれます。これらの属性に関連付けられた値は、[設定] で変更できます。詳しくは、属性を管理するをご覧ください。
属性 | 説明 |
---|---|
ライフサイクル | ライフサイクルとは、コンセプトの段階からサポート終了まで、API がたどる一連のステージを意味します。通常、API の各バージョンはそれぞれ独自のライフサイクルを通過するため、API のライフサイクル ステージが直接設定される代わりに、API の各バージョンにライフサイクル ステージを割り当てることが可能となっています。 |
コンプライアンス | [設定] で、チームや組織に関連するコンプライアンスの詳細を表す値を定義できます。詳しくは、属性を管理するをご覧ください。 |
認定 | [設定] で、チームや組織に関連する認定情報を表す値を定義できます。詳しくは、属性を管理するをご覧ください。 |
ドキュメント | バージョンが関連付けられている API のドキュメントへのリンク。 |
ユーザー定義の属性
チームや組織のニーズに応じて、バージョン用のカスタム属性(名前と値のペア)を定義できます。詳しくは、属性を管理するをご覧ください。