Passando arquivos por URL
As regras que um link de arquivo precisa cumprir e os tipos de conteúdo que cada entrada aceita.
Não há endpoint de upload. Um campo de arquivo aceita uma link HTTPS público, que buscamos, verificamos e copiamos para o seu projeto Morphic antes do início da execução. Sua CDN continua sendo a origem do seu próprio conteúdo, e imagens, vídeos, áudio e documentos usam todos um único contrato.
Todo link deve atender a tudo isto
| Requisito | Detalhe |
|---|---|
| HTTPS | simples http é recusado |
| Ele entrega o arquivo | o corpo da resposta deve ser os bytes. Uma página de pré-visualização ou compartilhamento — um visualizador do Drive, uma página inicial do Dropbox, qualquer envoltório HTML — é recusada |
| Um nome de host público | apenas nomes de host. Um endereço IP, localhost, ou um nome que resolve para um endereço privado é recusado |
| Sem credenciais na URL | https://user:pass@… é recusado. Uma string de consulta pré-assinada está ok e nunca é gravada em nossos logs |
| Um tipo de conteúdo listado | o Content-Type deve ser um dos url_content_types |
| Bytes que correspondem a | os primeiros bytes do arquivo são verificados em relação ao tipo como foi servido, antes de ele ser mantido. Um PNG servido como PDF, uma página HTML servida como JSON, ou qualquer ZIP servido como DOCX é recusado |
Dentro de max_bytes | verificado a partir de Content-Length primeiro, depois aplicado novamente enquanto os bytes são transmitidos |
| No máximo 3 redirecionamentos | mais de três saltos é recusado |
| Válido para toda a busca | um link que expira no meio da transferência faz a execução falhar |
| Não vazio | um link que entrega zero bytes é recusado |
| Entregue prontamente | um host que não consegue entregar o arquivo inteiro em cerca de 40 segundos é recusado, e os links de uma execução juntos têm cerca de 90 segundos |
Um link assinado com vida útil curta costuma ser a causa de um arquivo parcialmente buscado. Dê a ele pelo menos alguns minutos de validade após o momento em que você iniciar a execução.
Tipos de conteúdo por tipo de entrada
A lista exata de uma entrada está em seu url_content_types. Estes são os tipos que cada tipo de entrada pode ser configurado para aceitar.
| Tipo de entrada | Tipos de conteúdo |
|---|---|
imagem | image/png, image/jpeg, image/webp, image/gif, image/tiff, image/avif, image/heic |
vídeo | video/mp4, video/webm, video/quicktime, video/mpeg, video/x-matroska |
áudio | audio/mpeg, audio/wav, audio/aac, audio/ogg, audio/mp4, audio/webm |
documento | application/pdf, text/plain, text/markdown, text/csv, application/json, e DOCX |
Qualquer coisa que não esteja na lista de uma entrada é recusada. Não existe tipo de entrada "qualquer arquivo", e uma extensão nunca é confiável — o que os bytes são é o que conta.
Limites por execução
Links e bytes têm limite por execução, em todos os inputs de arquivo juntos — veja Erros e limites.