Saltar para o conteúdo

Solicitar em lote URLs de upload pré-assinadas

Request

Reserva registros do Cloud Storage e obtém URLs de envio pré-assinadas.

  • Pré-requisitos: a equipe precisa ter um registro de Cloud Storage e ele não pode estar expirado. Cada nome base de arquivo é limitado a 60 caracteres e precisa ser único tanto dentro da requisição quanto em relação a todos os arquivos existentes da equipe — a comparação é feita pelo nome sem a extensão, então a.png colide com um a.mp4 existente.
  • Limites: no máximo 100 envios podem ficar sem confirmação ao mesmo tempo em toda a equipe.
  • Efeito: insere um registro por nome com status de envio em andamento e tamanho zero, e retorna {id, fileName, presignedUrl} para cada um.
  • Cota: o espaço não é verificado aqui. Ele é cobrado quando você confirma o envio, então o init pode ter sucesso e o complete ainda falhar por falta de espaço.
  • Conclusão: sincrônica. Cada URL pré-assinada é válida por uma hora; envie os bytes com PUT e depois chame /cloudstorage/upload/complete.

Erros de negócio documentados: 39001, 39037, 39044, 39045, 39047, 39050, 39051. Consulte Error Codes para o significado de cada código. Qualquer operação também pode retornar os códigos comuns.

Bodyapplication/jsonrequired
fileNamesArray of strings, non-emptyrequired

Lista de nomes de arquivos a enviar (com extensão), por exemplo photo.jpg, video.mp4.

Example:
[ "photo.jpg", "video.mp4" ]
POST
/api/cloudstorage/upload/init
curl -i -X POST \
  http://127.0.0.1:40000/api/cloudstorage/upload/init \
  -H 'Content-Type: application/json' \
  -d '{
    "fileNames": [
      "example.jpg"
    ]
  }'

Responses

Sucesso

Bodyapplication/json
codeintegerrequired

Código de resultado. 0 significa sucesso; outros códigos indicam exceções.

Example:0
msgstring or nullrequired

Mensagem de erro.

Example:null
requestIdstring

ID da requisição da operação. Este campo pode estar presente quando a requisição passa pelo gateway da API.

Example:"1d4f3ea968664593860b94b35d4ebf5e"
dataArray of objects(UploadInitResult)required
Response
{ "code": 0, "msg": null, "requestId": "1d4f3ea968664593860b94b35d4ebf5e", "data": [ {} ] }