Pasar archivos por URL
Las reglas que debe cumplir un enlace de archivo y los tipos de contenido que acepta cada entrada.
No hay un endpoint de carga. Un campo de archivo toma un enlace HTTPS público, que obtenemos, verificamos y copiamos en tu proyecto de Morphic antes de que comience la ejecución. Tu CDN sigue siendo el origen de tu propio contenido, y las imágenes, el video, el audio y los documentos usan todos un mismo contrato.
Todo enlace debe cumplir con todo esto
| Requisito | Detalle |
|---|---|
| HTTPS | en claro http se rechaza |
| Sirve el archivo | el cuerpo de la respuesta debe ser los bytes. Una página de vista previa o de uso compartido — un visor de Drive, una página de destino de Dropbox, cualquier envoltorio HTML — se rechaza |
| Un nombre de host público | solo nombres de host. Una dirección IP, localhost, o un nombre que resuelva a una dirección privada se rechaza |
| Sin credenciales en la URL | https://usuario:contraseña@… se rechaza. Una cadena de consulta prefirmada está bien y nunca se escribe en nuestros registros |
| Un tipo de contenido incluido en la lista | del Content-Type debe ser uno de los url_content_types |
| Bytes que coinciden con | los primeros bytes del archivo se comprueban frente al tipo con el que se sirvió, antes de conservarlo. Se rechaza un PNG servido como PDF, una página HTML servida como JSON o cualquier ZIP servido como DOCX |
Dentro de max_bytes | se comprueba a partir de Content-Length primero, y luego se vuelve a aplicar mientras fluyen los bytes |
| Como máximo 3 redirecciones | se rechaza más de tres saltos |
| Válido para toda la descarga | un enlace que caduca a mitad de la transferencia hace fallar la ejecución |
| No vacío | se rechaza un enlace que sirve cero bytes |
| Entregado con prontitud | se rechaza un host que no puede entregar el archivo completo en unos 40 segundos, y los enlaces de una ejecución en conjunto disponen de unos 90 segundos |
Un enlace firmado con una vida útil corta suele ser la causa de un archivo descargado a medias. Dale al menos unos minutos de validez después del momento en que inicies la ejecución.
Tipos de contenido por tipo de entrada
La lista exacta para una entrada está en su url_content_types. Estos son los tipos que cada tipo de entrada puede configurarse para aceptar.
| Tipo de entrada | Tipos de contenido |
|---|---|
imagen | image/png, image/jpeg, image/webp, image/gif, image/tiff, image/avif, image/heic |
video | video/mp4, video/webm, video/quicktime, video/mpeg, video/x-matroska |
audio | audio/mpeg, audio/wav, audio/aac, audio/ogg, audio/mp4, audio/webm |
documento | application/pdf, text/plain, text/markdown, text/csv, application/json, y DOCX |
Cualquier cosa que no esté en la lista de una entrada se rechaza. No existe un tipo de entrada de «cualquier archivo», y nunca se confía en la extensión: lo que cuentan son los bytes.
Límites por ejecución
Los enlaces y los bytes tienen un límite por ejecución en conjunto para todas las entradas de archivo — consulta Errores y límites.