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

共有フローは、API プロキシと似ている、再利用可能な機能です。すでに API プロキシに精通している場合、このリファレンスの多くはよく知っている内容です。

共有フローを構築する方法を学習する場合は、再利用可能な共有フローのトピックから始めることをおすすめします。

共有フローバンドル構造

共有フローバンドルは、次の構成から成り立っています。

基本構成 プライマリ構成設定。基本構成をご覧ください。
ポリシー Apigee ポリシー スキーマに準拠する XML 形式の構成ファイル。ポリシーをご覧ください。
リソース カスタムロジックを実行するためにポリシーが参照するスクリプト、JAR ファイル、XSLT ファイル。リソースをご覧ください。
共有フロー このバンドルに含まれる共有フロー。共有フローをご覧ください。

上記の表内のコンポーネントは、次のディレクトリ構造の構成ファイルによって定義されています。

共有フローバンドルの構成ファイルとディレクトリ構造

このセクションでは、共有フローバンドルの構成ファイルとディレクトリ構造について説明します。

基本構成

基本構成ファイルはバンドルのルート ディレクトリにあります。名前はバンドルの名前です。

/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 この共有フローが準拠する共有フローバンドル構成スキーマのバージョン。現在サポートされている値は、メジャーバージョン 4 とマイナーバージョン 0 のみです。この設定は、共有フローバンドル フォーマットの進化を可能にするために将来使用される可能性があります。 4.0 ×
CreatedAtCreatedBy 共有フローバンドルが作成された日時(エポックタイム)と、その共有フローバンドルを作成したユーザーのメールアドレス。
Description 共有フローのテキスト記述。指定されている場合は、説明が Edge 管理 UI に表示されます。 なし ×
DisplayName ユーザー フレンドリーな名前。共有フロー構成の name 属性とは異なる場合があります。 なし ×
LastModifiedAtLastModifiedBy 共有フローバンドルが最後に変更された日時(エポックタイム)と、その変更を行ったユーザーのメールアドレス。
Policies この共有フローの /policies ディレクトリにあるポリシーのリスト。通常、Edge 管理 UI を使用して共有フローを作成した場合にのみ、この要素が表示されます。これは単に「マニフェスト」設定であり、共有フローの内容を可視化するように設計されています。 なし ×
Resources この共有フローの /resources ディレクトリ内に含まれるリソース(JavaScript、Python、Java、SLV)のリスト。通常、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 デベロッパー フォーラムに質問を投稿してください。