LoginSignup
1
1

More than 3 years have passed since last update.

API Connectの開発者ツールキットでAPI情報を取得

Last updated at Posted at 2019-12-10

はじめに

API管理とAPI作成から公開までのチームが分かれている・権限をそれぞれ分けたいなどといった背景を元に、ローカル環境で作成したAPI製品を、開発者ツールキット経由でカタログに対してAPI製品を公開することがあります。開発者ツールキットについてはこちらにも書いています。

このときAPI Manager上のAPI製品ドラフト一覧には開発者ツールキットからステージングしたAPIがリストされません。が、その開発者ツールキットが入ったローカル環境が壊れたーとか、開発者メンバーが消えたーとか、、そんな状況で(APIとして公開はされてるけど)APIの元ネタであるyamlファイル自体が消えてしまった、なんて状況も実はありえます(そもそもyamlをgitなどで管理すべきというのは勿論なのですが、それをしてないところもあるのです・・・)。そんなときにも開発者ツールキットを使うとAPI Manager上に公開されているAPI製品を再度ダウンロードすることができます。プロバイダ組織所有者権限ユーザーが必要です。

今回はAPI情報を取得・ダウンロードする前にCLIでAPI Connectにログインする必要があるのですが、そこでつまづいたので備忘録です。

前提条件

  • IBM CloudでAPI Connectのインスタンス作成済み
  • apiconnectコマンド(開発者ツールキット)がローカル環境に導入済み
    • 前提条件とか導入方法の参考はこちら
  • IBM CloudのIAMでAPI Keyを作成済み
  • 私の環境の場合
    • Node.js: v10.17.0
    • apiconnect: v5.0.8.7 (apiconnect: v5.0.25)

手順

  1. IBM Cloudにログインして、自分のAPI Connectインスタンスのカタログを確認
    image.png

  2. カタログのリンクマークimage.png
    をクリック

  3. コマンドやURLなど記載を確認

image.png

4. apicコマンドを実行

コマンドラインでログインする前に、IBM Cloud上にあるAPI Connectの組織やカタログ情報をローカルにセットします。上記のカタログのリンクの文字列をそのまま実行できます。

  apic config:set catalog=apic-catalog://us.apiconnect.ibmcloud.com/orgs/自分の組織名/catalogs/自分のカタログ名

上記の構成設定が終わったら、IAMのAPIKEYを使ってログインできます。試してないですが、シングルサインオン・オプション(--sso)など他のログイン方法でも可能と思います。

  apic login -k APIKEY

  us.apiconnect.ibmcloud.com に正常にログインしました

API情報が以下のように取得できます。API Connectのサーバー名や組織やカタログ情報はすでにローカルに構成されているので、オプションには不要でした。

  apic apis:get API名:バージョン

  例:
  apic apis:get backend:1.0.0

  名前: backend
 バージョン: 1.0.0
 タイトル: Backend
 基本パス: /backend
 状況: オンライン
 実動エンドポイント: "https://api.us-south.apiconnect.appdomain.cloud/自分の組織名/カタログ名/backend"
 開発エンドポイント: "https://api.us-south.apiconnect.appdomain.cloud/自分の組織名/カタログ名/backend"
 製品: 自分の製品名:1.0.0
 カタログ: カタログ名
 組織: 自分の組織名

APIをダウンロードするには以下のコマンドを実行すると、apicコマンドを実行したディレクトリにyamlファイルがダウンロードされています。

  apic apis:pull API名:バージョン

  例:
  apic apis:pull backend:1.0.0

  backend:1.0.0 API 定義が 自分の組織名:カタログ名 [backend_1.0.0.yaml] からプルされました

終わりに

上記のように開発者ツールキットのコマンドを使うと、API Connect上に公開されているAPI情報の取得、yamlファイルのダウンロードができることがわかりました。今回はクラウド版nAPI Connectで実行していますが、オンプレでも同様に可能です。オンプレはAPIKEYによるログインではなく、従来のユーザー・パスワードで認証することになると思われます。
またAPI Connect v2018だと方法が変わる可能性があるので、今回の検証はV5ベースのクラウド版が対象であることにご留意ください。

参考情報

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1