Integração com Amazon S3#
A integração com o Amazon S3 conecta os teus buckets S3 ao Ultralytics Platform. As tuas imagens permanecem nos teus buckets — o Platform indexa-as no local, para que possas navegar, anotar e treinar modelos YOLO sem carregar uma cópia.
Os conjuntos de dados do Amazon S3 requerem um Pro or Enterprise plan. Os espaços de trabalho gratuitos veem a integração e recebem um aviso para atualizar ao ligarem. Os conjuntos de dados do Amazon S3 existentes continuam totalmente acessíveis se uma subscrição terminar — apenas as novas ligações e importações requerem o plano Pro.
Criar um utilizador IAM apenas de leitura#
O Platform lê apenas a partir do teu armazenamento — nunca escreve, modifica ou elimina os teus objetos. Usa um IAM user dedicado apenas com acesso de listagem e leitura — nunca utilizes as credenciais de root:
-
Na consola da AWS, vai a IAM > Users e cria um utilizador sem acesso à consola.
-
Anexa uma política que conceda apenas acesso de listagem e leitura aos buckets que queres conectar:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetObject"], "Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"] } ] }s3:ListAllMyBucketsé opcional — permite que o Platform detete os teus buckets para não teres de escrever os respetivos nomes. -
Abre o separador Security credentials do utilizador, cria uma access key e copia o access key ID e a secret access key.
A Platform rejeita credenciais temporárias da AWS. As chaves emitidas pelo AWS STS — incluindo qualquer coisa que comece com ASIA, credenciais de sessão de função e chaves do IAM Identity Center — expiram enquanto um dataset ainda está conectado, portanto, é necessária uma chave de acesso de longa duração de um usuário IAM dedicado.
Conecte-se à Platform#
- Vai a Settings > Integrations e seleciona Amazon S3 na lista de integrações.
- Introduz o ID da chave de acesso, a chave de acesso secreta e a região do bucket (por exemplo,
us-east-1). - Clica em Find available buckets, depois seleciona os buckets a ligar. Se a política não permitir a descoberta, introduz um nome de bucket conhecido manualmente.
- Clique em Connect. A Platform verifica se consegue listar e ler cada bucket selecionado antes de salvar qualquer informação.

Precisas da função de administrador ou proprietário do workspace para conectar o armazenamento em nuvem. Uma única conexão suporta até 50 buckets, e a descoberta lista até 300 dos buckets que a chave consegue ver.
Reconectar o mesmo utilizador IAM mais tarde adiciona novos buckets à integração existente. Uma credencial guardada só é substituída quando a sua substituta ainda conseguir ler todos os buckets que já conectaste.
Uma conexão lê buckets na região que inserires. Se os teus buckets estiverem em várias regiões, conecta uma vez por região.
As credenciais são encriptadas em repouso com AES-256-GCM, nunca são devolvidas ao navegador e nunca são expostas aos workloads de treino. Para revogar o acesso, desativa a chave de acesso no AWS IAM.
Criar um dataset a partir de um bucket S3#
- Clica em New Dataset e abre o separador Cloud.
- Escolha um bucket conectado e navegue até a pasta que contém seus dados.
- Confirme a pasta, ajuste o nome do dataset e crie o dataset.
A Platform lista a pasta uma vez e indexa o que encontra:
- Images — Os objetos
.jpg,.jpeg,.png,.webpe.avifsão indexados com dimensões lidas através de pedidos limitados. O Platform não mantém uma segunda cópia da imagem de origem. - Labels — Os ficheiros complementares YOLO
.txtsão analisados em anotações do Platform, correspondidos pelo esquema padrãoimages/→labels/ou como elementos irmãos na mesma pasta. - Metadata — um ficheiro YAML fornece os nomes das classes e a forma dos keypoints de pose, exatamente como um carregamento de arquivo.
data.yamledata.ymlsão preferidos quando a pasta contém vários. - Task — uma amostra dos ficheiros de rótulos determina a tarefa, pelo que as pastas de segment, pose e OBB são reconhecidas pela forma dos seus rótulos e não pela tarefa que escolheste no diálogo.
- Splits — os nomes de pastas
train,valetestna chave do objeto atribuem divisões automaticamente.
O dataset comporta-se então como qualquer outro: navega e anota-o, define-o como público ou privado, partilha-o com a tua equipa e treina com ele através de treino gerido. Os originais são transmitidos a pedido, e as imagens indexadas não consomem a tua quota de armazenamento do Platform.
Uma única importação indexa até 50.000 objetos, e arquivos de rótulo ou YAML de até 1 MB cada. Buckets maiores devem ser divididos em vários datasets.
Cada imagem indexada está fixada ao seu ETag de objeto S3, e a Platform falha de forma segura se um objeto for alterado. Adiciona novos objetos em vez de sobrescrever os existentes.
Importações com falha#
Se uma importação falhar — uma pasta vazia, um erro de digitação no caminho ou permissões revogadas — o dataset exibirá o erro na sua página. Editores podem clicar em Retry import para reiniciar com o bucket e a pasta armazenados, ou criar um novo dataset apontando para o caminho corrigido.
Uma nova tentativa lista novamente a pasta em vez de retomar: os objetos adicionados desde a primeira tentativa são incluídos, e os objetos que já lá não estão são removidos do dataset.
Treinamento#
O treino gerido funciona através do fluxo normal de treino. O treino utiliza cópias próprias da Platform das imagens fixadas durante a execução, e as tuas credenciais da AWS nunca são expostas aos workloads de treino.
Desligar uma Ligação#
A desconexão elimina as credenciais armazenadas sem mexer em nada na AWS. Os datasets criados a partir desses buckets permanecem no teu workspace com as suas classes, rótulos e anotações, mas as respetivas imagens não podem ser carregadas, visualizadas ou utilizadas para treino até que o mesmo usuário IAM seja conectado novamente.
Usa a REST API com o ID de 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, desativa ou elimina a chave de acesso no AWS IAM.
Limitações atuais#
Os conjuntos de dados baseados no S3 excluem atualmente funcionalidades que requerem cópias das tuas imagens detidas pelo Platform: anotação automática, clustering analysis, clonagem de conjuntos de dados e version snapshots imutáveis.
Eliminar um dataset baseado em S3, ou imagens individuais dele, remove apenas as referências da Platform — os teus objetos nunca são tocados.
Vê também as integrações com o Google Cloud Storage e o Azure Blob Storage.