DataPower Gateway (Classic) のみ

DataPower Gateway (v5 compatible)Invoke ポリシーの構成

以下のステップに従って、アセンブリー・ユーザー・インターフェースで DataPower® Gateway (v5 compatible)「起動」 ポリシーを構成します。

このタスクについて

注: このトピックでは、 DataPower Gateway (v5 compatible)での Invoke ポリシーの実装について説明します。 を使用している場合は DataPower API Gateway、 「 DataPower の Invoke ポリシーの設定 」を参照してください。 API Gateway さまざまなタイプのゲートウェイについては、 API Connect ゲートウェイ・タイプを参照してください。

OpenAPI ソースでのポリシーの設定方法の詳細については、 invokeを参照してください。

ポリシー内の最後の invokeproxyに置き換えられていることに気付く場合があります。 パフォーマンス向上のため、 IBM® API Connect ( DataPower Gateway )によって置換が自動的に行われる場合があります。 proxy は機能的には invokeと同等ですが、 proxy が使用される場合、API 呼び出し元は以下の違いに気付く可能性があります。
  • invoke または proxy から送信された HTTP リクエストがリダイレクトされた場合(3xx) 応答:
    • invoke は、リダイレクト応答に従って応答を返します。
    • proxy が後に続かない3xx応答が返され、リダイレクト応答が返されます。
  • IBM API Connect のテストツールでは が proxy 使用されたと表示されていますが、分析のレイテンシ記録 invoke には が表示されています。
  • proxy からの応答には、 invokeからの応答とは異なる空白文字またはエスケープを含めることができます。 このような違いがあっても、応答は引き続き有効です。
アセンブリー内の最後の invokeproxyに置き換えられないようにするには、API プロパティー api.properties.x-ibm-gateway-optimize-invokefalseに設定します。 詳細については、 「APIのプロパティ」 を参照してください。

手順

  1. ナビゲーション ペインで [開発] ナビゲーション・ペインの「開発」アイコン をクリックし、 [API ] タブを選択します
    「開発」 ページが開きます。
  2. 作業する API 定義のタイトルをクリックします。
  3. 「ゲートウェイ」 タブを選択し、ナビゲーション・ペインで 「ポリシー」 をクリックします。
    APIのアセンブリ エディターの操作に関する詳細については、 「アセンブリ エディター」 を参照してください。
  4. パレットで 「呼び出し」 ポリシーを見つけて、そのポリシーをキャンバスにドラッグします。
  5. 以下のプロパティーを指定します。
    表 1. ポリシーのプロパティを呼び出す
    プロパティー・ラベル 必須 説明 データ・タイプ
    役職 はい ポリシーのタイトル。

    デフォルト値は invokeです。

    ストリング
    説明 いいえ ポリシーの説明。 ストリング
    URL はい ターゲット・サービスの URL を指定します。

    SOAP API の場合、URL がデフォルトで追加されます。 可能であれば、インポートされた WSDL で定義されている情報から、「呼び出し URL」の値はあらかじめ入力されます。

    ストリング
    TLS プロファイル いいえ データ伝送をセキュアにするために使用する TLS プロファイルを指定します。 ストリング
    タイムアウト はい エンドポイントからの応答の前に待機する時間 (秒単位)。

    デフォルト値は 60です。

    整数
    リダイレクトに従う いいえ バックエンドサーバーが HTTP ステータスコード 301 Moved Permanently を返した場合の動作を指定します。 このチェックボックスを選択すると、 invoke ポリシーは、 URL リダイレクトに従って、応答の Location ヘッダーで指定された URL にさらにコールを実行します。 このチェック・ボックスをクリアすると、 invoke301 状況コードを保存し、API 呼び出しは完了したと見なされます。
    注: follow-redirect プロパティーは、 DataPower API Gatewayでのみサポートされます。 を使用している場合 DataPower Gateway (v5 compatible)、は invoke 常に URL のリダイレクトに従います。一方、 proxy ポリシー(ではサポートされていません DataPower API Gateway)は 301 ステータスコードを保存し、 URL のリダイレクトに従わずにAPI呼び出しを完了させます。
    ブール値
    ユーザー名 いいえ HTTP 基本認証で使用するユーザー名。 ストリング
    パスワード いいえ HTTP 基本認証で使用するパスワード。 ストリング
    HTTPメソッド はい 呼び出しで使用する HTTP メソッド。 以下の値が有効です。
    • 保持
    • GET
    • POST
    • PUT
    • 削除
    • パッチ
    • ヘッド
    • オプション
    デフォルト値は GETです。 ただし、Keep に設定した場合、またはプロパティーがソースから削除された場合は、着信要求の HTTP メソッドが使用されます。
    ストリング
    圧縮 いいえ アップロード時に Content-Encoding 圧縮を有効にするには、このチェック・ボックスを選択します。

    このチェック・ボックスは、デフォルトではクリアされています。

    ブール値

    キャッシュ・タイプ

    いいえ キャッシュ・タイプを使用して、文書をキャッシュするかどうかを指定します。この指定により、ターゲット URL からの応答で受信した HTTP のキャッシュ制御ディレクティブを優先するかオーバーライドするかが決まります。 このプロパティーは、応答を受信した場合にのみ有効になります。応答を受信しなかった場合、ポリシーは常に、キャッシュに以前保存されていた、有効期限の切れていない応答を返します。
    有効な値は以下のとおりです。
    Protocol
    キャッシュの動作は、RFC 7234 に従って、要求と応答の Cache-Control ヘッダーによって決定されます。

    パフォーマンスを最適化するために、キャッシュ内に存在しないが、ターゲット URL から応答を受信したときにキャッシュできる可能性があるリソースに対する複数の要求を受信したゲートウェイは、ターゲット URL に対して要求を 1 つのみ送信します。残りの要求は、最初の要求に対する応答を受信し、その応答からキャッシュの動作が決定されるまで処理されません。 応答によりキャッシュが可能であることが示された場合、ゲートウェイはキャッシュされたリソースを使用してすべての待ち要求に応答します。 応答によりキャッシュが不可であることが示された場合、ゲートウェイはすべての待ち要求をターゲット URL に送信します。

    このオプションは、ターゲット URL からの応答がキャッシュ可能であると想定される場合にのみ使用してください。その場合、パフォーマンスが向上し、ターゲット URL に対する要求を制限できます。 ただし、ターゲット URL からの応答がゲートウェイでのキャッシュの必要性を示すことがない場合、「キャッシュなし」オプションと比較してパフォーマンスが低下する可能性があります。

    キャッシュなし
    返されるキャッシュ・ヘッダーにかかわらず、ターゲット URL からの応答はゲートウェイ上にキャッシュされません。 この場合、クライアントからのすべての要求はターゲット URL に送信されます。

    このオプションは、バックエンド応答を一切ゲートウェイ上にキャッシュしない場合、またはターゲット URL からの応答が、Cache-Control ヘッダー設定によるキャッシュを許可する可能性が低い場合に使用してください。

    有効期間
    このオプションは、「プロトコル」オプションに似ていますが、呼び出しまたはプロキシーからの正常な応答をキャッシュ内に残す時間を指定できるという点が異なります。 このオプションは、ターゲット URL からの応答がキャッシュ可能であると想定される場合にのみ使用してください。

    デフォルト値は 「プロトコル」です。

    ストリング
    有効期間 いいえ キャッシュ内に応答を保存する時間を秒単位で指定します。 プロパティー 「キャッシュ・タイプ」Time to Liveに設定されている場合にのみ適用されます。 5 から 31708800 までの範囲内で値を指定してください。

    デフォルト値は 900です。

    整数
    キャッシュ・キー いいえ 文書のキャッシュ・エントリーの固有の ID を指定します。 このプロパティーを省略すると、URL ストリング全体がキーとして使用されます。 ストリング
    エラー発生時に停止 いいえ ポリシーの実行中にスローされた場合、アセンブリー・フローを停止させるエラーを選択します。 エラー用に構成された catch フローがある場合は、スローされたエラーを処理するためにトリガーされます。 エラーがスローされ、「エラー発生時に停止」設定でエラーが選択されていない場合、またはスローされたエラーが選択されたエラーの 1 つでない場合、ポリシーの実行の完了が許可され、アセンブリー・フローが続行されます。 ストリング

    応答オブジェクト変数

    いいえ 要求の応答データを格納するための変数の名前。 デフォルトでは、message 変数に呼び出しの応答 (本文、ヘッダー、statusCode、statusMessage) が保存されます。 このプロパティーを使用して、呼び出しの応答を格納する代替位置を指定します。 この変数は、 Map などの他のアクションから参照することができます。
    注: 応答を messageに保存する場合は、 「応答オブジェクト変数」 プロパティーをブランクのままにして、値 messageを指定 しないでください
    ストリング
    バッファリング いいえ 「バッファリング」 を選択して、ペイロードをバッファリングするかどうかを指定します。 「バッファリング 」が選択されている場合、ペイロードはバッファリングされ、Invokeポリシーはペイロードのタイプを確認できます。 「バッファリング 」が選択されていない場合、ペイロードはストリーム配信されるため、Invokeポリシーではペイロードの種類を確認できません。
    注: バッファリングを有効にする場合は、ペイロードを解析するためのParseポリシーも設定する必要があります。 Parseポリシーが設定されていない場合、ペイロードは解釈されないバッファのままとなり、バックエンドサービスが または binary 型のペイロード detectを受け入れる場合、Invokeポリシーは成功します。 Parseポリシーが設定されている場合、バッファリングが無効になっていても、解析にはペイロード全体をバッファリングする必要があるため、ストリーミングは暗黙的に無効になります。 詳細については、 Parse を参照してください。
    ブール値
  6. [ ソース] アイコンをクリックし、ポリシーの YAML ファイルの OpenAPI ソース・アイコン [version] セクション version を指定して、ポリシーのバージョンを設定します。 以下に例を示します。
    execute:
      - invoke:
          version: 1.0.0
          title: invoke
      ...
    使用しているゲートウェイと互換性のあるバージョンをポリシーに指定する必要があります。 API の公開時に、バージョンがゲートウェイと非互換の場合、使用可能なバージョンを指定する検証エラーがスローされます。
  7. 「保存」をクリックします。

- invoke:
          version: 1.0.0
          title: get the account status
          timeout: 60
          verb: POST
          cache-response: time-to-live
          cache-ttl: 900
          stop-on-error:
            - ConnectionError
            - OperationError
          tls-profile: MyTLSProfile
          target-url: https://example.com/accounts/{id}?status={status}
          username: MyUser
          password: MyPassword