Real-Time Integration Business Insightへのビジネス・イベントの送信
/insight-server/api/1.0/event
最初のマイルストンのイベントを送信するときは、オーダー番号やサービス・リクエスト・チケット番号などのインスタンスの一意識別子が格納される
identifierValue
値をペイロードに含めます。 同じ値をcorrelationValue
として送信します。 Insightは、correlationValue
を使用して、同じオーダーなどの同じインスタンスに属するイベントの相関関係を決定します。 各インスタンスに該当するイベントはInsightのコンソールに表示できます。 受信したidentifierValue
と一致しないcorrelationValue
が設定されて送信されたイベントは処理されず、コンソールに表示されないので注意してください。 APIマニフェストをダウンロードして、モデルに追加されたすべてのマイルストンのJSONペイロード・テンプレートを表示します。 各マイルストンのテンプレートには、各マイルストンのビジネス・イベントに対して送付する必要がある
milestoneId
およびmodelId
が含まれています。 Oracle Real-Time Integration Business Insightの使用のAPI呼出しの詳細の表示を参照してください。 リクエスト
- application/json
object
- correlationValue
-
型:
string
必須:true
correlationValueは、オーダー番号やサービス・リクエスト・チケット番号など、1つのインスタンスに属するすべてのイベントの相関関係を設定するために使用します。 最初のマイルストンに該当するイベントでは、correlationValueとidentifierValueと一致する必要があります。 これは新しいインスタンスが作成されるときのみです。 後続のマイルストンに該当するイベントは、同じcorrelationValueで送信されると、同じインスタンスの一部と見なされます。 最初のマイルストン以外に該当するイベントが、新しいcorrelationValueで到着した場合、そのイベントは処理されません。 - dimensions
-
型:
array
dimensionsディメンション名と値のペアを含む配列。 dimensionsは常にマイルストンのコンテキスト内にあります。 dimensionsがペイロードに含まれる場合は、milestoneIdも含める必要があります。 - eventTime
-
型:
string
(オプション): イベントが発生した時刻(有効なJava時刻書式)。 例: 2016-07-07T03:46:40。 - identifierValue
-
型:
string
オーダー番号やサービス・リクエスト・チケット番号など、報告される一意のインスタンス識別子の値 identifierValueは、最初マイルストンに該当するイベントのペイロードに存在する必要があります。 マイルストンのコンテキスト外で報告される追加の識別子の値があってもかまいません。 - measures
-
型:
array
measuresメジャー名と値のペアを含む配列。 measuresは常にマイルストンのコンテキスト内にあります。 measuresがペイロードに含まれる場合は、milestoneIdも含める必要があります。 - milestoneId
-
型:
string
このイベントのターゲットとなるマイルストンのID。 - modelId
-
型:
string
必須:true
このイベントのターゲットとなるモデルのID。
array
-
型:
object
NameValuePair
array
-
型:
object
NameValuePair
object
- name
-
型:
string
必須:true
ディメンションまたはメジャーの名前。 - value
-
型:
string
必須:true
ディメンションまたはメジャーの値。
レスポンス
- application/json
object
- message
-
型:
string
適用可能な場合は、警告またはエラー情報を提供するメッセージ。 - type
-
型:
string
リクエストのステータス。 潜在的な値は、OK、info、too busy、warningおよびerrorです。
例
次の例は、cURLを使用してPOSTリクエストをRESTリソースに発行することにより、一連のビジネス・イベントをReal-Time Integration Business Insightサーバーの処理用に送信する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
このシナリオでは、次のマイルストンを設定して簡単なオーダー処理モデルをInsightに作成しました。最初のマイルストンは、オーダーを受信してインスタンスが作成されたときに渡されます。次にオーダーがシステムに作成されたときに渡されるマイルストンがあり、最後にオーダーが最終的に確定して、出荷されるときにインスタンスが完了するマイルストンがあります。 1つのオーダー・インスタンスに対して、モデルの各マイルストンに該当するビジネス・イベントを送信します。
モデルの一意のインスタンス識別子はオーダー番号です。 最初のマイルストンのペイロードのidentifierValueとして、この値を送信し、次に同じ値をcorrelationValueとして送信することにより、後続のマイルストンのイベントの相関関係を指定します。
このモデルは、Oracle Integration Analytics Cloud: Insight Event REST APIによるメトリックのパブリッシュのOracle By Exampleチュートリアルで使用されているモデルに取ってかわるモデルです。
Order Received(初回)マイルストンのリクエスト本文の例
このイベントは最初のマイルストンに該当するため、identifierValueとcorrelationValueの一致する値がリクエスト・ペイロードに含まれている必要があります。 Insightが受信する一意のidentifierValueごとに、新しいインスタンスがシステムに作成されます。 同じインスタンスから受信される後続のイベントは、同じcorrelationValueを指定して送信される必要があります。次の例にそれを示します。 Insightはこのようにして各インスタンスのイベントの相関関係を決定し、この例では、オーダー番号によってイベントの相関関係を決定します。 既存のidentifierValueと一致しないcorrelationValuesが設定されて受信したイベントは処理されません。
次に、モデルのOrder Received (初回)マイルストンに該当するイベントのcURLコマンドおよびJSONリクエスト本文の例を示します。 modelID、identiferValueおよびcorrelationValueは必須です。 このシナリオでは、ItemOrdered、PriceおよびCustomerメジャーおよびCountryディメンションもリクエストに含まれています。
curl -X POST -u jsmith:password -H "Content-Type: application/json" -d '{ "modelId" : "OrderProces_vcYrMs9z", "identifierValue" : "10001", "correlationValue" : "10001", "measures" : [ { "name" : "ItemOrdered", "value" : "Digital Alarm Clock" }, { "name" : "Price", "value" : "60.00" }, { "name" : "CustomerName","value" : "Dande Lion" } ], "milestoneId" : "OrderReceived", "dimensions" : [ { "name" : "Country", "value" : "England" } ] }' "https://<Public IP of Real-Time Integration Business Insight server>:<port>/insight-server/api/1.0/event"
レスポンス・ヘッダーの例
レスポンス・ヘッダーの例を次に示します。 各マイルストンに対して送信するリクエストで、同様のデータを受信します。
HTTP/1.1 202 Accepted Date: Thu, 04 Aug 2016 14:09:57 GMT Content-Length: 26 Content-Type: application/json X-ORACLE-DMS-ECID: ecce841b-f050-4ae3-8b34-af47a7e1a23b-00014046 X-ORACLE-DMS-RID: 0
レスポンス本文の例
JSON形式のレスポンス本文のコンテンツの例を次に示します。 各マイルストンに対して送信するリクエストで、同様のデータを受信します。
{ "type": "ok", "message": "" }
Order Createdマイルストンのリクエスト本文の例
次に、モデルのOrder Createdマイルストンに該当するイベントのcURLコマンドおよびJSONリクエスト本文の例を示します。 modelIdおよび(相関関係があるインスタンスを示す) correlationValueは必須です。 このシナリオでは、DiscountおよびTotalPriceメジャーおよびCustomerStatusディメンションもリクエストに含まれています。
curl -X POST -u jsmith:password -H "Content-Type: application/json" -d '{ "modelId" : "OrderProces_vcYrMs9z", "correlationValue" : "10001", "measures" : [ { "name" : "Discount", "value" : "6.00" }, { "name" : "TotalPrice", "value" : "54.00" } ], "milestoneId" : "OrderCreated", "dimensions" : [ { "name" : "CustomerStatus", "value" : "Bronze" } ] }' "https://<Public IP of Real-Time Integration Business Insight server>:<port>/insight-server/api/1.0/event"
Order Finalized (最終)マイルストンのリクエスト本文の例
次に、モデルのOrder Finalized (最終)マイルストンに該当するイベントのcURLコマンドおよびJSONリクエスト本文の例を示します。 modelIDおよび(相関関係があるインスタンスを示す) correlationValueは必須です。 このシナリオでは、ShippingCostメジャーおよびShippingMethodディメンションもリクエストに含まれています。
curl -X POST -u jsmith:password -H "Content-Type: application/json" -d '{ "modelId" : "OrderProces_vcYrMs9z", "correlationValue" : "10001", "measures" : [ { "name" : "ShippingCost", "value" : "10.00" } ], "milestoneId" : "OrderFinalized", "dimensions" : [ { "name" : "ShippingMethod", "value" : "Standard" } ] }' "https://<Public IP of Real-Time Integration Business Insight server>:<port>/insight-server/api/1.0/event"
相関関係を設定するイベントのリクエスト本文の例
次に、相関関係を設定するイベントのcURLコマンドおよびJSONリクエスト本文の例を示します。これは、イベントに対して取得されたインスタンス識別値がインスタンス中に変更された場合に送信されます。 ネイティブ(SOA、Service Bus)のシナリオでは、識別子の「追加マッピング」としてモデル化されます。 REST APIを使用する場合は、追加の相関関係設定イベントを送信することにより、実行時に処理されます。
modelIDおよびcorrelationValueは必須で、(相関関係の設定先を示す)新しいidentifierValueも必須です。 このインスタンスの後続のイベントでは、新しいインスタンス識別子(この例では10002)をcorrelationValueを設定して送信すれば、すべてのイベントが同じインスタンスに属するものとして相関関係が決定されます。
curl -X POST -u jsmith:password -H "Content-Type: application/json" -d '{ ' "modelId": "OrderProces_vcYrMs9z", ' "correlationValue": "10001", ' "identifierValue": "10002" }' "https://<Public IP of Real-Time Integration Business Insight server>:<port>/insight-server/api/1.0/event"