共有フローバンドル構成リファレンス

共有フローは、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 ×
CreatedAtCreatedBy 共有フローバンドルが作成された日時(エポックタイム)と、その共有フローバンドルを作成したユーザーのメールアドレス。
Description 共有フローに関するテキスト形式の説明。指定されている場合は、説明が Edge management UI に表示されます。 なし ×
DisplayName ユーザーにわかりやすい名前。共有フロー構成の name 属性とは異なる場合があります。 なし ×
LastModifiedAtLastModifiedBy 共有フローバンドルが最後に変更された日時(エポックタイム)と、その共有フローバンドルを変更したユーザーのメールアドレス。
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 デベロッパー フォーラムに質問を投稿してください。