開発ツール

サービス プロバイダは、クライアント アプリが使用する API を開発します。API プロキシと API プロダクトを作成、構成、維持するには、以下で説明するように、UI を使用するか、API に HTTP リクエストを送信して RESTful サービスにアクセスします。

いずれの場合も、あらかじめ無料アカウントを作成しておく必要があります。作成方法については、Apigee アカウントを作成するをご覧ください。

UI を使用する

Apigee UI は、API プロキシと API プロダクトの作成、構成、管理に使用できるブラウザベースのツールです。ただし、一部のタスクは API を使用する必要があります。

次の表に、UI のアクセス方法を示します。

プロダクト UI 名 アクセス URL
Edge Edge UI

Edge UI にアクセスするには、次の URL を開きます。


https://apigee.com/edge

Edge UI の使い方については、初めての API プロキシの作成をご覧ください。

Apigee ハイブリッド Apigee ハイブリッド UI

Apigee ハイブリッド UI にアクセスするには、次の URL を開きます。


https://apigee.google.com/edge

ハイブリッド UI の使い方については、API プロキシの作成をご覧ください。

Edge for Private Cloud Classic Edge UI

Edge for Private Cloud の Classic UI にアクセスするには、次の URL を開きます。


http://ms-ip:9000

ここで、ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。

Apigee UI では、次の操作を行うことができます。

  • コードを編集し、プロキシを通過するリクエスト フローをトレースすることで、API プロキシを作成する。
  • クライアント リクエストに公開するプロキシをまとめた API プロダクトを作成する。
  • デベロッパーとデベロッパー アプリを管理する。
  • テスト環境と本番環境を構成する。
  • JavaScript および Node.js アプリケーションを実装する。

次の図では、UI に API プロキシ エディタが表示されています。このエディタを使用して、API プロキシの作成と構成を行います。

Edge UI の API プロキシ エディタで [Develop] タブが選択されています。

Apigee API を使用する

Apigee Edge API を使用すると、Edge で API リソースを管理できます。この API では、UI で公開されていない低レベルの機能にもアクセスできます。

Apigee API には次の種類があります。

API 名 ベースパス 説明
Edge API https://api.enterprise.apigee.com/v1/organizations/org_name

Edge と Apigee Edge for Private Cloud プロダクトの API エンドポイント。

リソースと Edge API でサポートされるメソッドの詳細については、Apigee Management API リファレンスをご覧ください。

Apigee API https://apigee.googleapis.com/v1/organizations/org_name

Apigee ハイブリッド プロダクトの API エンドポイント。

リソースと Edge API でサポートされるメソッドの詳細については、Apigee API をご覧ください。

これらの API エンドポイントは、多くの場合、構成情報を含むデータを取得するので、これらのエンドポイントにアクセスするにはユーザー名、パスワードなどの認証情報を渡す必要があります。RESTful の原則に従うと、任意の API リソースで HTTP GET メソッド、POST メソッド、PUT メソッド、DELETE メソッドを呼び出すことができます。

アクセスの認証

API を呼び出すときには、API サーバーに対してユーザー自身を認証する必要があります。これは次のいずれかの方法で実行できます。

また、Apigee アカウントの 2 要素認証プロセスの有効化で説明しているように、2 要素認証を使用することをおすすめします。

Apigee API のベースパスについて

API リクエストで使用するパスは、以下の内容を連結したものです。

  • 組織名を含むベースパス(組織名は、Edge UI または Apigee ハイブリッド UI の [User Settings] の下にあります)。
  • アクセスする Edge リソースを指すエンドポイント

たとえば、「apibuilders」という組織名の場合、API に対して実行する呼び出しでは、常に以下のベースパスを使用します。

https://api.enterprise.apigee.com/v1/organizations/apibuilders

組織に存在する API プロキシの一覧を取得するには、次に対する GET を呼び出します。

https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis

多くのリソースでは、環境がスコープとなります。デフォルトでは test と prod の 2 つの環境が提供されています。たとえば、キャッシュのスコープは環境です。デフォルトでは、すべての環境に「mycache」という共有キャッシュが含まれています。

このキャッシュ リソースに対して GET を呼び出すと、次のようにキャッシュを一覧表示できます。

https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches

Edge API を使用する場合のヒント

このセクションでは、Edge API と Apigee API を簡単に操作する方法について説明します。

リクエスト URL の短縮

Edge API のリクエスト URL を作成するときには、次の省略形を使用できます。

  • /e = /environments
  • /o = /organizations
  • /r = /revisions

省略形を使用する場合は、一貫した方法で使用する必要があります。上記の説明や次の例のように、省略する場合はパスのすべての要素を省略してください。パスの一部の要素だけを省略すると、エラーが発生します。

次に例を示します。

THIS:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments
CAN BE MUCH SHORTER:
https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments

Apigee ハイブリッドのみ:
この方法は Apigee API の操作では使用できません。

curl コマンドの実行

HTTP クライアントを使用して、API にリクエストを送信します。ドキュメントに記載されている多くの例では、幅広く使用されている HTTP クライアントである curl を使用した API リクエストがサンプルとして示されています。curl をインストールする必要がある場合は、http://curl.haxx.se からダウンロードできます。

API に対する呼び出しでは、レスポンスでの gzip 圧縮がサポートされています。API 呼び出しで 'Accept-Encoding: gzip, deflate' を設定すると、1024 バイトを超えるレスポンスはすべて gzip 形式で返されます。

XML および JSON のリクエストとレスポンスの形式設定

JSON はレスポンス メッセージのデフォルト形式です。XML が必要な場合は、JSON ではなく XML レスポンスを取得する目的で次の HTTP Accept ヘッダーを追加できます。

curl -H "Accept:text/xml" https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address

ターミナルでの出力を見やすくするには、json.tool Python ライブラリなどの JSON 表現を使用してください。次に例を示します。

curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | python -m json.tool

XML では、xmllint を使用できます。

curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -

XML でペイロードを POST または PUT する場合は、Content-type ヘッダーを使用します。

acurl -H "Content-type:text/xml" -X POST -d \
'<XMLPayload>
 </XMLPayload> ' \
https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address

Apigee ハイブリッドのみ:
この方法は Apigee API の操作では使用できません。

デプロイ環境

Apigee Edge を使用しているすべての組織には、API の開発、テスト、デプロイに使用できる 2 種類の環境(「test」と「prod」)がデフォルトで用意されています。API を開発して公開前にテストするには「test」環境を使用します。社内のデベロッパーだけが、テスト環境にデプロイされている API にアクセスできます。アプリ デベロッパーに対して API を公開するには、API を「prod」環境にデプロイします。

Apigee ハイブリッドのみ:
Apigee ハイブリッドをインストールすると、任意の名前を設定できる環境を 1 つ以上作成できます。少なくとも「prod」環境と「test」環境を作成することをおすすめします。

デバッグとテスト

Apigee では、エンドツーエンドのリクエスト フローとレスポンス フローをデバッグできる Trace ツール(Edge 用とハイブリッド用)が用意されています。トレースの結果には、リクエスト ヘッダー、レスポンス ヘッダー、ペイロード、ポリシーの実行、変数の値、およびフロー中に発生したすべてのエラーが表示されます。

トラブルシューティングで使用できる主要なデータポイント

  • タイムスタンプ: 各ステップの実行にかかる時間を確認するには、タイムスタンプを使用します。タイムスタンプを互いに比較すると、API 呼び出しを遅延させている、実行に最も時間がかかっているポリシーを特定できます。
  • ベースパス: ベースパスを検証することで、ポリシーによってメッセージが正しいサーバーにルーティングされていることを確認できます。
  • ポリシーの実行結果: ポリシーの実行結果では、メッセージが XML から JSON に変換されているかどうか、メッセージがキャッシュされているかどうかなど、メッセージが想定どおりに変更されることを確認できます。

次の図に、トレース結果を示します。

Edge UI の API プロキシ エディタで [Trace] タブが選択されています。

各トレース セッションは、次のステップに分かれています。

  • Original request received from client: クライアント アプリからのリクエストの動詞と URI パス、ヘッダー、本文データ、およびクエリ パラメータが表示されます。
  • Request sent to your backend service: API プロキシによってバックエンド サービスに送信されたリクエスト メッセージが表示されます。
  • Response returned by the backend service: バックエンド サービスによって返されたレスポンス ヘッダーとペイロードが表示されます。
  • Final response sent to client: レスポンス フローが実行された後に要求元のクライアント アプリに返されたレスポンス メッセージです。