失敗したイベントの取得

REST API エンドポイントを使用して、構成されたエンドポイントに公開されていない失敗したイベントを取得できます。

アプリケーションが設定されたエンドポイントにイベントを発行できない場合、IBM Cloud® Object Storageまたは Webhook を使用すると、REST API を使用して失敗したイベントをダウンロードできます。 これらのイベントは3日間利用可能で、その後は消去される。

失敗したイベントを取得するために利用可能な3つのREST APIエンドポイントがある。

失敗したイベントを取得するには、定期的にエンドポイントからデータを抽出するプロセスを実装して、失敗したイベントを監視します。 失敗したイベントを見逃さないように、必要に応じてデータを抽出することができます。

失敗したイベントの取り出し

注:
  • エンドポイントIDをお持ちでない場合は、「IBM® Support」でチケットを開き、エンドポイントIDをリクエストしてください。 チケットを開くには、IBM Supportをご覧ください。

手順

  1. 以下のいずれかの API を呼び出して、最初の 100 個のイベント・ファイルを取得します。
    • エンドポイントに関係なくイベント・ファイルを取得する場合:
      curl --request GET \
      --url https://api.watsoncommerce.ibm.com/odx/{tenantId}/v1/failed-event-files \
      --header 'authorization: Bearer <bearer token>' \
      --header 'content-type: application/json'
    • 特定のエンドポイントからイベント・ファイルを取得するには、以下のようにします。
      curl --request GET \
      --url https://api.watsoncommerce.ibm.com/odx/{tenantId}/v1/failed-event-files/endpoints/<endpoint ID> \
      --header 'authorization: Bearer <bearer token>' \
      --header 'content-type: application/json'
      特定のイベントコードのイベントファイルを取得する:
      curl --request GET \
      --url https://api.watsoncommerce.ibm.com/odx/{tenantId}/v1/failed-event-files/events/<event code> \
      --header 'authorization: Bearer <bearer token>' \
      --header 'content-type: application/json'
      注:
      • レガシーイベントと demandChange 、イベントコードとは異なるイベントIDを使用する。 この API は、イベント ID( Supply.Change など)ではなく、イベントコード( supplyChange など)を理解する。
        新しいイベントでは、イベントIDとイベントコードは同じである。
      • 1つのエンドポイントが2つ以上のイベントコードを受信している場合、このAPIはそのエンドポイントのすべてのファイルを取得します。
      サンプル出力データ:
      [
        {
           "endpointId": " eb188627-4556-410b-84a7-7b1b47da204e",
           "fileName": " eb188627-4556-410b-84a7-7b1b47da204e_2022-01-25T183415Z_96alBB1.zip",
           "downloadFileUrl": "https://s3.us-east.cloud-object-storage.appdomain.cloud/<failed event one time URL>",
           "urlExpiryInSeconds": "43200",
           "creationTimestamp": "Tue Jan 25 18:34:16 UTC 2022"
        }
        {
           "endpointId": " eb188627-4556-410b-84a7-7b1b47da204e",
           "fileName": " eb188627-4556-410b-84a7-7b1b47da204e_2022-01-25T183415Z_96alBB1.zip",
           "downloadFileUrl": "https://s3.us-east.cloud-object-storage.appdomain.cloud/<failed event one time URL>",
           "urlExpiryInSeconds": "43200",
           "creationTimestamp": "Tue Jan 25 18:34:16 UTC 2022"
        }
      ]
      注: 空の配列は、現在ダウンロード可能なファイルがないことを示します。 この呼び出しは、エンドポイントのプル・キュー内の最初の 100 個のイベント・ファイルの 1 つを返します。 新しいイベントは、以前のイベントが削除された後に返されます。
  2. 前のステップで返された各イベント・ファイルを取得し、イベント・ファイルをローカルにダウンロードします。
    curl <downloadFileUrl> --output <filename>
  3. ファイルが保存されたら、エンドポイント上のイベント・ファイルを削除します。
    curl --request DELETE \
    --url https://api.watsoncommerce.ibm.com/odx/{tenantId}/v1/failed-event-files \
    --header 'authorization: Bearer <bearer token>' \
    --header 'content-type: application/json' \
    --data-raw '["filename1","filename2"]'
  4. すべてのメッセージがダウンロードされるまで、上記のステップを繰り返します。
注:{tenantId}」は「Sterling Intelligent PromisingテナントIDで、「{endpointId}」はオンボーディング時に提供されたIDです。