このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントはこちらをご覧ください。
Apigee Analytics は、API を介して送受信されるさまざまなデータを収集して、分析します。Apigee Analytics では、インタラクティブなダッシュボードやカスタム レポート、API プロキシ パフォーマンスの傾向を識別するツールなどの可視化ツールを利用できます。
Apigee Analytics から Google Cloud Storage や Google BigQuery などの独自のデータ リポジトリに分析データをエクスポートすることで、このリッチ コンテンツを自由に利用できるようになりました。さらに、Google BigQuery と TensorFlow が提供する強力なクエリ機能と ML 機能を利用して、独自のデータ分析を行うことができます。また、エクスポートした分析データをウェブログなどの他のデータと組み合わせることで、ユーザーや API、アプリケーションに関する新たな知見を得ることもできます。
エクスポートでサポートされているデータ形式
分析データは、次のいずれかの形式にエクスポートできます。
カンマ区切り値(CSV)
デフォルトの区切り文字はカンマ(,)です。サポートされている区切り文字は、カンマ(,)、パイプ(|)、タブ(\t)です。区切り文字の値を構成するには、エクスポート リクエスト プロパティのリファレンスで説明されているように
csvDelimiter
プロパティを使用します。JSON(改行区切り)
改行文字を区切り文字として使用できます。
エクスポートされたデータには、Apigee に組み込まれたすべての分析指標とディメンション、および自身で追加したカスタム分析データが含まれます。エクスポートされるデータの説明については、アナリティクス指標、ディメンション、フィルタのリファレンスをご覧ください。
分析データは、次のデータ リポジトリにエクスポートできます。
分析データのエクスポート手順
次の手順は、分析データをエクスポートする際のプロセスを要約したものです。
- データのエクスポート先になるデータ リポジトリを構成します(Cloud Storage または BigQuery)。データ リポジトリが正しく設定されていることと、データをデータ リポジトリに書き込む際に使用する Apigee Service Agent サービス アカウントに正しい権限があることを確認する必要があります。
- データのエクスポート先となるデータ リポジトリ(Cloud Storage または BigQuery)のプロパティを定義するデータストアを作成します。
- 分析データをエクスポートします。データのエクスポートはバックグラウンドで非同期に実行されます。
- エクスポート リクエストのステータスを表示して、エクスポートが完了したかどうかを判断します。
- エクスポートが完了したら、データ リポジトリ内のエクスポートされたデータにアクセスします。
以降のセクションでは、これらのステップについて詳しく説明します。
データ リポジトリの構成
分析データのエクスポートでアクセスできるように、Cloud Storage または BigQuery を構成します。
Google Cloud Storage の構成
Google Cloud Storage にデータをエクスポートする前に、次のことを行う必要があります。
Google Cloud Storage バケットを作成します。
Google Cloud Platform プロジェクトで BigQuery API が有効になっていることを確認します。Apigee は、BigQuery API を使用して、Cloud Storage へのエクスポート時に BigQuery のエクスポート機能を使用します。
手順については、API の有効化をご覧ください。
メールアドレスが
service-project-number@gcp-sa-apigee.iam.gserviceaccount.com
の Apigee Service Agent サービス アカウントに次のロールが割り当てられていることを確認してください。- BigQuery ジョブユーザー
- ストレージ管理者
以下に示すように、project-number はプロジェクトのホームページに表示されます。
リソースに対するアクセス権の付与、変更、取り消しをご覧ください。
既存のロールに変更を加える場合やカスタムロールを作成する場合、そのロールに次の権限を追加します。
bigquery.jobs.create
storage.objects.create
storage.objects.delete
storage.objects.list
Google BigQuery の構成
Google BigQuery にデータをエクスポートするには、次の要件を満たしている必要があります。
- Google Cloud Platform プロジェクトで BigQuery が有効になっていることを確認します。
- Google Cloud Platform プロジェクトで BigQuery API が有効になっていることを確認します。手順については、API の有効化をご覧ください。
メールアドレスが
service-project-number@gcp-sa-apigee.iam.gserviceaccount.com
の Apigee Service Agent サービス アカウントに次のロールが割り当てられていることを確認してください。- BigQuery ジョブユーザー
- BigQuery データ編集者
以下に示すように、project-number はプロジェクトのホームページに表示されます。
リソースに対するアクセス権の付与、変更、取り消しをご覧ください。
既存のロールに変更を加える場合やカスタムロールを作成する場合は、そのロールに次の権限を追加します。
bigquery.datasets.create
bigquery.datasets.get
bigquery.jobs.create
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
BigQuery データセットを作成します。
米国または EU の個々のリージョンでの BigQuery へのデータのエクスポート
米国または EU の分析データは米国または EU のマルチリージョンのいずれかに保存されるため、BigQuery の個々の US または EU リージョンに直接データをエクスポートすることはできません。回避策として、まずデータを Google Cloud Storage にエクスポートしてから、次のように BigQuery に転送します。
- Cloud Storage バケットを作成し、[ロケーション] に BigQuery のデータに関連付ける個々のリージョン(米国または EU)を設定します。
- 前の手順で作成したストレージ バケットを使用して、Cloud Storage データストアを作成します。
- データを Cloud Storage にエクスポートします。例については、以下の例 1: Cloud Storage にデータをエクスポートするをご覧ください。
- 次のセクションの説明に従って、データを BigQuery に読み込みます。
データストアの管理
データストアはエクスポート データのリポジトリ(Cloud Storage、BigQuery)への接続を定義します。
以降のセクションでは、データストアの作成と管理の方法について説明します。データストアを作成する前に、データ リポジトリ構成をテストすることをおすすめします。
データ リポジトリ構成のテスト
データ リポジトリを作成するときに、Apigee は構成に対するテストや検証を行いません。つまり、データストアを作成(次の手順)して最初のデータ エクスポートを実行するまで、エラーを検出することはできません。
データのエクスポートには実行に時間がかかることがあるため、データストアを作成する前にテストを行い、データ リポジトリの構成が有効かどうか確認しておくと、エラーを早期に検出して修正することができます。
データ リポジトリの構成をテストするには、POST リクエストを /organizations/{org}/analytics/datastores:test
API に発行します。リクエスト本文で次の情報を渡します。
- 表示名
- データストア タイプ
- データストア タイプに基づく構成の詳細(データストア リクエスト プロパティのリファレンスを参照)
たとえば、次のテストでは、Cloud Storage データ リポジトリの構成を確認しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores:test" \ -X POST \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "displayName": "My Cloud Storage datastore", "targetType": "gcs", "datastoreConfig": { "projectId": "my-project", "bucketName": "my-bucket", "path": "my/analytics/path" } }'
テストが成功した場合のレスポンスは次のようになります。
{
"state": "completed",
}
テストが失敗した場合のレスポンスは次のようになります。
{
"state": "failed",
"error": "<error message>"
}
失敗した場合はエラー メッセージの問題を解決し、データ リポジトリの構成を再度テストしてください。テストに成功したら、次のセクションの説明に従ってデータストアを作成します。
データストアの作成
データストアを作成するには、/organizations/{org}/analytics/datastores
API に POST リクエストを発行します。リクエスト本文で次の情報を渡します。
- 表示名
- データストア タイプ
- データストア タイプに基づく構成の詳細(データストア リクエスト プロパティのリファレンスを参照)
以下に、各データストア タイプの例を示します。
Cloud Storage データ リポジトリのレスポンスは次のようになります。
{
"self": "/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b",
"displayName": "My Cloud Storage datastore",
"org": "myorg",
"targetType": "gcs",
"createTime": "1535411583949",
"lastUpdateTime": "1535411634291",
"datastoreConfig": {
"projectId": "my-project",
"bucketName": "my-bucket",
"path": "my/analytics/path"
}
}
データストアの詳細を表示するで説明するように、self
プロパティで返される URL を使用してデータストアの詳細を確認します。
詳細については、データストア API を作成するをご覧ください。
例 1: Cloud Storage データストアを作成する
次のリクエストでは、Cloud Storage データストアを作成しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores" \ -X POST \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "displayName": "My Cloud Storage datastore", "targetType": "gcs", "datastoreConfig": { "projectId": "my-project", "bucketName": "my-bucket", "path": "my/analytics/path" } }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
例 2: BigQuery データストアを作成する
次のリクエストでは、BigQuery データストアを作成しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores" \ -X POST \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "displayName": "My BigQuery datastore", "targetType": "bigquery", "datastoreConfig": { "projectId": "my-project", "datasetName": "mybigquery", "tablePrefix": "bqprefix" } }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
すべてのデータストアの表示
組織のすべてのデータストアを表示するには、/organizations/{org}/analytics/datastores
API に対して GET リクエストを発行します。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{
"datastores": [
{
"self": "/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b",
"displayName": "My Cloud Storage datastore",
"org": "myorg",
"targetType": "gcs",
"createTime": "1535411583949",
"lastUpdateTime": "1535411634291",
"datastoreConfig": {
"projectId": "my-project",
"bucketName": "my-bucket",
"path": "my/analytics/path"
}
},
{
"self": "/organizations/myorg/analytics/datastores/g8c3f0mk-1f78-8837-9c67-k222b60ce30b",
"displayName": "My BigQuery datastore",
"org": "myorg",
"targetType": "bigquery",
"createTime": "1535411583949",
"lastUpdateTime": "1535411634291",
"datastoreConfig": {
"projectId": "my-project",
"datasetName": "mybigquery",
"tablePrefix": "bqprefix"
}
}
]
}
詳細については、データストア API の一覧表示をご覧ください。
データストアの詳細の表示
データストアの詳細を表示するには、/organizations/{org}/analytics/datastores/{datastore}
API に GET リクエストを発行します。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
Cloud Storage データストアのレスポンスは次のようになります。
{
"self": "/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b",
"displayName": "My Cloud Storage datastore",
"org": "myorg",
"targetType": "gcs",
"createTime": "1535411583949",
"lastUpdateTime": "1535411634291",
"datastoreConfig": {
"projectId": "my-project",
"bucketName": "my-bucket",
"path": "my/analytics/path"
}
}
詳細については、データストア API の取得をご覧ください。
データストアの変更
データストアを変更するには、/organizations/{org}/analytics/datastores/{datastore}
API に PUT リクエストを発行します。リクエスト本文の次の情報のすべてまたは一部を渡します。
- データストアの表示名
- データストア タイプに基づく構成の詳細(データストア リクエスト プロパティのリファレンスを参照)
たとえば、Cloud Storage データストアを更新するには、次のようにします。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores" \ -X PUT \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "displayName": "My Cloud Storage datastore", "datastoreConfig": { "projectId": "my-project", "bucketName": "my-bucket", "path": "my/analytics/path" } }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
Cloud Storage データストアのレスポンスは次のようになります。
{
"self": "/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b",
"displayName": "My Cloud Storage datastore",
"org": "myorg",
"targetType": "gcs",
"createTime": "1535411583949",
"lastUpdateTime": "1535411634291",
"datastoreConfig": {
"projectId": "my-project",
"bucketName": "my-bucket",
"path": "my/analytics/path"
}
}
詳細については、データストア API を更新するをご覧ください。
データストアの削除
データストアを削除するには、/organizations/{org}/analytics/datastores/{datastore}
API に DELETE リクエストを発行します。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/myorg/analytics/datastores/c7d3b5aq-1c64-3389-9c43-b211b60de35b" \ -X DELETE \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{}
詳細については、データストア API を削除するをご覧ください。
分析データのエクスポート
分析データをエクスポートするには、/organizations/{org}/environments/{env}/analytics/exports
API に POST リクエストを発行します。リクエスト本文で次の情報を渡します。
- エクスポート リクエストの名前と説明
- エクスポートするデータの期間(指定できる範囲は 1 日のみ)
- エクスポートするデータの形式
- データストア名
エクスポート リクエストの例を以下に示します。リクエスト本文のプロパティについて詳しくは、エクスポート リクエスト プロパティのリファレンスをご覧ください。
POST リクエストに対するレスポンスは次のようになります。
{
"self": "/organizations/myorg/environments/test/analytics/exports/a7c2f0dd-1b53-4917-9c42-a211b60ce35b",
"created": "2017-09-28T12:39:35Z",
"state": "enqueued"
}
レスポンスに含まれる state
プロパティが enqueued
に設定されていることに注目してください。POST リクエストは非同期的に機能します。POST リクエストはレスポンスを返した後も、引き続きバックグラウンドで実行されます。state
に指定できる値は、enqueued
、running
、completed
、failed
です。
self
プロパティで返された URL を使用して、データ エクスポート リクエストのステータスを表示します。詳細については、分析データのエクスポート リクエストのステータスの表示をご覧ください。リクエストが完了すると、レスポンスの state
プロパティの値が completed
に設定されます。その後、データストア内の分析データにアクセスできるようになります。
詳細については、Create データ エクスポート API をご覧ください。
例 1: Cloud Storage にデータをエクスポートする
次の例では、myorg 組織の test 環境から過去 24 時間の元データをすべてエクスポートします。コンテンツは JSON 形式で Cloud Storage にエクスポートされます。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/analytics/exports" \ -X POST \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "name": "Export raw results to Cloud Storage", "description": "Export raw results to Cloud Storage for last 24 hours", "dateRange": { "start": "2020-06-08", "end": "2020-06-09" }, "outputFormat": "json", "datastoreName": "My Cloud Storage data repository" }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
self
プロパティで指定された URI を使用して、ジョブのステータスをモニタリングします。手順については、分析データのエクスポート リクエストのステータスの表示をご覧ください。
例 2: BigQuery にデータをエクスポートする
次の例では、カンマ区切りの CSV ファイルを BigQuery にエクスポートしています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/analytics/exports" \ -X POST \ -H "Content-type:application/json" \ -H "Authorization: Bearer $TOKEN" \ -d \ '{ "name": "Export query results to BigQuery", "description": "One-time export to BigQuery", "dateRange": { "start": "2018-06-08", "end": "2018-06-09" }, "outputFormat": "csv", "csvDelimiter": ",", "datastoreName": "My BigQuery data repository" }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
注: エクスポートされた CSV ファイルから、次の接頭辞を持つ BigQuery テーブルが作成されます。
<PREFIX>_<EXPORT_DATE>_api_<UUID>_from_<FROM_DATE>_to_<TO_DATE>
self
プロパティで指定された URI を使用して、ジョブのステータスをモニタリングします。手順については、分析データのエクスポート リクエストのステータスの表示をご覧ください。
Export API の割り当てについて
コストのかかる Data Export API 呼び出しの過剰な使用を防止するため、Apigee では organizations/{org}/environments/{env}/analytics/exports
API の呼び出しに組織単位で 1 日あたり 15 回の割り当てを適用しています。
呼び出しの割り当てを超えた場合、API は HTTP 429 レスポンスを返します。
すべての分析データ エクスポート リクエストのステータスの表示
すべての分析データ エクスポート リクエストのステータスを表示するには、GET
リクエストを /organizations/{org}/environments/{env}/analytics/exports
に発行します。
たとえば、次のリクエストは、myorg
組織の test
環境に対するすべての分析データ エクスポート リクエストのステータスを返します。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/analytics/exports" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
以下は、2 つのエクスポート要求をリストしたレスポンスの例です。1 つはエンキュー(作成済みでキューに入っている)、もう 1 つは完了したことを示しています。
[
{
"self":
"/v1/organizations/myorg/environments/test/analytics/exports/e8b8db22-fe03-4364-aaf2-6d4f110444ba",
"name": "Export results To Cloud Storage",
"description": "One-time export to Cloud Storage",
"userId": "my@email.com",
"datastoreName": "My datastore",
"executionTime": "36 seconds",
"created": "2018-09-28T12:39:35Z",
"updated": "2018-09-28T12:39:42Z",
"state": "enqueued"
},
{
"self":
"/v1/organizations/myorg/environments/test/analytics/exports/9870987089fe03-4364-aaf2-6d4f110444ba"
"name": "Export raw results to BigQuery",
"description": "One-time export to BigQuery",
...
}
]
詳細については、List データ エクスポート API をご覧ください。
分析データ エクスポート リクエストのステータスの表示
特定の分析データ エクスポート リクエストのステータスを表示するには、GET
リクエストを /organizations/{org}/environments/{env}/analytics/exports/{exportId}
に送信します。ここで、{exportId}
は対象の分析データ エクスポート リクエストに関連付けられている ID です。
たとえば、次のリクエストにより、ID が 4d6d94ad-a33b-4572-8dba-8677c9c4bd98
の分析データ エクスポート リクエストのステータスが返されます。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/analytics/exports/4d6d94ad-a33b-4572-8dba-8677c9c4bd98" \ -X GET \ -H "Authorization: Bearer $TOKEN"
レスポンスの例を次に示します。
{
"self":
"/v1/organizations/myorg/environments/test/analytics/exports/4d6d94ad-a33b-4572-8dba-8677c9c4bd98",
"name": "Export results to Cloud Storage",
"description": "One-time export to Cloud Storage",
"userId": "my@email.com",
"datastoreName": "My datastore",
"executionTime": "36 seconds",
"created": "2018-09-28T12:39:35Z",
"updated": "2018-09-28T12:39:42Z",
"state": "enqueued"
}
詳細については、Get データ エクスポート API をご覧ください。
分析データのエクスポートで分析データが返されなかった場合、executionTime
は 0 秒に設定されます。
データストア リクエスト プロパティのリファレンス
次の表に、データストア タイプに基づいてデータストアを作成するときに、リクエスト本文で JSON 形式で渡すことができるプロパティを示します。
Google Cloud Storage の場合:
プロパティ | 説明 | 必須かどうか |
---|---|---|
プロジェクト ID | Google Cloud Platform のプロジェクト ID Google Cloud Platform プロジェクトを作成するには、Google Cloud Platform ドキュメントのプロジェクトの作成と管理をご覧ください。 |
○ |
バケット名 | 分析データのエクスポート先となる Cloud Storage 内のバケットの名前。 注: データ エクスポートを実行する前にバケットが存在している必要があります。 Cloud Storage バケットを作成するには、Google Cloud Platform ドキュメントのバケットを作成するをご覧ください。 |
○ |
パス | 分析データを Cloud Storage バケットに保存するディレクトリ。 | ○ |
BigQuery の場合:
プロパティ | 説明 | 必須かどうか |
---|---|---|
プロジェクト ID | Google Cloud Platform のプロジェクト ID Google Cloud Platform プロジェクトを作成するには、Google Cloud Platform ドキュメントのプロジェクトの作成と管理をご覧ください。 |
○ |
データセット名 | 分析データのエクスポート先とする BigQuery データセットの名前。データのエクスポートをリクエストする前に、データセットが作成されていることを確認します。 BigQuery データセットを作成するには、Google Cloud Platform ドキュメントのデータセットの作成と使用をご覧ください。 |
○ |
テーブルの接頭辞 | BigQuery データセットの分析データ用に作成されるテーブル名の接頭辞 | ○ |
エクスポート リクエスト プロパティのリファレンス
次の表に、分析データをエクスポートするときに、JSON 形式のリクエスト本文で渡すことができるプロパティを示します。
プロパティ | 説明 | 必須かどうか |
---|---|---|
description
|
エクスポート リクエストの説明。 | × |
name
|
エクスポート リクエストの名前。 | ○ |
dateRange
|
エクスポートするデータの
"dateRange": { "start": "2018-07-29", "end": "2018-07-30" }
注: 前日からすべてのデータを確実に取得するには、エクスポート リクエストの開始時刻を遅らせる必要があります(たとえば、00:05:00 AM UTC など)。 |
○ |
outputFormat
|
json または csv を指定します。 |
○ |
csvDelimiter
|
|
× |
datastoreName
|
データストアの定義を含むデータストアの名前 | ○ |
次に例を示します。
{
"name": "Export raw results to Cloud Storage",
"description": "Export raw results to Cloud Storage for last 24 hours",
"datastoreName": "My Cloud Storage datastore"
}