共有フローは、API プロキシと同様の再利用可能な機能です。すでに API プロキシの知識がある場合は、このリファレンスの内容の多くにも馴染みがあることでしょう。
共有フローの作成方法を学習する場合は、再利用可能な共有フローのトピックから始めることをおすすめします。
共有フローバンドル構造
共有フローバンドルは、次の構成で構成されています。
基本構成 | メインの構成設定。基本構成をご覧ください。 |
ポリシー | Apigee Edge ポリシー スキーマに準拠する XML 形式の構成ファイル。ポリシーをご覧ください。 |
リソース | カスタム論理を実行するためにポリシーによって参照されるスクリプト、JAR ファイル、XSLT ファイル。リソースをご覧ください。 |
SharedFlows | このバンドルに含まれる共有フロー。共有フローをご覧ください。 |
上記の表内のコンポーネントは、次のディレクトリ構造の構成ファイルによって定義されています。
共有フローバンドルの構成ファイルとディレクトリ構造
このセクションでは、共有フローバンドルの構成ファイルとディレクトリ構造について説明します。
基本構成
基本構成ファイルはバンドルのルート ディレクトリにあります。ファイルの名前はバンドルの名前です。
/sharedflowbundle/traffic-management-shared.xml
基本構成では、バンドルのリビジョン履歴を追跡するための情報とともに、共有フローバンドルの内容を定義します。
<SharedFlowBundle revision="2" name="traffic-management-shared"> <ConfigurationVersion majorVersion="4" minorVersion="0"/> <CreatedAt>1478637529218</CreatedAt> <CreatedBy>gladys@example.com</CreatedBy> <Description>Shared flow to moderate API traffic</Description> <DisplayName>traffic-management-shared</DisplayName> <LastModifiedAt>1481573374023</LastModifiedAt> <LastModifiedBy>gladys@example.com</LastModifiedBy> <Policies> <Policy>Auth-Flow-Callout</Policy> <Policy>Extract-Token</Policy> <Policy>Spike-Arrest</Policy> </Policies> <Resources> <Resource>jsc://extract-token.js</Resource> </Resources> <SharedFlows> <SharedFlow>default</SharedFlow> </SharedFlows> </SharedFlowBundle>
基本構成の属性
名前 | 説明 | デフォルト | 必須 |
---|---|---|---|
SharedFlowBundle |
|||
name |
共有フローバンドルの名前。組織内で一意にする必要があります。名前に使用できるのは、次の文字のみです。A-Za-z0-9_- |
なし | ○ |
revision |
共有フローバンドル構成のリビジョン番号。Apigee Edge は共有フローの現在のリビジョンを自動的にトラッキングするため、リビジョン番号を明示的に設定する必要はありません。 | なし | × |
基本構成の要素
名前 | 説明 | デフォルト | 必須 |
---|---|---|---|
SharedFlowBundle |
|||
ConfigurationVersion |
この共有フローが準拠する共有フローバンドル構成スキーマのバージョン。現在サポートされている値は、majorVersion 4 と minorVersion 0 のみです。この設定は、共有フローバンドル フォーマットの進化を可能にするために将来使用される可能性があります。 | 4.0 | × |
CreatedAt と CreatedBy |
共有フローバンドルが作成された日時(エポックタイム)と、その共有フローバンドルを作成したユーザーのメールアドレス。 | ||
Description |
共有フローに関するテキスト形式の説明。指定されている場合は、説明が Edge 管理 UI に表示されます。 | なし | × |
DisplayName |
共有フロー構成の name 属性とは異なる可能性のある、わかりやすい名前。 |
なし | × |
LastModifiedAt と LastModifiedBy |
共有フローバンドルが最後に変更された日時(エポックタイム)と、その共有フローバンドルを変更したユーザーのメールアドレス。 | ||
Policies |
この共有フローの /policies ディレクトリにあるポリシーのリスト。通常、Edge 管理 UI を使用して共有フローを作成した場合にのみ、この要素が表示されます。これは、単に「マニフェスト」設定であり、共有フローの内容を視認できるように設計されています。 |
なし | × |
Resources |
この共有フローの /resources ディレクトリにあるリソース(JavaScript、Python、Java、XSLT)のリスト。通常、Edge 管理 UI を使用して共有フローを作成した場合にのみ、この要素が表示されます。これは、単に「マニフェスト」設定であり、共有フローの内容を視認できるように設計されています。 |
なし | × |
SharedFlows |
このバンドルに含まれる共有フローを指定します。
現在、この要素は 1 つの子要素 <SharedFlow> のみをサポートしていることに注意してください。共有フローバンドルに追加できる共有フローは 1 つのみの可能性があります。 |
なし | ○ |
共有フロー
/sharedflowbundle/sharedflows/default.xml
SharedFlow 構成は、フロー要素を実行する順序を定義します。<SharedFlow> 要素の <Step> 子要素はそれぞれ、ポリシーの呼び出しなど、順序の一部を指定します。
次の SharedFlow 構成では、3 つのポリシーが上から下への順序(管理コンソールでは左から右への順序)で実行されるように指定します。最初は Spike Arrest ポリシー、最後は Flow Callout ポリシーが実行されます。
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> <Step> <Name>Extract-Token</Name> </Step> <Step> <Name>Auth-Flow-Callout</Name> </Step> </SharedFlow>
共有フロー構成の属性
名前 | 説明 | デフォルト | 必須 |
---|---|---|---|
SharedFlow |
|||
name |
共有フローの名前。組織内で一意にする必要があります。名前に使用できるのは、次の文字のみです。A-Za-z0-9_- |
なし | ○ |
revision |
共有フロー構成のリビジョン番号。Apigee Edge は共有フローの現在のリビジョンを自動的にトラッキングするため、リビジョン番号を明示的に設定する必要はありません。 | なし | × |
共有フロー構成要素
名前 | 説明 | デフォルト | 必須 |
---|---|---|---|
SharedFlow |
共有フローのポリシーの順序を定義します。 | なし | ○ |
Step |
手順を定義します。フローのシーケンス内のステージです。 | なし | ○ |
Name |
手順で参照される項目の名前を指定します。この要素の値は、ポリシーの name 属性の値など、項目の一意の識別子と同じである必要があります。 | なし | ○ |
ポリシー
/sharedflowbundle/policies
API プロキシと同様に、共有フローバンドルの /policies
ディレクトリには、バンドル内の共有フローに接続できるすべてのポリシーの構成 XML が含まれています。ポリシーは要素のサブセットを共有しますが、このサブセットはポリシーに固有の要素で強化されています。ポリシーを構成する方法の詳細については、必要なポリシーに関するトピックを参照してください。これらのトピックには、ポリシー リファレンスの概要からアクセスすることもできます。
リソース
/sharedflowbundle/resources
リソースは、ポリシーを使用して共有フローに添付できるスクリプト、コード、XSL 変換です。これらは、管理 UI の共有フローエディタの「スクリプト」セクションに表示されます。
サポートされているリソースタイプについては、リソース ファイルをご覧ください。
Apigee デベロッパー フォーラムに質問を投稿してください。