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 conceder ao Gemini Enterprise acesso aos dados do Bigtable que estão em um projeto diferente, siga estas etapas:

  1. Substitua a variável PROJECT_NUMBER a 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`
    
  2. Acessar a página IAM e administrador.

    IAM e administrador

  3. Mude para o 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 para 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: 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.
  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 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 em columns e 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ão FULL e INCREMENTAL. O padrão é INCREMENTAL. A especificação de INCREMENTAL causa 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 de FULL causa 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 modo FULL é ú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 como true, 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 definir reconciliationMode como FULL para manter IDs de documentos consistentes.

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