API プロキシ開発の要点

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

このトピックでは、API プロキシの基本的な特徴と、詳細情報のリンクを示します。

API は、あるアプリケーションが別のアプリケーションの機能を使用するためのエントリ ポイントです。API プロキシを実装して API を作成する

Apigee で API プロキシを実装するには、クライアント コードからのリクエストに応答して実行される一連のステップとして API プロキシ ロジックを構成します。リソースパス、HTTP 動詞、本文の要件などを含む URL を格納するエンドポイントを定義して、API プロキシをクライアントに公開します。

これは API プロキシと呼ばれていますが、クライアント コードの側から見ると API です。

API プロキシの概要については、API と API プロキシについてをご覧ください。

フローを使用して一連の API プロキシ ロジックを配置する

どのアプリケーションでも、データは条件ロジックに従ってアプリケーションに送信されます。Apigee では、処理のパスはフローで構成されています。フローとは、API プロキシの処理のパスを構成する一連の段階(ステップ)です。フローは、Apigee がクライアントからバックエンド リソースまでの特定の場所にロジックと動作を適用してからクライアントに戻す方法を提供します。

フローの詳細については、フローでプロキシの実行方法を制御するをご覧ください。

API プロキシによって作成されたフロー変数を介して状態データにアクセスする

API プロキシは、実行状態を表す変数にアクセスできます。これらの変数には、API プロキシとポリシーを構成する XML からアクセスできます。Java、JavaScript、Python などの手続き型言語を使用して API プロキシを拡張している場合にもアクセスできます。

これらの変数は Apigee により保持されます。一部の変数は API プロキシの動作に共通であるため(HTTP リクエストの一部であるなど)、デフォルトで存在します。また、ロジックの要件を満たす独自の変数を作成することもできます。

変数の詳細については、フロー変数を使用したプロキシ状態の管理をご覧ください。

API プロキシを条件付きで実行する

多くのプログラミング言語と同様に、API プロキシでは条件付きでコードを実行できます。ほとんどの場合は、フロー変数を介してアクセスできる API プロキシ状態に基づいた条件を使用します。たとえば、ユーザー エージェントをチェックし、適宜リクエストを処理する条件を設定できます。

条件付き実行の詳細については、フロー変数を使用した条件をご覧ください。

多くのロジックをポリシーで API プロキシに実装する

API プロキシに追加するロジックの多くは、ポリシーとしてパッケージ化されています。ポリシーは、セキュリティやトラフィック管理などの機能領域のロジックをカプセル化した Apigee コンポーネントです。ポリシーは、基になるロジックのプロパティを設定した XML によって構成します。フロー内の一連の「ステップ」にポリシーを配置して、API プロキシがプロキシの目的に最も適した順序でロジックを実行できるようにします。

ポリシーの詳細については、ポリシーとはをご覧ください。

再利用可能な機能セットを組み込む

コード内の複数の場所(他の API プロキシなど)で使用されるロジックが API プロキシに組み込まれている場合、そのロジックを 1 か所にまとめて複数の場所から呼び出せるようにすることができます。たとえば、他の API プロキシが呼び出す共有フロー内でセキュリティ ロジックをグループ化して、API プロキシ間の重複を減らすことができます。

注: 共有フローの詳細については、再利用可能な共有フローをご覧ください。API プロキシ チェーンの詳細については、API プロキシ チェーンを作成するをご覧ください。

Debug ツールを使用してプロキシをデバッグする

Apigee には、デバッグおよびテスト時に API プロキシの実行フローの検査に使用できる Debug ツールが用意されています。このツールは、リクエストに対して実行される各 API プロキシ ステップを視覚的に表します。デバッガを使用する場合と同様に、それぞれのステップで、API プロキシ状態を構成する変数値のリストを参照できます。

Debug ツールでのデバッグの詳細については、Debug ツールをご覧ください。

API プロキシエラーを障害として処理する

障害ハンドラを構成することにより、API クライアントに戻されるエラーをカスタマイズできます。障害ハンドラでは、エラーの発生原因が自分のコードであっても、組み込みのコンポーネント(ポリシーなど)であっても、エラー メッセージを制御できます。

詳細については、障害の処理をご覧ください。