このトピックでは、API プロキシの基本的な特徴と、詳細情報のリンクを示します。
API は、あるアプリケーションが別のアプリケーションの機能を使用するためのエントリ ポイントです。API プロキシを実装して API を作成します
Apigee Edge では、クライアント コードからのリクエストに応答して実行される一連のステップとして API プロキシ ロジックを構成することにより、API プロキシを実装します。リソースパス、HTTP 動詞、本文の要件などを含む URL を格納するエンドポイントを定義することによって、API プロキシをクライアントに公開します。
ここでは API プロキシと呼んでいますが、クライアント コードから見ると API です。
API プロキシの概要については、API と API プロキシの概要をご覧ください。
フローを使用して一連の API プロキシ ロジックを配置します
どのようなアプリケーションでも、データは条件ロジックに導かれてアプリケーション内を流れていきます。Apigee Edge では、処理のパスはフローで構成されています。フローは、API プロキシの処理パスを構成する一連のステージ(「ステップ」)です。クライアントからバックエンド リソースまで、さらにバックエンド リソースから元のクライアントまでの間の特定の場所で、Apigee Edge がロジックと動作を適用するための仕組みは、フローによって提供されます。
フローの詳細については、フローでプロキシの実行方法を制御するをご覧ください。
API プロキシによって作成されたフロー変数を介して状態データにアクセスします
API プロキシは、実行状態を表す変数にアクセスできます。これらの変数には、API プロキシとポリシーを構成する XML からアクセスできます。Java、JavaScript、Python などの手続き型言語を使用して API プロキシを拡張している場合も、これらの変数にアクセスできます。
これらの変数は Apigee Edge により保持されています。一部の変数は、通常は API プロキシの動作の一般的な要素である(たとえば HTTP リクエストの一部である)という理由により、デフォルトで存在します。また、ロジックの要件を満たす独自の変数を作成することもできます。
変数の詳細については、フロー変数を使用したプロキシ状態の管理をご覧ください。
API プロキシにより条件付きで実行できます
多くのプログラミング言語と同様に、API プロキシでは条件付きでコードを実行できます。ほとんどの場合は、フロー変数を介してアクセスできる API プロキシ状態に基づいた条件を使用します。たとえば、ユーザー エージェントをチェックし、それに応じてリクエストを処理する条件を設定できます。
条件付き実行の詳細については、フロー変数と条件をご覧ください。
多くのロジックをポリシーにより API プロキシに実装できます
API プロキシに追加するロジックの多くは、ポリシーとしてパッケージ化されています。ポリシーは、セキュリティやトラフィック管理などの機能領域のロジックをカプセル化した Apigee Edge コンポーネントです。ポリシーは、基になるロジックのプロパティを設定した XML によって構成します。フロー内の一連の「ステップ」にポリシーを配置して、API プロキシがプロキシの目的に最も適した順序でロジックを実行できるようにします。
ポリシーの詳細については、ポリシーとはをご覧ください。
再利用可能な機能セットを組み込むことができます
コード内の複数の場所(他の API プロキシなど)で使用されるロジックが API プロキシに組み込まれている場合、そのロジックを 1 か所にまとめて複数の場所から呼び出せるようにすることができます。たとえば、他の API プロキシが呼び出す共有フロー内でセキュリティ ロジックをグループ化して、API プロキシ間の重複を減らすことができます。
共有フローの詳細については、再利用可能な共有フローをご覧ください。API プロキシ チェーンの詳細については、API プロキシ チェーンを作成するをご覧ください。
Trace ツールを使用してプロキシをデバッグできます
Apigee Edge には、デバッグおよびテスト時に API プロキシの実行フローを検査するのに使用できる Trace ツールが用意されています。このツールは、リクエストに対して実行される各 API プロキシ ステップを視覚的に表します。デバッガを使用する場合と同様、それぞれのステップで、API プロキシ状態を構成する変数値のリストを参照できます。
Trace ツールによるデバッグの詳細については、Trace ツールの使用をご覧ください。
API プロキシエラーを障害として処理できます
障害ハンドラを構成することにより、API クライアントに戻されるエラーをカスタマイズできます。障害ハンドラでは、エラーの発生原因が自分のコードであっても組み込みのコンポーネント(ポリシーなど)であっても、エラー メッセージを制御できます。
詳細については、障害の処理をご覧ください。