概念: データ エクスポートREST API
概要
Prism RESTサービスのデータ エクスポートAPI、テーブル バックド Prism データ ソースから大規模なデータをエクスポートでき能力。
主な機能
- テーブル裏の Prismデータ ソースからデータをエクスポートするデータ エクスポートジョブを作成します。
- 特定のデータのエクスポートジョブをキャンセルします。データ エクスポートジョブのステータスが "スケジュール済" または "実行中" である必要があります。
- 制約のないセキュリティ グループのユーザーは、すべてのデータ エクスポート ジョブを表示およびキャンセルできます。
- セルフサービスセキュリティ グループのユーザーは、自分が作成したデータ エクスポート ジョブのみを表示およびキャンセルできます。
- データ エクスポートジョブ ""のステータスを確認してください。
- スケジュール済: データ エクスポートジョブ () のWorkdayがスケジュールされています。
- 処理Workday: 現在、データ エクスポートジョブ ()が実行されています。
- 成功: データ エクスポートWorkdayが完了し、エクスポートされたデータを含む 1 つ以上の出力ファイルが作成されています。
- Workday: ユーザーのリクエストにより、データ エクスポートジョブの実行が停止した。
- 失敗: データ エクスポートジョブ ()を実行する際にWorkdayが発生しました。
- エクスポートされたデータを含む出力ファイルをダウンロードします。
- 現在のユーザーのセキュリティ プロファイルで許可されている出力ファイルのみダウンロードできます。
- ファイルは順番に、または並行してダウンロードできます。出力ファイルを並行してダウンロードすることで、すべての出力ファイルをダウンロードするのに必須時間を短縮できます。
- ダウンロードのパフォーマンスは、以下に依存します。
- ファイル数。
- 並行ダウンロードの数。
- APIクライアントとWorkdayサーバー間のネットワーク帯域幅。例:クライアントがサーバーとは異なる地域にある場合、ファイルをダウンロード時間は長くなります。
ユース ケース
ユース ケース | 説明 |
|---|---|
開示と法定報告 | 日次から年次までのスケジュールにおいて、 Workdayから特定の期間について大量の詳細な財務データを抽出する必要があります。エクスポートした後、エンタープライズ データレイク ツールや規制対応レポート ツールにデータを送信できます。このツールを使用すると、厳格な規制に準拠するために財務開示を簡単にフォーマットして送信できます。 |
高度な分析、データ サイエンス、各種レポート。 | Workdayから特定の期間について、大量の詳細な業務データを抽出する必要があります。エクスポート後、エンタープライズ レイクまたはデータ サイエンス ワークベンチにデータを送信できます。そこでは、以下の対象項目について予測モデルを作成できます。
|
規制上の保留とアーカイブ。 | 5 ~ 7 年間の財務データをアーカイブすることで、規制およびコンプライアンスの基準を満たす必要があります。該当する規制および業界に従って、リクエスト後すぐにこのデータを規制当局および監査人が使用できるようにする必要があります。 |
検証リクエスト。 | 完全な監査を実施するには、指定した期間における特定の残数について、すべてのトランザクション、アクティビティ、およびメタデータをリクエストする必要があります。このデータは、毎月、毎四半期、年間単位だけでなく、過去の年度についても必須です。多数のデータを監査データベースにエクスポートする必要があります。 |
URL 基本パス
テナントの基本パス
データ エクスポートジョブの作成例:https://{hostname}/api/prismAnalytics/{version}/{tenantname}/dataExport
https://yourTenantHostName.com/api/prismAnalytics/v3/<TENANT_NAME>/dataExport
Workday Extend API Gateway Base Path
Workday Extend アプリの場合は、会社 ()の地域APIゲートウェイの基本 URL を使用してください。開発者サイトの参考: Workday Extend API Gateways and Authorization Base URLs を参照してください。
APIゲートウェイの基本 URL に、テナント名 ""が含まれていません。
セキュリティの考慮事項
"Prism"業務分野の以下のドメイン:
- Prism データのエクスポート: 実行: データ エクスポート ジョブを作成できるユーザーを制御します。
- Prism データ エクスポート: 管理: データ エクスポート ジョブを表示およびキャンセルできるユーザーを制御します。
データ エクスポート ジョブの作成
-
POST /dataExport
エンドポイント は、データ エクスポートジョブの作成を容易にします。セキュリティの考慮事項:
- "Prism Analytics"業務分野の"Prism Data Export: Execute"ドメイン
- エクスポートするテーブルに関する以下のセキュリティ要件のいずれか:
- "Prism Analytics"業務分野の"Prism: Tables Manage" ドメイン
- "Prism Analytics"業務分野の"Prism: Tables Owner Manage" ドメイン
- テーブル ""の"テーブル ビューアー"権限。
- テーブルの"テーブル エディタ"権限。
- テーブル"" のテーブル オーナー権限。
この方法を使用して、指定した Prismデータ ソースのデータ エクスポートジョブを作成します。
データ エクスポートジョブを作成すると、Prismデータ ソースのデータを含むファイルが 1 つ以上生成され、ローカル コンピュータにダウンロード可能になります。
リクエスト本文で、以下のパラメータの値を指定します。
本文パラメータ | タイプ | 説明 |
|---|---|---|
input | オブジェクト | Prismデータ ソースからエクスポートするすべてのフィールドを指定する WQL クエリーを含めます。
以下の形式を使用してください。
WQL クエリーを記述する際は、以下に留意してください。
入力パラメータで有効なクエリーを指定する方法の詳細については、参考: WQL クエリーの使用先と、データ エクスポートのガイドラインを参照してください。 |
output | オブジェクト | 以下の形式を使用してください。
|
リクエストのサンプル:
POST /dataExport
リクエスト本文のサンプル:
{ "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "type": "CSV_GZIP", "headers": true } }
Sample Response
{ "createdMoment": "2017-03-17T00:00:00.000Z", "status": "Scheduled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "id": "b1bd0e1ac5d410001193bf9340050000" }
データ エクスポート ジョブ ステータスの取得
-
GET /dataExport
エンドポイントは、すべてのデータ エクスポート ジョブの取得を容易にします。-
GET /dataExport/{id}
によって、1 つのエクスポートジョブ() の取得が容易になります。セキュリティの考慮事項:
"Prism Analytics"業務分野の
"Prism Data Export: Manage
" ドメインこのエンドポイントは、現在のユーザーが権限を持つデータ エクスポート ジョブを返します。コレクションを取得する際は、以下のオプション クエリー パラメータを使用できます。
クエリー パラメータ | 説明 | デフォルト | 最大 |
|---|---|---|---|
type | 含める回答フィールドは、"" タイプの値によって決まります。
| サマリ | |
limit | 1 つの回答に含まれるオブジェクト データ エントリの上限。 | 20 | 1000 |
offset | 回答に含めるコレクション内の最初のオブジェクトへのオフセット。 | 0 |
リクエストのサンプル:
GET /dataExport
Sample Response:
回答は、 JSON形式でデータ エクスポート ジョブをまとめたものです。
このサンプル回答には、1 つのデータ エクスポートジョブ ""のみが表示されます。
{ "total": 7, "data": [ { "createdMoment": "2023-08-03T22:47:10.929Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT insuranceOfficeState, sourceFileTag, sort1, sort2, agentCity, agentCountry, agentNote, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "output": { "noOfFiles": 4, "totalSizeInBytes": 5610214, "totalRows": 110408 }, "id": "b1bd0e1ac5d4100013ad1f50c6910000" }, ... ] }
ID = b1bd0e1ac5d410001193bf9340050000 のデータ エクスポートジョブに関する情報を取得するサンプル リクエスト:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000
Sample Response:
{ "createdMoment": "2023-08-03T22:08:42.928Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "createdTime": "2023-08-03T22:08:53.725Z", "expirationTime": "2023-08-10T22:08:53.725Z", "noOfFiles": 2, "totalSizeInBytes": 359680, "totalRows": 41301, "results": [ { "name": "part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 298913 }, { "name": "part-00001-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 60767 } ] }, "id": "b1bd0e1ac5d410001193bf9340050000" }
出力ファイルのダウンロード中
-
GET /dataExport/{id}/results/{fileName}
エンドポイント を使用すると、データ エクスポートジョブからの出力ファイルのダウンロードが容易になります。以下を指定します。
- データ エクスポートジョブの ID。
- データ エクスポートジョブの出力ファイルの名前。
-
GET /dataExport/{id}
エンドポイント は出力ファイルの名称を指定します。現在のユーザーのセキュリティ プロファイルで許可されている出力ファイルのみダウンロードできます。ファイルは順番に、または並行してダウンロードできます。
セキュリティの考慮事項:
"Prism Analytics"業務分野の
"Prism Data Export: Manage
" ドメイン Part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz という名前のファイルをダウンロードするためのサンプル リクエスト:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000/results/part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c 000.csv.gz
データ エクスポート ジョブのキャンセル
-
POST /dataExport/{id}/cancel
エンドポイントは、スケジュールされているか、実行されている特定のデータ エクスポートジョブをキャンセルするのに役立ちます。キャンセルできるのは、現在のユーザーのセキュリティ プロファイルで許可されているデータ エクスポート ジョブのみです。
セキュリティの考慮事項:
"Prism Analytics"業務分野の以下のいずれかのドメイン:
- Prism データのエクスポート: 実行
- Prism データのエクスポート: 管理
エクスポートするテーブルに関する以下のセキュリティ要件のいずれか:
- "Prism Analytics"業務分野の"Prism: Tables Manage" ドメイン
- "Prism Analytics"業務分野の"Prism: Tables Owner Manage" ドメイン
- テーブル ""の "テーブル ビューアー" 権限。
- テーブルの "テーブル エディタ"権限。
- テーブル"" のテーブル オーナー権限。
リクエストのサンプル:
このメソッドのリクエスト本文には、空のJSON文字列 {} を含める必要があります。
ID が "b1bd0e1ac5d4100018d18abc4ea00000" のデータ エクスポートジョブをキャンセルするサンプル リクエスト:
POST /dataExport/b1bd0e1ac5d4100018d18abc4ea00000/cancel
Sample Response:
回答には、現在のステータスが "キャンセル" であるデータ エクスポートジョブがJSON形式で含まれます。
{ "createdMoment": "2023-08-04T00:21:24.914Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Canceled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "id": "b1bd0e1ac5d4100018d18abc4ea00000" }
制限事項
- エクスポート ジョブは優先度の低いジョブで、パブリッシュなどの他のジョブよりも優先順位が低くなります。
- 生成されたファイルは 7 日後に削除されるため、ダウンロードできません。
- 以下の最高値は、システムのパフォーマンスと信頼性を最適化するためのガードレールとして設定されています。
- エクスポートジョブごとに 10 億行。
- クエリーごとに 1,000 列。
- 同時ダウンロードリクエスト:
- システムの上限に達した場合、"503 - HIT_SERVER_LIMIT" という回答が表示されます。
- テナントがその制限を超えた場合、"429 - HIT_Tenant_LIMIT" という回答が表示されます。
- 同時実行エクスポート ジョブ:
- ユーザーまたはテナントごとに一度に実行できるエクスポートジョブは1 つだけです。
- 追加のエクスポート ジョブは、現在のジョブが完了するまで自動的に待機になります。
共通エラー
検証エラー:
- 不正な入力 JSON です。
- 不正な sql、無効なフィールド/テーブル名、サポートされていません。
- ガードレール: フィールド数が 10000 以上。
- セキュリティ上の制約が満たされていません。
実行エラー
- システム エラー
- ガイダンス: 抽出に 1B 行を超える行があった場合は失敗します。
API をダウンロード
- ダウンロードする際には、予期しないネットワークの問題やシステムの問題が原因で HTTPクライアントで再試行が必要となるため、常に推奨されます。テナントとサーバーに対して作成される同時接続の数にレート制限が適用されています。HTTP ステータス コードが不定期に表示される場合があります429または503これらの強制制限により、しばらく待ってから、クライアントを再試行することをお勧めします。
パフォーマンスの考慮事項
データ抽出パフォーマンス:
- データ抽出の実行時間は、データのタイプやデータの行と列の数によって異なります。
- データ巻が多いと実行時間は長くなります。
ダウンロード パフォーマンス:
- すべてのファイル サイズの合計ダウンロード時間は、結果をダウンロードプロセスの数に応じて減少します。
- ダウンロードのパフォーマンスは、ネットワーク帯域幅やテナント サーバーの事業地によっても影響を受ける可能性があります。