Importar do Bigtable

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:

  1. 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.`
    
  2. Acesse a página IAM e administrador.

    IAM e administrador

  3. Mude para seu projeto do Bigtable na página IAM e administrador e clique em Conceder acesso.

  4. Em Novos principais, insira o identificador da conta de serviço da instância e selecione o papel Bigtable > Leitor do Bigtable.

  5. Clique em Salvar.

  6. 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:

  1. 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 .
  2. 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 em columns 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ão FULL e INCREMENTAL. O padrão é INCREMENTAL. Especificar INCREMENTAL 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. Especificar FULL 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 modo FULL é ú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 como true, 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 definir reconciliationMode como FULL para manter IDs de documento consistentes.

      Especifique autoGenerateIds apenas quando bigquerySource.dataSchema estiver definido como custom. Caso contrário, um erro INVALID_ARGUMENT será retornado. Se você não especificar autoGenerateIds ou definir como false, precisará especificar idField. 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.