本文說明如何設定儲存空間洞察資料集。
事前準備
設定資料集前,請先完成下列步驟。
取得必要角色
如要取得設定資料集所需的權限,請要求管理員在來源專案中授予下列 IAM 角色:
-
如要設定資料集:
儲存空間洞察管理員 (
roles/storageinsights.admin) -
如要連結資料集,請按照下列步驟操作:
-
儲存空間洞察分析師 (
roles/storageinsights.analyst) -
BigQuery 管理員 (
roles/bigquery.admin)
-
儲存空間洞察分析師 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備設定資料集所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要設定資料集,您必須具備下列權限:
-
設定資料集:
-
storageinsights.datasetConfigs.create -
storage.buckets.getObjectInsights
-
-
連結至 BigQuery 資料集:
storageinsights.datasetConfigs.linkDataset
啟用 Storage Insights API
控制台
指令列
如要在目前的專案中啟用 Storage Insights API,請執行 gcloud services enable 指令:
gcloud services enable storageinsights.googleapis.com
如要進一步瞭解如何為 Google Cloud 專案啟用服務,請參閱啟用及停用服務。
設定 Storage Intelligence
請確認已為要透過資料集分析的專案、資料夾或機構設定 Storage Intelligence。
建立資料集設定
如要建立資料集設定,請按照下列步驟操作。如要進一步瞭解可為資料集設定指定的欄位,請參閱資料集設定屬性。
控制台
- 前往 Google Cloud 控制台的 Cloud Storage「Storage Insights」頁面。
按一下「設定資料集」。
在「為資料集命名」部分,輸入資料集的名稱。 視需要輸入資料集說明。名稱用於識別資料集設定,且無法變更。名稱最多可包含 128 個字元,包括字母、數字和底線,且開頭必須是字母。
在「定義資料集範圍」部分,執行下列操作:
選取下列選項之一:
如要取得目前機構中所有專案的儲存空間中繼資料,請選取「加入組織」。
如要取得所選資料夾中所有專案的儲存空間中繼資料,請選取「Include folders (Sub-organization/departments)」(加入資料夾 (子組織/部門))。 如要瞭解如何取得資料夾 ID,請參閱「查看或列出資料夾和專案」。如要新增資料夾,請按照下列步驟操作:
- 在「Folder 1」(資料夾 1) 欄位中,輸入資料夾 ID。
- 如要新增多個資料夾 ID,請按一下「+ 新增其他資料夾」。
如要取得所選專案的儲存空間中繼資料,請選取「提供專案編號來加入專案」。如要瞭解如何找出專案編號,請參閱「找出專案名稱、編號和 ID」。如要新增專案,請按照下列步驟操作:
- 在「Project 1」欄位中,輸入專案編號。
- 如要新增多個專案編號,請點選「+ 新增其他專案」。
如要大量新增專案或資料夾,請選取「透過 CSV 檔案上傳專案/資料夾清單」。CSV 檔案必須包含要納入資料集的專案編號或資料夾 ID。一個資料集設定最多可指定 10,000 個專案或資料夾。
指定是否要自動將所選資源日後建立的 bucket 納入。
如要依據區域和 bucket 前置字串指定 bucket 篩選器,請展開「Filters (optional)」部分。篩選器會以累加方式套用至儲存區。
您可以納入或排除特定區域中的值區。舉例來說,您可以排除
me-central1和me-central2地區中的值區。您也可以根據前置字串納入或排除值區。 舉例來說,如要排除開頭為my-bucket的值區,請輸入my-bucket*前置字串。
按一下「繼續」。
在「選取保留期限」部分,選取資料集的保留期限。
資料集預設會納入活動資料,並沿用資料集的保留期限。如要覆寫資料集保留期限,請選取「指定活動資料的保留期限」,然後選取活動資料的保留天數。如要停用活動資料,請將保留期限設為
0天。在「選取儲存設定資料集的位置」部分,選取儲存資料集的位置。例如:
us-central1。在「選取服務帳戶類型」部分,為資料集選取服務代理程式類型。為資料集選擇特定設定或特定專案的服務代理。
按一下 [設定]。
指令列
如要建立資料集設定,請執行
gcloud storage insights dataset-configs create指令,並加上必要旗標:gcloud storage insights dataset-configs create DATASET_CONFIG_ID \ --location=LOCATION \ --organization=SOURCE_ORG_NUMBER \ --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \ (SCOPE_FLAG)
取代:
將
DATASET_CONFIG_ID替換為資料集設定的名稱。名稱用於識別資料集設定,且無法變更。名稱最多可包含 128 個字元,包括字母、數字和底線,且開頭必須是字母。將
SOURCE_ORG_NUMBER替換為來源專案所屬的機構 ID。如要找出機構 ID,請參閱「取得機構資源 ID」。DATASET_RETENTION_PERIOD_DAYS,並設定資料集中資料的保留期限。SCOPE_FLAG,並搭配使用下列任一標記,定義要收集的資料範圍:--enable-organization-scope:允許資料集從機構內的所有 bucket 收集洞察資訊。--source-folders=[SOURCE_FOLDER_NUMBERS,...]: 指定要納入資料集的資料夾編號清單。 如要瞭解如何找出資料夾編號,請參閱「列出階層中的所有專案和資料夾」。--source-folders-file=FILE_PATH: 將 CSV 檔案上傳至 bucket,即可指定多個資料夾編號。--source-projects=[SOURCE_PROJECT_NUMBERS,...]: 指定要納入資料集的專案編號清單。 例如,464036093014。如要找出專案編號,請參閱「找出專案名稱、編號和 ID」。--source-projects-file=FILE_PATH: 將 CSV 檔案上傳至 bucket,即可指定多個專案編號。
或者,您也可以使用下列其他標記來設定資料集:
使用
--include-buckets=BUCKET_NAMES_OR_REGEX依名稱或規則運算式加入特定 bucket。您無法將此標記與--exclude-buckets組合在一起。使用
--exclude-buckets=BUCKET_NAMES_OR_REGEX依名稱或規則運算式排除特定 bucket。您無法將此標記與--include-buckets組合在一起。使用
--project=DESTINATION_PROJECT_ID指定專案,儲存資料集設定和產生的資料集。如果未使用這個標記,目的地專案就是您的現用專案。如要進一步瞭解專案 ID,請參閱「建立及管理專案」。使用
--auto-add-new-buckets,自動納入日後新增至來源專案的任何 bucket。使用
--skip-verification略過驗證程序中的檢查和失敗情形,包括檢查必要的 IAM 權限。使用這個旗標時,資料集可能會排除部分或所有值區。使用
--identity=IDENTITY_TYPE指定透過資料集設定建立的服務代理範圍。值為IDENTITY_TYPE_PER_CONFIG或IDENTITY_TYPE_PER_PROJECT。如未指定,則預設值為IDENTITY_TYPE_PER_CONFIG。詳情請參閱「服務代理程式類型」。使用
--description=DESCRIPTION為資料集設定新增說明。使用
--activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS指定資料集中活動資料的保留期限。活動資料預設會納入資料集,並沿用資料集的保留期限。如要覆寫資料集保留期限,請指定活動資料的保留天數。如要排除活動資料,請將 ACTIVITY_RETENTION_PERIOD_DAYS 設為0。
以下範例會在
us-central1區域中,為 ID 為123456789的機構建立名為my-dataset的資料集設定,保留期限為30天,且範圍僅限於專案987654321和123123123:gcloud storage insights dataset-configs create my-dataset \ --location=us-central1 \ --organization=123456789 \ --retention-period-days=30 \ --source-projects=987654321,123123123
JSON API
建立包含下列資訊的 JSON 檔案:
{ "sourceProjects": { "project_numbers": ["PROJECT_NUMBERS", ...] }, "retentionPeriodDays": "RETENTION_PERIOD_DAYS", "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS", "identity": { "type": "IDENTITY_TYPE" } }
取代:
PROJECT_NUMBERS輸入要納入資料集的 專案編號。 您可以指定一或多個專案。專案必須指定為字串清單。或者,您也可以新增一或多個資料夾,其中包含要更新中繼資料的 bucket 和物件。如要納入資料夾或機構,請使用
sourceFolders或organizationScope欄位。詳情請參閱DatasetConfig參考資料。RETENTION_PERIOD_DAYS,代表資料集中快照要擷取的資料天數。例如:90。ACTIVITY_DATA_RETENTION_PERIOD_DAYS,其中 activity data 是要擷取到資料集快照中的活動資料天數。根據預設,活動資料會納入資料集,並沿用資料集的保留期限。如要覆寫資料集保留期限,請指定活動資料的保留天數。如要排除活動資料,請將 ACTIVITY_RETENTION_PERIOD_DAYS 設為0。IDENTITY_TYPE,並指定與資料集設定一併建立的服務帳戶類型。值為IDENTITY_TYPE_PER_CONFIG或IDENTITY_TYPE_PER_PROJECT。詳情請參閱「服務代理程式類型」。
如要建立資料集設定,請使用
cURL透過CreateDatasetConfig 要求呼叫 JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \ --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \ --header "Accept: application/json" \ --header "Content-Type: application/json"
取代:
將
JSON_FILE_NAME改成您在上一個步驟中建立的 JSON 檔案路徑。或者,您也可以在要求主體中傳遞DatasetConfig的例項。PROJECT_ID,其中包含資料集設定和資料集所屬的專案 ID。LOCATION,並將 location 替換為資料集和資料集設定的所在位置。例如:us-central1。DATASET_CONFIG_ID,並替換成資料集設定的名稱。名稱用於識別資料集設定,且無法變更。名稱最多可包含 128 個字元,包括字母、數字和底線,且開頭必須為字母。SERVICE_ACCOUNT與服務帳戶。例如:test-service-account@test-project.iam.gserviceaccount.com。
如要排解 error_attributes_view 中記錄的快照處理錯誤,請參閱「Storage Insights 資料集錯誤」。
將必要權限授予服務代理
建立資料集設定時,Google Cloud 會建立特定設定或特定專案的服務代理。服務代理人的命名格式為 service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com,且當您選取「包含 Google 提供的角色授權」核取方塊時,該代理人會顯示在 Google Cloud 控制台的「IAM」頁面中。您也可以使用 JSON API 查看 DatasetConfig 資源,找出服務代理程式的名稱。
如要讓 Storage Insights 產生及寫入資料集,請管理員在包含來源專案的機構中,授予服務代理程式 Storage Insights 收集器服務角色 (roles/storage.insightsCollectorService)。您必須將這個角色授予為每個資料集設定建立的設定範圍服務代理,才能從中取得資料。如果您使用專案範圍的服務代理程式,則只需授予服務代理程式一次這個角色,即可讀取及寫入專案中所有資料集設定的資料集。
如需授予專案角色的操作說明,請參閱「管理存取權」。
連結資料集
如要將資料集連結至 BigQuery,請完成下列步驟:
控制台
- 前往 Google Cloud 控制台的 Cloud Storage「Storage Insights」頁面。
按一下產生要連結資料集的資料集設定名稱。
在「BigQuery 連結的資料集」部分,按一下「連結資料集」來連結資料集。
指令列
如要將資料集連結至 BigQuery,請執行
gcloud storage insights dataset-configs create-link指令:gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION
取代:
DATASET_CONFIG_ID,其中包含產生要連結資料集的資料集設定名稱。將
LOCATION換成資料集的位置。例如:us-central1。
您也可以指定完整資料集設定路徑。例如:
gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID
取代:
JSON API
使用
cURL透過linkDatasetDatasetConfig 要求呼叫 JSON API:curl -X POST \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \ --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \ --header "Accept: application/json" \ --header "Content-Type: application/json"取代:
JSON_FILE_NAME,並替換為您建立的 JSON 檔案路徑。PROJECT_ID,並將資料集設定所屬的專案 ID 填入其中。LOCATION,其中 location 是資料集和資料集設定所在的位置。例如:us-central1。DATASET_CONFIG_ID,其中包含產生要連結資料集的資料集設定名稱。SERVICE_ACCOUNT與服務帳戶。例如:test-service-account@test-project.iam.gserviceaccount.com。
後續步驟
- 查看已連結的資料集。
- 查詢連結的資料集。
- 使用 Gemini Cloud Assist 分析儲存的資料。
- 管理資料集設定,包括更新、查看、列出及刪除設定。