Einstein Analytics データの実行、スケジュール、および REST API との同期
データフロージョブの開始と停止
REST API を使用して、データをデータセットに読み込むデータフロージョブの開始を自動化できます。この API は、データマネージャの [今すぐ実行] 機能に相当します。実行中のデータフロージョブを停止することもできます。データフロージョブには、wave/dataflows で定義されたデータフローが含まれます。
- データフロージョブの開始
-
データフローを開始する POST 要求を指定した /wave/dataflowjobs エンドポイントを使用します。POST リクエストボディで、dataflowId パラメータを使用して開始するデータフローを指定します。
1{ 2 "dataflowId": "02KS700000004G3eMAE", 3 "command" : "start" 4}POST 要求が DataflowJobRepresentation を返します。
注意: 同期がまだ実行されていない場合や、前回の実行以降に更新されている場合は、この方法を使用してデータフローを実行すると、関連付けられているオブジェクトのデータ同期が自動的に実行されます。
- データフロージョブの停止
-
特定のデータフロージョブを停止する PATCH 要求を指定した /wave/dataflowjobs/<dataflowjobId> エンドポイントを使用します。PATCH 要求が、dataflowjobId 要求パラメータを使用して、停止するデータフローを指定します。
1{ 2 "command" : "stop" 3}
データフロー、レシピ、データ同期のスケジュール
Analytics REST API を使用して、データフロー、レシピ、データ同期が時間ベースのスケジュール (時間、週、月、曜日、日付) で実行されるように自動化できます。たとえば、データフローをスケジュールして、特定の時刻までにデータを使用できるようにしたり、ジョブを営業時間外に実行したりできます。assetId 要求パラメータを使用して、スケジュールするデータのアセットタイプを指定します。
また、Salesforce Local Connection の同期後にデータフローが実行されるようにイベントベースのスケジュールを設定することもできます。データフローの実行前に同期する必要のある Salesforce オブジェクトのデータをデータフローで抽出する場合、イベントベースのスケジュールを設定します。イベントベースのスケジュールはデータフローにのみ適用され、現在レシピやデータ同期には使用できません。
レシピの場合は、関連するデータフローを作成するために、レシピを 1 回実行する必要があります。初回の実行が完了するまで、レシピにスケジュールを設定することはできません。
- データアセットのスケジュール
-
データアセットをスケジュールする PUT 要求を指定した /wave/asset/<assetId>/schedule エンドポイントを使用します。以下に、設定可能な各種のスケジュールのリクエストボディの例を示します。
時間単位のスケジュールの設定 - リクエストボディの例
このリクエストボディは、アメリカ/ロサンゼルス時間の毎日午前 2 時 30 分から 3 時間ごとに実行され、午後 8 時にキューへの追加が停止される時間ベースのスケジュールを設定します。
1{ 2 "daysOfWeek" : [ 3 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" 4 ], 5 "lastHour" : 20, 6 "hourlyInterval" : 3, 7 "time" : { 8 "hour" : 2, 9 "minute" : 30, 10 "timezone" : "America/Los_Angeles" 11 }, 12 "frequency" : "hourly" 13}週単位のスケジュールの設定 - リクエストボディの例
このリクエストボディは、アメリカ/ロサンゼルス時間の毎週月曜日と木曜日の午前 12 時 45 分に実行される時間ベースのスケジュールを設定します。
1{ 2 "daysOfWeek" : [ 3 "Monday", "Thursday" 4 ], 5 "time" : { 6 "hour" : 0, 7 "minute" : 45, 8 "timezone" : "America/Los_Angeles" 9 }, 10 "frequency" : "weekly" 11}月単位の特定のスケジュールの設定 - リクエストボディの例
このリクエストボディは、アメリカ/ロサンゼルス時間の毎月 1 日、15 日、31 日の午前 12 時に実行される時間ベースのスケジュールを設定します。
1{ 2 "daysOfMonth" : [ 3 1, 31, 15 4 ], 5 "time" : { 6 "hour" : 0, 7 "minute" : 0, 8 "timezone" : "America/Los_Angeles" 9 }, 10 "frequency" : "monthly" 11}月単位の相対スケジュールの設定 - リクエストボディの例
このリクエストボディは、アメリカ/ロサンゼルス時間の毎月最終日曜日の午前 12 時に実行される時間ベースのスケジュールを設定します。
1{ 2 "weekInMonth": "Last", 3 "dayInWeek": "Sunday" 4 "time" : { 5 "hour" : 0, 6 "minute" : 0, 7 "timezone" : "America/Los_Angeles" 8 }, 9 "frequency" : "monthlyrelative" 10}イベントベースのスケジュールの設定 - リクエストボディの例
このリクエストボディは、Salesforce ローカル接続の同期後にデータフローを実行するイベントベースのスケジュールを設定します。レシピとデータ接続は、イベントベースのスケジュールがサポートされていません。
1{ 2 "triggerRule" : "$ALL_SALESFORCE_OBJECTS", 3 "frequency" : "eventdriven" 4}PUT 要求が、assetId 要求パラメータを使用して、スケジュールするデータフロー、レシピ、データ同期を指定します。
1/services/data/v49.0/wave/asset/02KS7000000xxxxxxx/scheduleAPI エラーがある場合を除き、PUT 応答は空です。
DELETE 要求が、assetId 要求パラメータを使用して、削除するデータフロー、レシピ、データ同期スケジュールを指定します。
データ接続の同期
Analytics REST API を使用して、ローカルの Salesforce 組織または外部データソースからの接続済みデータの同期を自動化します。同期されたデータは、データフローやレシピで使用できるオブジェクトとして保存されます。この API は、データマネージャの [今すぐ実行] 機能に相当します。
- データ同期の今すぐ実行
- データ同期を開始する POST 要求を指定した /wave/dataConnectors/<connectorIdOrApiName>/ingest エンドポイントを使用します。リクエストボディは空のまま、URL への POST を実行します。
1{}POST 要求が、connectorIdOrApiName 要求パラメータを使用して、実行するデータ同期を指定します。
1/services/data/v49.0/wave/dataConnectors/0ItS0000000xxxxxxx/ingestPOST 要求が RestoreDatasetVersionRepresentation を返します。