Integração com o Google Cloud Storage#
A integração com o Google Cloud Storage conecta os teus buckets do GCS à Ultralytics Platform. As tuas imagens permanecem nos teus buckets — a Platform cria um índice no local, para que possas navegar, anotar e treinar modelos YOLO sem carregar uma cópia.
Os conjuntos de dados do Google Cloud Storage requerem um plano Pro ou Enterprise. Os espaços de trabalho gratuitos veem a integração e recebem uma solicitação para fazer upgrade ao conectar-se. Os conjuntos de dados existentes do Google Cloud Storage permanecem totalmente acessíveis se uma assinatura terminar — apenas as novas conexões e importações requerem o Pro.
Criar uma conta de serviço só de leitura#
A Platform apenas lê o teu armazenamento — nunca grava, modifica ou elimina os teus objetos. Cria uma conta de serviço dedicada com acesso apenas de leitura:
- Na consola do Google Cloud, acede a IAM & Admin > Service Accounts e cria uma conta de serviço.
- Concede-lhe a função Storage Object Viewer (
roles/storage.objectViewer) nos buckets que queres conectar. - Abre a conta de serviço, seleciona Keys > Add key > Create new key, escolhe JSON e transfere o ficheiro de chave.
roles/storage.objectViewer abrange tudo o que a Platform faz com os teus dados, mas não permite listar os
buckets de um projeto. Adiciona uma função que inclua storage.buckets.list se quiseres que a Platform encontre os teus buckets;
caso contrário, introduz manualmente o nome de cada bucket ao conectar.
Conectar à Platform#
- Acede a Settings > Integrations e seleciona Google Cloud Storage na lista de integrações.
- Cola o conteúdo da chave JSON da conta de serviço.
- Clica em Find available buckets e seleciona os buckets que queres conectar. Se a conta de serviço não conseguir listar buckets, introduz manualmente o nome de um bucket conhecido.
- Clica em Connect. A Platform verifica se consegue listar e ler cada bucket selecionado antes de guardar qualquer informação.

Precisas da função de administrador ou proprietário do espaço de trabalho para conectar o armazenamento na nuvem. Uma conexão pode incluir até 50 buckets, e a descoberta lista até 300 dos buckets a que a conta de serviço tem acesso.
O teu navegador lê o ficheiro de chave colado e envia apenas os três campos de que a Platform precisa — client_email, private_key,
e project_id. O resto do JSON nunca sai da página.
Se voltares a conectar a mesma conta de serviço mais tarde, serão adicionados novos buckets à integração existente. Uma credencial guardada só é substituída quando a credencial de substituição continua a conseguir ler todos os buckets que já conectaste.
As credenciais são encriptadas em repouso com AES-256-GCM, nunca são devolvidas ao navegador e nunca são expostas a cargas de trabalho de treino. Para revogar o acesso, elimina a chave da conta de serviço no Google Cloud.
Criar um conjunto de dados a partir de um bucket do GCS#
- Clica em New Dataset e abre o separador Cloud.
- Escolhe um bucket conectado e navega até à pasta que contém os teus dados.
- Confirma a pasta, ajusta o nome do conjunto de dados e cria-o.
A Platform lista a pasta uma vez e cria um índice do que encontra:
- Imagens — os objetos
.jpg,.jpeg,.png,.webpe.avifsão indexados com dimensões lidas através de pedidos limitados. A Platform não guarda uma segunda cópia da imagem de origem. - Rótulos — os ficheiros auxiliares
.txtdo YOLO são analisados e convertidos em anotações na Platform, correspondendo ao esquema padrãoimages/→labels/ou a ficheiros na mesma pasta. - Metadados — um ficheiro YAML fornece os nomes das classes e a estrutura dos pontos-chave de pose, tal como num carregamento de arquivo. Dá-se preferência a
data.yamledata.ymlquando a pasta contém vários ficheiros. - Tarefa — uma amostra dos ficheiros de rótulos determina a tarefa, por isso as pastas de segmentação, pose e OBB são reconhecidas pela estrutura dos respetivos rótulos, e não pela tarefa escolhida na caixa de diálogo.
- Divisões — os nomes de pasta
train,valetestno caminho do objeto atribuem automaticamente as divisões.
A partir daí, o conjunto de dados funciona como qualquer outro: navega e anota, define-o como público ou privado, partilha-o com a tua equipa e treina com ele através do treino gerido. Os originais são transmitidos a pedido, e as imagens indexadas não consomem a tua quota de armazenamento da Platform.
Uma única importação indexa até 500.000 objetos e ficheiros de rótulos ou YAML até 1 MB cada. Os buckets maiores devem ser divididos por vários conjuntos de dados.
Cada imagem indexada fica associada à geração do respetivo objeto do GCS, e a Platform falha em modo fechado se um objeto for alterado. Adiciona novos objetos em vez de substituir os existentes.
Importações falhadas#
Se uma importação falhar — por uma pasta vazia, um erro de digitação no caminho ou permissões revogadas — o conjunto de dados apresenta o erro na respetiva página. Os editores podem clicar em Retry import para reiniciar a importação com o bucket e a pasta guardados, ou criar um novo conjunto de dados com o caminho corrigido.
Uma nova tentativa volta a listar a pasta em vez de continuar de onde ficou: os objetos adicionados desde a primeira tentativa são incluídos, e os objetos que já não estão lá são removidos do conjunto de dados.
Treino#
O treino gerido funciona através do fluxo normal de treino. Durante a execução, o treino utiliza as cópias das imagens fixadas que pertencem à própria Platform, e as tuas credenciais do Google Cloud nunca são expostas às cargas de trabalho de treino.
Desconectar uma conexão#
Ao desconectar, as credenciais guardadas são eliminadas sem alterar nada no Google Cloud. Os conjuntos de dados criados a partir desses buckets permanecem no teu espaço de trabalho com as respetivas classes, rótulos e anotações, mas as imagens não podem ser carregadas, pré-visualizadas ou usadas no treino até voltares a conectar a mesma conta de serviço.
Usa a REST API com o ID da integração devolvido por GET /api/integrations/buckets:
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")Para revogar o acesso na origem, elimina a chave da conta de serviço no Google Cloud.
Limitações atuais#
Os conjuntos de dados ligados ao GCS não incluem atualmente funcionalidades que requerem cópias das imagens pertencentes à Platform: anotação automática, análise de agrupamento, clonagem de conjuntos de dados e instantâneos de versões imutáveis.
A eliminação de um conjunto de dados ligado ao GCS, ou de imagens individuais desse conjunto, remove apenas as referências da Platform — os teus objetos nunca são alterados.
Consulta também as integrações do Amazon S3 e do Azure Blob Storage.
Perguntas frequentes#
Não. A Platform lista o bucket uma vez e cria um índice das dimensões das imagens e dos rótulos que encontra. Os originais são transmitidos a pedido para navegação e anotação, e o treino gerido utiliza as cópias das imagens fixadas que pertencem à Platform apenas durante a execução. As imagens indexadas não contam para a tua quota de armazenamento.
Um conjunto de dados é indexado uma única vez, quando é criado. Os novos objetos não são incluídos até criares um novo conjunto de dados ou voltares a tentar uma importação falhada, e cada imagem indexada fica associada à respetiva versão; por isso, se substituíres um objeto, a Platform falha em modo fechado nessa imagem. Adiciona novos objetos em vez de substituir os existentes.
As funcionalidades que precisam de cópias das imagens pertencentes à Platform não estão disponíveis em conjuntos de dados conectados: anotação automática, análise de agrupamento, clonagem de conjuntos de dados e instantâneos de versões imutáveis. A anotação manual, a partilha e o treino funcionam normalmente.
Desconecta a integração em Settings > Integrations para eliminar as credenciais guardadas, ou elimina a chave da conta de serviço no Google Cloud. Nenhuma das ações altera os dados nos teus buckets.