Para ingerir dados do Bigtable, siga estas etapas para criar um repositório de dados e ingerir dados usando a API.
Configurar o acesso ao Bigtable
Para conceder ao Gemini Enterprise acesso aos dados do Bigtable que estão em um projeto diferente, siga estas etapas:
Substitua a variável
PROJECT_NUMBERa seguir pelo número do projeto do Gemini Enterprise e copie o conteúdo deste bloco de código. Este é o identificador da conta de serviço do Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`Acessar a página IAM e administrador.
Mude para o projeto do Bigtable na página IAM e administrador e clique em Conceder acesso.
Em Novos principais, insira o identificador da conta de serviço da instância e selecione o papel Bigtable > Leitor do Bigtable.
Clique em Salvar.
Volte para o projeto do Gemini Enterprise.
Em seguida, acesse Importar dados do Bigtable.
Importar dados do Bigtable
REST
Para usar a linha de comando para criar um repositório de dados e ingerir dados do Bigtable, siga estas etapas:
Crie um repositório de dados.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'Substitua:
PROJECT_ID: o ID do projeto.DATA_STORE_ID: o ID do repositório de dados. O ID só pode conter letras minúsculas, dígitos, sublinhados e hifens.DISPLAY_NAME: o nome de exibição do repositório de dados. Ele pode ser mostrado no Google Cloud console.
Importar dados do Bigtable.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'Substitua:
PROJECT_ID: o ID do projeto do Gemini Enterprise.DATA_STORE_ID: o ID do repositório de dados. O ID só pode conter letras minúsculas, dígitos, sublinhados e hifens.BIGTABLE_PROJECT_ID: o ID do seu projeto do Bigtable.INSTANCE_ID: o ID da instância do Bigtable.TABLE_ID: o ID da tabela do Bigtable.KEY_FIELD_NAME: opcional, mas recomendado. O nome do campo a ser usado para o valor da chave de linha após a ingestão no Gemini Enterprise.KEY: obrigatório. Um valor de string para a chave do grupo de colunas.ENCODING: opcional. O modo de codificação dos valores quando o tipo não é STRING.Isso pode ser substituído por uma coluna específica listando essa coluna emcolumnse especificando uma codificação para ela.COLUMN_TYPE: opcional. O tipo de valores nesse grupo de colunas.QUALIFIER: obrigatório. Qualificador da coluna.FIELD_NAME: opcional, mas recomendado. O nome do campo a ser usado para essa coluna após a ingestão no Gemini Enterprise.COLUMN_ENCODING: opcional. O modo de codificação dos valores de uma coluna específica quando o tipo não é STRING.RECONCILIATION_MODE: opcional. Os valores sãoFULLeINCREMENTAL. O padrão éINCREMENTAL. A especificação deINCREMENTALcausa uma atualização incremental dos dados do Bigtable para o repositório de dados. Isso faz uma operação de upsert, que adiciona novos documentos e substitui os documentos atuais por documentos atualizados com o mesmo ID. A especificação deFULLcausa uma nova base completa dos documentos em seu repositório de dados. Em outras palavras, documentos novos e atualizados são adicionados ao repositório de dados, e os documentos que não estão no Bigtable são removidos do repositório de dados. O modoFULLé útil se você quiser excluir automaticamente documentos que não são mais necessários.AUTO_GENERATE_IDS: opcional. Especifica se os IDs de documentos serão gerados automaticamente. Se definido comotrue, os IDs de documentos serão gerados com base em um hash do payload. Os IDs de documentos gerados podem não permanecer consistentes em várias importações. Se você gerar IDs automaticamente em várias importações, o Google altamente recomenda definirreconciliationModecomoFULLpara manter IDs de documentos consistentes.Especifique
autoGenerateIdssomente quandobigquerySource.dataSchemaestiver definido comocustom. Caso contrário, um erroINVALID_ARGUMENTserá retornado. Se você não especificarautoGenerateIdsou defini-lo comofalse, especifiqueidField. Caso contrário, os documentos não serão importados.ID_FIELD: opcional. Especifica quais campos são os IDs de documentos.
Próximas etapas
Para anexar seu repositório de dados a um app, crie um app e selecione o repositório seguindo as etapas em Criar um app de pesquisa.
Para ver como os resultados da pesquisa aparecem depois que o app e o repositório de dados são configurados, consulte Visualizar resultados da pesquisa.