put() do SDK JavaScript escolhe o correto para você.
Upload simples
Opções
Estas valem para os dois fluxos. No upload simples, elas são parâmetros de query.Regras de caminho
Um caminho tem de 1 a 1024 caracteres e até 16 segmentos. Cada segmento tem de 1 a 255 caracteres dentreA-Z a-z 0-9 . _ - e espaço, não pode começar com . nem terminar com espaço. Não são aceitos //, / no início ou no fim, .., e o arquivo precisa ter extensão. Um caminho inválido falha com VALIDATION_ERROR; a plataforma nunca o reescreve em silêncio.
Upload direto
1
Crie o upload
Envie o caminho e o tamanho exato. A resposta diz se o upload é
single (um PUT) ou multipart, e, para multipart, informa o part_size e o part_count fixos.2
Envie os bytes
Para
single, faça PUT do arquivo na url devolvida. Para multipart, peça URLs para até 100 partes por vez com Obter URLs das partes e faça PUT de cada parte. Envie exatamente os headers devolvidos com cada URL; eles fazem parte da assinatura. As partes podem ir em paralelo, e a última pode ser menor.3
Conclua
Chame Concluir upload. A plataforma confere as partes, o tamanho total, o checksum e o tipo do arquivo, e então cria o objeto. Uma divergência responde
BLOB_UPLOAD_INCOMPLETE.Retomada
Um upload direto interrompido pode ser retomado até expirar (expires_at do upload). Obter upload devolve uploaded_parts; envie somente o que falta. Abortar upload cancela o upload e libera a cota reservada.
Cota e reservas
Ao criar um upload, o tamanho declarado é reservado da sua cota. Seusado + reservado + novo ultrapassar a cota, o upload é recusado com STORAGE_QUOTA_EXCEEDED. Uploads expirados ou abortados liberam a reserva. Ter uploads abertos demais ao mesmo tempo responde BLOB_UPLOAD_LIMIT. O limite de uploads abertos e os demais limites do seu plano estão em limits de Obter estatísticas.
Limites de tamanho
- Um upload simples aceita arquivos de até 100 MB.
- Em um upload multipart, cada parte tem de 5 MiB a 5 GiB (a última parte pode ser menor), com no máximo 10.000 partes.
- Um objeto pode ter até 10 GB.
Taxa de upload
Planos abaixo do Enterprise-12 são limitados a um upload por segundo por conta; Enterprise-12 e acima não têm limite próprio além da proteção contra abuso da plataforma. Ultrapassar o limite respondeRATE_LIMIT_EXCEEDED com o cabeçalho Retry-After; espere esse tempo e tente de novo. O valor exato do seu plano é limits.uploads_per_second em Obter estatísticas.
Erros comuns
Todos os códigos estão listados no catálogo de erros.