API 製品の管理
コマンド apic apis と apic products を使用して、カタログ IBM®
API Connect に公開された製品やAPIを管理します。 この --scope space オプションを使用して、カタログ内のスペースに公開された製品およびAPIを管理します。
製品管理コマンドの要約
| コマンド例 | 説明 |
|---|---|
apic config:set
catalog=https://platform-api.myserver.com/api/catalogs/myorg/sandbox |
デフォルト・カタログを設定します。 |
apic login --username some-user --password some-password --server
platform-api.myserver.com --realm provider/my-identity-provider |
管理サーバーにログインします。 CLI から管理サーバーにログインする方法について詳しくは、 管理サーバーへのログインを参照してください。 |
apic create:api --title Routes --product "ClimbOn" |
製品および API を作成します。 |
apic products:publish climbon.yaml |
製品を公開してデフォルトのカタログにします。 製品をステージングするには、--stage 引数を追加します。 |
apic products:list-all --scope catalog |
デフォルト・カタログ内の製品のリスト表示を行います。 |
apic products:get climbon:1.0.0 --output - |
製品のプロパティーを表示します。 ファイルにダウンロードするには、output 引数を省略します。 |
apic apis:list-all --scope catalog |
カタログ内の API のリスト表示を行います。 |
apic apis:get routes:1.0.0 --output - |
API プロパティーを取得します。 ファイルにダウンロードするには、output 引数を省略します。 |
apic products:replace climbon:1.0.0 mapfile.txt |
コマンドで指定されたプロダクトを、マップファイルで指定されたステージング済みまたは公開済みのプロダクトに置き換えてください。 交換された製品は製造終了となりました。 |
apic products:supersede climbon:1.0.0 mapfile.txt |
コマンドで指定されたプロダクトを、マップファイルで指定されたステージング済みまたは公開済みのプロダクトに置き換えます。 旧バージョンの製品は非推奨となっています。 |
apic products:delete climbon:1.0.0 |
カタログから製品を削除します。 製品は、廃棄済みまたは非推奨でなければなりません。 |
ライフサイクル全体での products コマンドと apis コマンドの使用例
この例では、実行時に新しいバージョンの製品や API で元のバージョンを置き換えるような複雑なライフサイクルを示しています。
$ref フィールドを使用する場合、 API を含む製品が apic publish コマンドでステージングまたは公開される前に、 $ref フィールドがターゲット・ファイルの内容に置き換えられます。 詳しくは、 $ref を使用した OpenAPI ファイル内のコード・フラグメントの再利用を参照してください。- デフォルトのカタログを設定し、 mgmnthost.comAPI Connect クラウドにログインします
apic config:set catalog=https://platform-api.myserver.com/api/catalogs/climbon/sandbox apic login --username some-user --password some-password --server platform-api.myserver.com --realm my-identity-providerCLI から管理サーバーにログインする方法について詳しくは、 管理サーバーへのログインを参照してください。
- 初期バージョンを作成および公開する
apic create:api --title Routes --version 1.0.0 --filename routes100.yaml apic create:product --title "Climb On" --version 1.0.0 --apis routes100.yaml --filename climbon100.yaml apic products:publish climbon100.yaml- API のバグを修正するための新規バージョンを作成し、カタログにステージングする
apic create:api --title Routes --version 1.0.1 --filename routes101.yaml apic create:product --title "Climb On" --version 1.0.1 --apis routes101.yaml --filename climbon101.yaml apic products:publish --stage climbon101.yaml- カタログを検査する
apic products:list-all --scope catalogこのコマンドは、カタログ内のすべての製品を表示します。climbon:1.0.1製品の ID をコピーします。 ID は次の例のようになります。https:/server/api/catalogs/3eca6046-3c27-4ad/ab8772bf-0f65-45/products/8f854623-bda1-4f9- マッピング・ファイルを作成する
たとえば、ある製品を置き換える場合、マッピングファイルでは置き換える対象の製品を指定し、元の製品のプランを置き換え先の製品にマッピングします。 例えば、
climbon:1.0.0をclimbon:1.0.1に置き換える場合、product_urlプロパティーはclimbon:1.0.0の URL を指定します。このファイルの形式は以下のとおりです。product_url: https:/server/api/catalogs/{id}/products/{id} plans: - source: {source_plan_name_1} target: {target_plan_name_1} - source: {source_plan_name_2} target: {target_plan_name_2} . . .注:- ソースとターゲットのプラン名は、同じ名前にすることも異なる名前にすることもできます。
- 置き換える製品内のすべてのプランが、新しく置き換わる製品内のプランにマップされている必要があります。
- バージョン 1.0.0 を 1.0.1 に「ホット・リプレース」する
このように交換された後、指定された製品は廃止されます。 アクティブではなくなります。apic products:replace climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILE注:コマンドで指定された製品が、交換対象の製品となります。 たとえば、をに
climbon:1.0.0置き換える場合、コマンドで指定されるclimbon:1.0.1Productはになりますclimbon:1.0.1。- バージョン 1.0.0 を 1.0.1 に取り替える
- 既存の製品を新しい製品 (通常、更新されたバージョン) にホット・リプレースするのではなく、既存の製品を新しい製品に取り替えることができます。 製品を置き換えた場合、その製品に対するすべての外部アプリケーション・サブスクリプションが、新しい製品に自動的に移動します。 製品を取り替えた場合、サブスクリプションは新しい製品に自動的に移動しないため、外部アプリケーションを取り替え先の製品にサブスクライブするには、アクションを実行する必要があります。製品を取り替えるコマンドでは、製品を置き換えるコマンドと同じマッピング・ファイルを使用します。 コマンドには、置き換えられる製品の名前が指定されています。
製品が後継製品に切り替わった後、その製品は「非推奨」とマークされます。これは、その製品への新規サブスクリプションは受け付けられなくなることを意味しますが、製品自体は引き続き利用可能であり、既存のサブスクリプションも引き続き機能します。apic products:supersede climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILE注: コマンドで指定されている製品は、旧製品に代わる新製品です。 たとえば、をにclimbon:1.0.0置き換える場合、コマンドでclimbon:1.0.1指定されるProductはになりますclimbon:1.0.1。 マッピングファイルには、置き換える製品の URL が指定されています。 - マイグレーション・ターゲットの設定
- 既存の製品のマイグレーション・ターゲットを設定することができます。 これは、マイグレーションに役立ちます。以下のようなコマンドを使用して、マイグレーション・ターゲットを設定します。
apic products:set-migration-target climbon:1.0.0 PRODUCT_PLAN_MAPPING_FILE注: コマンドで指定された製品は、サブスクリプションを移行元の製品です。 マッピング・ファイルでは、サブスクリプションのターゲット製品を指定します。移行先が設定されると、外部アプリケーション開発者は、Consumer Catalog を通じてアプリケーションのサブスクリプションを簡単に移行できるようになります。 また、次のコマンドを使用して、サブスクリプションの移行を実行することも可能です。apic products:execute-migration-target climbon:1.0.0 - 製品の削除
- 置き換えられた製品または取り替えられた製品は、不要になった場合、削除できます。
apic products:delete climbon:1.0.0
追加の製品およびAPI操作
clone サブコマンドを使用して、カタログまたはスペース内の製品やAPIをダウンロードすることができます:| コマンド | 説明 |
|---|---|
| apic products:clone | カタログまたはスペースからすべての製品とその API をダウンロードします。 |
| apic apis:clone | カタログまたはスペースからすべての API をダウンロードします。 |
--confirm の値としてカタログ名を指定する必要があります:apic products:clear --confirm catalog_nameここで、catalog_name はカタログの名前です。1 つのカタログ内で複数のチームが製品および API を独立して管理できるように、スペース を使用してカタログを区分化できます。 「 スペース 」は概念的にはサブカタログのようなものですが、カタログ内のすべてのスペースに含まれる製品やAPIは、同じコンシューマーカタログに公開されるという点で異なります。 Spaces の詳細については、 『 IBM での API Connectフィード機能の使用 』を参照してください。
apic products ` apic
apis コマンドに `` --scope space オプションを指定してください。 たとえば、 「flights 」という名前のスペースに含まれる製品を一覧表示するには、次のコマンドを使用します:apic products --scope space --space flights --catalog production --org climbonorg --server platform-api.myserver.com
カタログまたはスペース内における製品のライフサイクル状態の変更
以前にカタログまたはスペースにステージングまたは公開された製品のライフサイクル状態を直接変更するには、以下の手順を実行します。
- 次のコマンドを入力してください(末尾のハイフン記号は、このコマンドがコマンドラインからの入力を受け付けることを意味します):
ここで、それぞれ以下のとおりです。apic products:update product_name:version --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space] -このコマンドでは、以下が返されます。Reading PRODUCT_FILE arg from stdin - 次のデータを入力して、改行します。
ここで、new_state は、製品が変更される新たな状態であり、以下のいずれかの値でなければなりません。state: new_state- ステージング済み
- 公開済み
- 非推奨
- 廃止済み
- アーカイブ済み
CTRL Dを押して入力を終了します。 コマンドが正常に完了すると、ライフサイクル状態の変更が確認されます。例:apic products:update finance:1.0.0 --server https://myserver.com --org development --scope catalog --catalog sandbox - Reading PRODUCT_FILE arg from stdin state: published finance:1.0.0 [state: published] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/0f0af980-f505-4f36-b09c-d7b1c9c1a2f2
ライフサイクルの状態変更が許可されていない場合、コマンドは失敗します。
- 企画段階から出版まで
- 非推奨から廃止へ
- 出版から上演へ
- 引退から出版へ
詳しくは、 製品のライフサイクルを参照してください。
apic products:list-all --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space]apic products:list-all --server https://myserver.com --org development --scope catalog --catalog sandbox
graphql-services:1.0.0 [state: staged] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/7652d568-b396-4bfa-bf71-2f18cea63737
finance:1.0.0 [state: published] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/0f0af980-f505-4f36-b09c-d7b1c9c1a2f2apic products:get product_name:version --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space] --fields state --output -apic products:get finance:1.0.0 --server https://myserver.com --org development --scope catalog --catalog sandbox --fields state --output -
state: published
サンプル・スクリプト
組織、ユーザー、アプリ、製品、およびAPIの作成と管理方法を示すサンプルツールキットスクリプト一式は、 https://github.com/ibm-apiconnect/example-toolkit-scripts で入手できます。