API プロキシを開発する際に拡張機能のサポートを追加するには、ExtensionCallout ポリシーをプロキシに追加します(単純なプロキシの作成についてサポートが必要な場合は、初めてのプロキシの作成をご覧ください)。
拡張機能のサポートを追加するときに、構成済みの拡張機能に ExtensionCallout ポリシーを関連付けます。ポリシーを関連付けた拡張機能構成の設定で、拡張機能がその接続先のバックエンド リソースとどのようにやり取りするかを定義します。このように明示的に構成された拡張機能が、ExtensionCallout ポリシーによって API プロキシに統合されます。
API プロキシに拡張機能を追加するには:
- Apigee Edge コンソールの [Develop] ビューで、API プロキシを開きます。
拡張機能を作成するには組織管理者である必要がありますが、拡張機能を API プロキシに追加する場合は、どのユーザーロールでもかまいません。
- [Navigator] ペインで [PreFlow] を選択します。
- 右上にある [+ Step] ボタンをクリックして、ポリシーを追加します。
- [Add Step] ダイアログの左側にあるポリシーリストで、[Extension Callout] をクリックします。
リスト内に ExtensionCallout ポリシーが表示されていない場合は、新しい Edge UI を使用していることを確認してください。また、現在のところ、Apigee の拡張機能は Apigee Edge Cloud Enterprise のお客様のみがご利用できます。
- 右側のペインで、次のオプションを選択してポリシーを構成します。
フィールド 説明 Display Name ポリシーの表示名を入力します。 Name ポリシーをプログラムによって使用するための名前を入力します。これは、プロキシ内で一意でなければなりません。 Extension 使用する拡張機能を選択します。これは、前に構成した拡張機能です。 Actions 「log」アクションを選択します。 - [Add] をクリックします。
- フロービューで、ポリシーをクリックしてポリシーの構成 XML を表示します。
拡張機能を追加すると、ポリシー XML の例が表示されます。
<Input>
要素の構成方法を説明するスキーマが含まれています(<Output>
要素のスキーマは無視できます。拡張機能の「log」アクションによって返されるレスポンスの本文はありません)。 - ポリシー 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
は、書き込むログメッセージです。
- [Save] ボタンをクリックします。