刷新结构化数据
您可以刷新结构化数据存储区中的数据,只要您使用的架构与数据存储区中的架构相同或向后兼容。例如,仅向现有架构添加新字段就是向后兼容的。
您可以在 Google Cloud 控制台中或使用 API 刷新结构化数据。
控制台
如需使用 Google Cloud 控制台刷新数据存储区分支中的结构化数据,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在导航菜单中,点击数据存储区。
在名称列中,点击要修改的数据存储区。
在文档标签页上,点击 导入数据。
如需刷新 Cloud Storage 中数据,请执行以下操作:
- 在选择数据源窗格中,选择 Cloud Storage。
- 在从 Cloud Storage 导入数据窗格中,点击浏览,选择包含刷新后数据的存储桶,然后点击选择。或者,直接在 gs:// 字段中输入相应存储桶的位置。
- 在数据导入选项下,选择一个导入选项。
- 点击导入。
如需刷新 BigQuery 中的数据,请执行以下操作:
- 在选择数据源窗格中,选择 BigQuery。
- 在从 BigQuery 导入数据窗格中,点击浏览,选择包含刷新后数据的表,然后点击选择。或者,您也可以直接在 BigQuery 路径字段中输入表位置。
- 在数据导入选项下,选择一个导入选项。
- 点击导入。
REST
使用 documents.import 方法刷新数据,并指定适当的 reconciliationMode 值。
如需通过命令行刷新 BigQuery 或 Cloud Storage 中的结构化数据,请按以下步骤操作:
查找您的数据存储区 ID。如果您已有数据存储区 ID,请跳至下一步。
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面,然后在导航菜单中点击数据存储区。
点击您的数据存储区的名称。
在数据存储区的数据页面上,获取数据存储区 ID。
如需导入 BigQuery 中的结构化数据,请调用以下方法。您可以导入 BigQuery 或 Cloud Storage 中的数据。如需导入 Cloud Storage 中的数据,请跳到下一步。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA_BQ", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": AUTO_GENERATE_IDS, "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'替换以下内容:
PROJECT_ID:您的项目的 ID。DATA_STORE_ID:数据存储区的 ID。DATASET_ID:BigQuery 数据集的名称。TABLE_ID:BigQuery 表的名称。DATA_SCHEMA_BQ:一个可选字段,用于指定在解析来自 BigQuery 来源的数据时要使用的架构。可以具有以下值:document:默认值。您使用的 BigQuery 表必须符合以下默认 BigQuery 架构。您可以自行定义每个文档的 ID,同时将整个数据封装在json_data字符串中。custom:任何 BigQuery 表架构都可接受,并且 Gemini Enterprise 会自动为导入的每个文档生成 ID。
ERROR_DIRECTORY:一个可选字段,用于指定用来存储导入相关错误信息的 Cloud Storage 目录,例如gs://<your-gcs-bucket>/directory/import_errors。Google 建议将此字段留空,以让 Gemini Enterprise 自动创建一个临时目录。RECONCILIATION_MODE:一个可选字段,用于指定导入的文档如何与目标数据存储区中的现有文档进行协调。可以具有以下值:INCREMENTAL:默认值。导致将 BigQuery 中的数据增量刷新到数据存储区。这会执行一个 upsert(插入/更新)操作,即添加新文档并用具有相同 ID 的更新文档替换现有文档。FULL:导致数据存储区中的文档完全重基。 因此,新文档和更新后的文档会添加到您的数据存储区,而 BigQuery 中不存在的文档将从您的数据存储区中移除。如果您想要自动删除不再需要的文档,FULL模式会很有帮助。
AUTO_GENERATE_IDS:一个可选字段,用于指定是否自动生成文档 ID。如果设置为true,则系统会根据载荷的哈希值生成文档 ID。请注意,生成的文档 ID 在多次导入时可能不会保持一致。如果您在多次导入时自动生成 ID,Google 强烈建议您将reconciliationMode设置为FULL,以保持一致的文档 ID。仅当
bigquerySource.dataSchema设置为custom时,才应指定autoGenerateIds。否则,系统将返回INVALID_ARGUMENT错误。如果您未指定autoGenerateIds或将其设置为false,则必须指定idField。否则,文档将无法导入。ID_FIELD:一个可选字段,用于指定哪些字段是文档 ID。对于 BigQuery 来源文件,idField指示 BigQuery 表中包含文档 ID 的列的名称。仅当同时满足以下两个条件时,才应指定
idField;否则系统会返回INVALID_ARGUMENT错误:- 将
bigquerySource.dataSchema设置为custom auto_generate_ids设置为false或未指定。
此外,BigQuery 列名称的值必须为字符串类型,长度必须介于 1 到 63 个字符之间,并且必须符合 RFC-1034 标准。否则,文档将无法导入。
- 将
这是默认 BigQuery 架构。当您将
dataSchema设置为document时,您的 BigQuery 表必须符合此架构。[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] } ]如需导入 Cloud Storage 中的结构化数据,请调用以下方法。您可以导入 BigQuery 或 Cloud Storage 中的数据。如需导入 BigQuery 中的数据,请前往上一步。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["GCS_PATHS"], "dataSchema": "DATA_SCHEMA_GCS", }, "reconciliationMode": "RECONCILIATION_MODE", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'替换以下内容:
PROJECT_ID:您的项目的 ID。DATA_STORE_ID:数据存储区的 ID。GCS_PATHS:要从中导入数据的 Cloud Storage 位置的英文逗号分隔 URI 列表。每个 URI 的长度上限为 2,000 个字符。URI 可以匹配存储对象的完整路径,也可以匹配一个或多个对象的模式。例如,gs://bucket/directory/*.json是一个有效路径。DATA_SCHEMA_GCS:一个可选字段,用于指定在解析来自 BigQuery 来源的数据时要使用的架构。可以具有以下值:document:默认值。您使用的 BigQuery 表必须符合以下默认 BigQuery 架构。您可以自行定义每个文档的 ID,同时将整个数据封装在json_data字符串中。custom:任何 BigQuery 表架构都可接受,并且 Gemini Enterprise 会自动为导入的每个文档生成 ID。
ERROR_DIRECTORY:一个可选字段,用于指定用来存储导入相关错误信息的 Cloud Storage 目录,例如gs://<your-gcs-bucket>/directory/import_errors。Google 建议将此字段留空,以让 Gemini Enterprise 自动创建一个临时目录。RECONCILIATION_MODE:一个可选字段,用于指定导入的文档如何与目标数据存储区中的现有文档进行协调。可以具有以下值:INCREMENTAL:默认值。导致将 BigQuery 中的数据增量刷新到数据存储区。这会执行一个 upsert(插入/更新)操作,即添加新文档并用具有相同 ID 的更新文档替换现有文档。FULL:导致数据存储区中的文档完全重基。 因此,新文档和更新后的文档会添加到您的数据存储区,而 BigQuery 中不存在的文档将从您的数据存储区中移除。如果您想要自动删除不再需要的文档,FULL模式会很有帮助。
Python
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Python API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
刷新非结构化数据
您可以在 Google Cloud 控制台中或使用 API 刷新非结构化数据。
控制台
如需使用 Google Cloud 控制台刷新数据存储区分支中的非结构化数据,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
在导航菜单中,点击数据存储区。
在名称列中,点击要修改的数据存储区。
在文档标签页上,点击 导入数据。
从 Cloud Storage 存储桶中提取数据(无论是否包含元数据):
- 在选择数据源窗格中,选择 Cloud Storage。
- 在从 Cloud Storage 导入数据窗格中,点击浏览,选择包含刷新后数据的存储桶,然后点击选择。或者,您也可以直接在
gs://字段中输入相应存储桶的位置。 - 在数据导入选项下,选择一个导入选项。
- 点击导入。
如需从 BigQuery 中提取数据,请执行以下操作:
- 在选择数据源窗格中,选择 BigQuery。
- 在从 BigQuery 导入数据窗格中,点击浏览,选择包含刷新后数据的表,然后点击选择。或者,您也可以直接在 BigQuery 路径字段中输入表位置。
- 在数据导入选项下,选择一个导入选项。
- 点击导入。
REST
如需使用 API 刷新非结构化数据,请使用 documents.import 方法重新导入该数据,并指定适当的 reconciliationMode 值。如需详细了解如何导入非结构化数据,请参阅非结构化数据。
Python
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Python API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。