ステップ 3: ExtensionCallout ポリシーを使用する

API プロキシを開発する際に拡張機能のサポートを追加するには、ExtensionCallout ポリシーをプロキシに追加します(単純なプロキシの作成についてサポートが必要な場合は、初めてのプロキシの作成をご覧ください)。

拡張機能のサポートを追加するときに、構成済みの拡張機能に ExtensionCallout ポリシーを関連付けます。ポリシーを関連付けた拡張機能構成の設定で、拡張機能がその接続先のバックエンド リソースとどのようにやり取りするかを定義します。このように明示的に構成された拡張機能が、ExtensionCallout ポリシーによって API プロキシに統合されます。

API プロキシに拡張機能を追加するには:

  1. Apigee Edge コンソールの [Develop] ビューで、API プロキシを開きます。

    拡張機能を作成するには組織管理者である必要がありますが、拡張機能を API プロキシに追加する場合は、どのユーザーロールでもかまいません。

  2. [Navigator] ペインで [PreFlow] を選択します。

  3. 右上にある [+ Step] ボタンをクリックして、ポリシーを追加します。

  4. [Add Step] ダイアログの左側にあるポリシーリストで、[Extension Callout] をクリックします。

    リスト内に ExtensionCallout ポリシーが表示されていない場合は、新しい Edge UI を使用していることを確認してください。また、現在のところ、Apigee の拡張機能は Apigee Edge Cloud Enterprise のお客様のみがご利用できます。

  5. 右側のペインで、次のオプションを選択してポリシーを構成します。
    フィールド 説明
    Display Name ポリシーの表示名を入力します。
    Name ポリシーをプログラムによって使用するための名前を入力します。これは、プロキシ内で一意でなければなりません。
    Extension 使用する拡張機能を選択します。これは、前に構成した拡張機能です。
    Actions 「log」アクションを選択します。
  6. [Add] をクリックします。
  7. フロービューで、ポリシーをクリックしてポリシーの構成 XML を表示します。

    拡張機能を追加すると、ポリシー XML の例が表示されます。<Input> 要素の構成方法を説明するスキーマが含まれています(<Output> 要素のスキーマは無視できます。拡張機能の「log」アクションによって返されるレスポンスの本文はありません)。

  8. ポリシー XML を編集して、次のような内容にします。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-Beta-1">
      <DisplayName>Logging Extension</DisplayName>
      <Connector>my-logging-extension</Connector>
      <Action>log</Action>
      <Input>{
        "logName": "example-log",
        "metadata": {
          "resource": {
            "type": "global",
            "labels": {
              "project_id": "my-gcp-project"
            }
          }
        },
        "message": "This is a test"
      }</Input>
    </ConnectorCallout><!--
    Input JSON Schema for package=gcp-stackdriver-logging version=0.0.4
    {"type":"object","properties":{"logName":{"type":"string"},"metadata":{"type":"string"},"message":{"type":"string"}},"required":["logName","message"]}
    -->
    <!--
    Output JSON Schema for package=gcp-stackdriver-logging version=0.0.4
    {"type":"object","properties":{"content":{"type":"string"}},"required":[]}
    -->

    ここで、<Input> で以下を定義します。

    • logName は、書き込み先のログの名前です。このログが存在しない場合は、拡張機能によって作成されます。
    • metadata で、Stackdriver コンソールでログを参照するために使用できる情報を指定します。
    • message は、書き込むログメッセージです。
  9. [Save] ボタンをクリックします。

次のステップ

ステップ 1 ステップ 2 ステップ 3 ステップ 4: プロキシをデプロイする ステップ 5