Importar do Spanner

Para ingerir dados do Spanner, siga estas etapas para criar um repositório de dados e ingerir dados usando o Google Cloud console ou a API.

Configurar o acesso ao Spanner de um projeto diferente

Se os dados do Spanner estiverem no mesmo projeto do Gemini Enterprise, pule para Importar dados do Spanner.

Para conceder ao Gemini Enterprise acesso aos dados do Spanner 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 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 Spanner na página IAM e administrador e clique em Conceder acesso.

  4. Em Novos principais, insira o identificador da conta de serviço e selecione uma das seguintes opções:

    • Se você não usar o Data Boost durante a importação, selecione o papel Cloud Spanner > Leitor de banco de dados do Cloud Spanner.
    • Se você planeja usar o Data Boost durante a importação, selecione a função Cloud Spanner > Administrador de banco de dados do Cloud Spanner ou uma função personalizada com as permissões de Leitor de banco de dados do Cloud Spanner e spanner.databases.useDataBoost. Para mais informações sobre o Data Boost, consulte Visão geral do Data Boost na documentação do Spanner.
  5. Clique em Salvar.

Em seguida, acesse Importar dados do Spanner.

Importar dados do Spanner

Console

Para usar o console e ingerir dados do Spanner, siga estas etapas:

  1. No Google Cloud console, acesse a página Gemini Enterprise.

    Gemini Enterprise

  2. Acesse a página Repositório de dados.

  3. Clique em Criar armazenamento de dados.

  4. Na página Selecionar uma fonte de dados, escolha Cloud Spanner.

  5. Especifique o ID do projeto, o ID da instância, o ID do banco de dados e o ID da tabela dos dados que você planeja importar.

  6. Selecione se quer ativar o Data Boost. Para mais informações sobre o Data Boost, consulte Visão geral do Data Boost na documentação do Spanner.

  7. Clique em Continuar.

  8. Escolha uma região para o repositório de dados.

  9. Insira um nome para o repositório de dados.

  10. Clique em Criar.

  11. Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do repositório de dados para conferir os detalhes na página Dados. Quando a coluna de status na guia Atividade mudar de Em andamento para Importação concluída, a ingestão será concluída.

    Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.

REST

Para usar a linha de comando na criação de um repositório de dados e ingerir dados do Spanner, 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"],
      "contentConfig": "CONTENT_REQUIRED",
    }'
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto do Gemini Enterprise.
    • DATA_STORE_ID: o ID do repositório de dados. O ID pode conter apenas letras minúsculas, dígitos, sublinhados e hifens.
    • DISPLAY_NAME: o nome de exibição do repositório de dados. Ele pode aparecer noconsole. Google Cloud
  2. Importar dados do Spanner.

      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 '{
        "cloudSpannerSource": {
          "projectId": "SPANNER_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
          "enableDataBoost": "DATA_BOOST_BOOLEAN"
        },
        "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.
    • SPANNER_PROJECT_ID: o ID do seu projeto do Spanner.
    • INSTANCE_ID: o ID da sua instância do Spanner.
    • DATABASE_ID: o ID do seu banco de dados do Spanner.
    • TABLE_ID: o ID da sua tabela do Spanner.
    • DATA_BOOST_BOOLEAN: opcional. Se quer ativar o Data Boost. Para mais informações sobre o Data Boost, consulte Visão geral do Data Boost na documentação do Spanner.
    • 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 Spanner para o repositório de dados. Isso faz uma operação de upsert , que adiciona novos documentos e substitui os documentos criados por documentos atualizados, com o mesmo ID. A especificação de FULL causa uma nova base 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 documentos que não estão no Spanner 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.

    • 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.