Para ingerir dados do Firestore, siga estas etapas para criar um repositório de dados e ingerir dados usando o Google Cloud console ou a API.
Se os dados do Firestore estiverem no mesmo projeto do Gemini Enterprise, acesse Importar dados do Firestore.
Se os dados do Firestore estiverem em um projeto diferente do projeto do Gemini Enterprise, acesse Configurar o acesso ao Firestore.
Configurar o acesso ao Firestore de um projeto diferente
Para conceder ao Gemini Enterprise acesso aos dados do Firestore que estão em um projeto diferente, siga estas etapas:
Substitua a variável
PROJECT_NUMBERpelo 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.comAcessar a página IAM e administrador.
Mude para o projeto do Firestore 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 Datastore > Administrador de importação/exportação do Cloud Datastore.
Clique em Salvar.
Volte para o projeto do Gemini Enterprise.
Em seguida, acesse Importar dados do Firestore.
Importar dados do Firestore
Console
Para usar o console e ingerir dados do Firestore, siga estas etapas:
No Google Cloud console, acesse a página Gemini Enterprise.
Acesse a página Repositório de dados.
Clique em Criar armazenamento de dados.
Na página Selecionar uma fonte de dados, escolha Firestore.
Especifique o ID do projeto, o ID do banco de dados e o ID da coleção dos dados que você planeja importar.
Clique em Continuar.
Escolha uma região para o repositório de dados.
Insira um nome para o repositório de dados.
Clique em Criar.
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 Firestore, 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: ID do repositório de dados. O ID só pode conter letras minúsculas, dígitos, sublinhados e hífens.DISPLAY_NAME: o nome de exibição do repositório de dados. Ele pode ser mostrado no Google Cloud console.
Importar dados do Firestore.
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 '{ "firestoreSource": { "projectId": "FIRESTORE_PROJECT_ID", "databaseId": "DATABASE_ID", "collectionId": "COLLECTION_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'Substitua:
PROJECT_ID: ID do projeto do Gemini Enterprise.DATA_STORE_ID: ID do repositório de dados. O ID só pode conter letras minúsculas, dígitos, sublinhados e hífens.FIRESTORE_PROJECT_ID: ID do projeto do Firestore.DATABASE_ID: ID do banco de dados do Firestore.COLLECTION_ID: ID da coleção do Firestore.RECONCILIATION_MODE: opcional. Os valores sãoFULLeINCREMENTAL. O padrão éINCREMENTAL. A especificação deINCREMENTALcausa uma atualização incremental dos dados do Firestore 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 deFULLcausa 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 Firestore 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.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.