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 dar ao Gemini Enterprise acesso a dados do Bigtable que estão em um projeto diferente, siga estas etapas:
Substitua a variável
PROJECT_NUMBER
pelo número do projeto do Gemini Enterprise e copie o conteúdo deste bloco de código. Este é o identificador da sua conta de serviço do Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.`
Acesse a página IAM e administrador.
Mude para seu 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 e 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
: ID do projeto.DATA_STORE_ID
: o ID do repositório de dados. O ID pode conter apenas letras minúsculas, dígitos, sublinhados e hífens.DISPLAY_NAME
: o nome de exibição do repositório de dados. Isso pode ser exibido no console do Google Cloud .
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 seu 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 hífens.BIGTABLE_PROJECT_ID
: o ID do seu projeto do Bigtable.INSTANCE_ID
: o ID da sua 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 para uma coluna específica listando essa coluna emcolumns
e especificando uma codificação para ela.COLUMN_TYPE
: opcional. O tipo de valores nesta família 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ãoFULL
eINCREMENTAL
. O padrão éINCREMENTAL
. EspecificarINCREMENTAL
causa uma atualização incremental de dados do Bigtable para seu 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. EspecificarFULL
causa uma rebase completa dos documentos no repositório de dados. Em outras palavras, documentos novos e atualizados são adicionados ao repositório de dados, e os que não estão no Bigtable são removidos. O modoFULL
é útil se você quiser excluir automaticamente documentos que não precisa mais.AUTO_GENERATE_IDS
: opcional. Especifica se os IDs de documento serão gerados automaticamente. Se definido comotrue
, os IDs de documento 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 recomenda definirreconciliationMode
comoFULL
para manter IDs de documento consistentes.Especifique
autoGenerateIds
apenas quandobigquerySource.dataSchema
estiver definido comocustom
. Caso contrário, um erroINVALID_ARGUMENT
será retornado. Se você não especificarautoGenerateIds
ou definir comofalse
, precisará especificaridField
. Caso contrário, a importação dos documentos vai falhar.ID_FIELD
: opcional. Especifica quais campos são os IDs de documento.
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.