Para ingerir dados do Cloud SQL, siga estas etapas para configurar o acesso ao Cloud SQL, criar um repositório de dados e ingerir dados.
Configurar o acesso ao bucket de preparo para instâncias do Cloud SQL
Ao ingerir dados do Cloud SQL, eles são preparados primeiro em um bucket do Cloud Storage. Siga estas etapas para conceder acesso de uma instância do Cloud SQL a buckets do Cloud Storage.
No Google Cloud console, acesse a página SQL.
Clique na instância do Cloud SQL de que você planeja importar.
Copie o identificador da conta de serviço da instância, que se parece com um endereço de e-mail, por exemplo,
p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com.Acessar a página IAM e administrador.
Clique em Conceder acesso.
Em Novos principais, insira o identificador da conta de serviço da instância e selecione o papel Cloud Storage > Administrador do Storage.
Clique em Salvar.
Próximo:
Se os dados do Cloud SQL estiverem no mesmo projeto do Gemini Enterprise: Acesse Importar dados do Cloud SQL.
Se os dados do Cloud SQL estiverem em um projeto diferente do projeto do Gemini Enterprise: acesse Configurar o acesso ao Cloud SQL de um projeto diferente.
Configurar o acesso ao Cloud SQL de um projeto diferente
Para conceder acesso do Gemini Enterprise a dados do Cloud SQL que estão em um projeto diferente, siga estas etapas:
Substitua a variável
PROJECT_NUMBERa seguir pelo número do projeto do Gemini Enterprise e copie o conteúdo do 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 Cloud SQL na página IAM e administrador e clique em Conceder acesso.
Em Novos principais, insira o identificador da conta de serviço e selecione o papel Cloud SQL > Leitor do Cloud SQL.
Clique em Salvar.
Em seguida, acesse Importar dados do Cloud SQL.
Importar dados do Cloud SQL
Console
Para usar o console para ingerir dados do Cloud SQL, 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 Cloud SQL.
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.
Clique em Procurar e escolha um local intermediário do Cloud Storage para exportar os dados e clique em Selecionar. Como alternativa, insira o local diretamente no campo
gs://.Selecione se quer ativar a exportação sem servidor. A exportação sem servidor gera um custo adicional. Para mais informações sobre a exportação sem servidor, consulte Minimizar o impacto de desempenho das exportações na documentação do Cloud SQL.
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 para criar um repositório de dados e ingerir dados do Cloud SQL, 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 exibido no Google Cloud console.
Importe dados do Cloud SQL.
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 '{ "cloudSqlSource": { "projectId": "SQL_PROJECT_ID", "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", "gcsStagingDir": "STAGING_DIRECTORY" }, "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.SQL_PROJECT_ID: ID do projeto do Cloud SQL.INSTANCE_ID: ID da instância do Cloud SQL.DATABASE_ID: ID do banco de dados do Cloud SQL.TABLE_ID: ID da tabela do Cloud SQL.STAGING_DIRECTORY: opcional. Um diretório do Cloud Storage , por exemplo,gs://<your-gcs-bucket>/directory/import_errors.RECONCILIATION_MODE: opcional. Os valores sãoFULLeINCREMENTAL. O padrão éINCREMENTAL. A especificação deINCREMENTALcausa uma atualização incremental dos dados do Cloud SQL 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 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 Cloud SQL 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.
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.