Importar arquivos de servidores web
🤖/http/import importa para a Transloadit qualquer arquivo disponível publicamente por meio de uma URL da web.

O resultado deste Robot terá um campo import_url nos metadados, que indica a URL de onde foi importado. Resultados de conversões posteriores que usem esse arquivo também terão esse campo import_url. Isso permite que você associe os resultados das conversões à URL de importação original que usou.
Este Robot sabe interpretar links para arquivos nestes serviços:
- Dropbox
- Google Drive
- Google Docs
- OneDrive
Em vez de baixar a página HTML de pré-visualização do arquivo, o próprio arquivo será importado.
Exemplo de uso
Importe uma imagem de uma URL específica:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "https://demos.transloadit.com/inputs/chameleon.jpg"
}
}
}Parâmetros
interpolateboolean | Record<string, boolean>Controla se as Assembly Variables são interpoladas em campos individuais de instruções.
Por padrão, a maioria dos campos de instruções dos Robots interpola Assembly Variables. Defina isso como
falsepara tratar todos os campos de instruções como texto literal, ou defina o caminho de um campo individual comofalsepara tratar apenas esse campo como texto literal. Para campos específicos de um Robot que são literais por padrão, defina isso comotrueou defina o caminho desse campo comotruepara voltar a usar a interpolação.Use nomes de campos como
pathou caminhos com pontos comoffmpeg.vfpara objetos aninhados.output_metaRecord<string, boolean> | boolean | Array<string>Permite especificar um conjunto de metadados cujo cálculo exige mais CPU e que, por isso, vem desativado por padrão para manter o processamento das suas Assemblies rápido.
Para imagens, você pode adicionar
"has_transparency": trueneste objeto para extrair se a imagem contém partes transparentes e"dominant_colors": truepara extrair um array de códigos de cores hexadecimais da imagem.Para imagens, você também pode adicionar
"blurhash": truepara extrair uma string BlurHash — uma representação compacta de um placeholder da imagem, útil para exibir uma prévia desfocada enquanto a imagem completa carrega.Para vídeos, você pode adicionar o parâmetro
"colorspace": truepara extrair o espaço de cores do vídeo de saída.Para vídeos, você também pode adicionar
"interlaced": truepara detectar se o vídeo é entrelaçado. Isso combina a flag computacionalmente baratafield_orderdo ffprobe com uma passagem de amostragemidetlimitada sobre os primeiros quadros da origem, expondointerlaced,field_ordere um objeto de diagnósticointerlace_detectionemfile.meta. Isso é computacionalmente caro e cobrado de acordo.Para áudio, você pode adicionar
"mean_volume": truepara obter um único valor que representa o volume médio do arquivo de áudio.Você também pode definir isso como
falsepara pular a extração de metadados e acelerar a transcodificação.user_metaRecord<string, any>(padrão:{})Adiciona metadados JSON personalizados a cada arquivo emitido sem modificar seu conteúdo. Objetos e arrays aninhados são suportados.
A herança depende do Robot. Os valores são mesclados com o
user_metaexistente no arquivo de saída; o Step atual substitui as chaves de nível superior com o mesmo nome. Atribua explicitamente as chaves necessárias quando um Robot criar novas saídas.Nos Steps de processamento,
${file.*}se refere à primeira entrada e${result.*}ao arquivo emitido. Os valores são avaliados para cada saída após a execução do Robot, antes da extração subsequente de metadados e do armazenamento temporário. Em:original, os valores são avaliados para cada upload antes da extração de metadados.Os Steps subsequentes leem
${file.user_meta.key}. Consulte Metadados personalizados para ver um exemplo completo e as regras de herança.resultboolean(padrão:false)Se os resultados deste Step devem estar presentes no Assembly Status JSON
queuebatchDefinir a fila como “batch” rebaixa manualmente a prioridade dos Jobs deste Step, para evitar o consumo de vagas prioritárias de Jobs em Jobs que não precisam de tempo zero de espera na fila
force_acceptboolean(padrão:false)Forçar um Robot a aceitar um tipo de arquivo que ele teria ignorado.
Por padrão, os Robots ignoram arquivos que não conhecem. O 🤖/video/encode, por exemplo, ignora tranquilamente imagens de entrada.
Com o parâmetro
force_acceptdefinido comotrue, você pode forçar os Robots a aceitar todos os arquivos enviados a eles. Isso normalmente leva a erros e só deve ser usado para depuração ou para lidar com casos extremos.ignore_errorsboolean | Array<meta | import | execute>(padrão:[])Ignorar erros durante fases específicas do processamento.
Definir isso como
["meta"]fará com que o Robot ignore erros durante a extração de metadados.Definir isso como
["execute"]fará com que o Robot ignore erros durante a fase principal de execução.Definir isso como
["import"]fará com que o Robot ignore erros ao importar o arquivo de origem. A fase"import"está disponível apenas para Robots de importação.Definir isso como
trueequivale a["meta", "import", "execute"]e fará com que erros sejam ignorados nas três fases.force_namestring | Array<string> | null(padrão:null)Nome personalizado para o(s) arquivo(s) importado(s). Por padrão, os nomes dos arquivos são derivados da origem.
import_on_errorsArray<meta>(padrão:[])Definir isso como
["meta"]ainda importa o arquivo quando ocorrem erros de extração de metadados.ignore_errorsé parecido: também ignora o erro e garante que o Robot não pare, mas não importa o arquivo.url— obrigatóriostring | Array<string>A URL da qual o arquivo a ser importado pode ser obtido.
As URLs HTTPS devem apresentar um certificado válido em que a Transloadit confie e que corresponda ao nome de host solicitado. Certificados autoassinados, expirados ou que não correspondam ao nome de host causam
HTTP_IMPORT_FAILURE.Você também pode especificar um array de URLs ou uma string de URLs delimitadas por
|para importar vários arquivos de uma só vez. Consulte também o parâmetrourl_delimiterpara isso.url_delimiterstring(padrão:"|")Fornece o delimitador usado para separar as URLs no valor do parâmetro
url.headersArray<string> | Array<Record<string, string>> | string(padrão:[])Cabeçalhos personalizados a serem enviados para a importação de arquivos.
Por padrão, este é um array vazio, de modo que nenhum cabeçalho adicional seja enviado além dos necessários (por exemplo, Host).
Os cabeçalhos podem ser especificados como:
- Um array de strings no formato “Header-Name: value”
- Um array de objetos com os nomes dos cabeçalhos como chaves e seus valores como valores
- Uma string JSON que será interpretada como um objeto
Os nomes dos cabeçalhos devem ser tokens HTTP válidos. Os valores dos cabeçalhos podem conter tabulações horizontais, mas outros caracteres de controle, incluindo retornos de carro e quebras de linha, são rejeitados.
Em um array de strings de cabeçalhos,
"Header-Name;"envia um valor de cabeçalho vazio. Cada entrada deve ser um cabeçalho literal; a leitura de cabeçalhos de um arquivo com@filenamenão é compatível.O mesmo valor de
headersé enviado com cada URL neste Step/http/import. Seurlfor um array,headersnão será associado às URLs pelo índice do array. Use Steps/http/importseparados quando URLs diferentes precisarem de cabeçalhos diferentes.fail_fastboolean(padrão:false)Desative o mecanismo interno de novas tentativas e retorne uma falha imediatamente se um recurso não puder ser importado. Isso pode ser útil para aplicações em que o desempenho é crítico.
max_file_sizestring | numberTamanho máximo permitido em bytes para cada arquivo importado. Se o servidor remoto informar um tamanho de arquivo maior, a importação será rejeitada antes do início do download. Se o servidor remoto não informar um tamanho antecipadamente, o download será abortado assim que esse limite for excedido.
return_file_stubsboolean(padrão:false)Se definido como
true, o Robot ainda não importará os arquivos em si, e em vez disso retornará um stub de arquivo vazio que inclui uma URL a partir da qual o arquivo pode ser importado por Robots subsequentes. Isso é útil em casos em que os Steps subsequentes precisam de mais controle sobre o processo de importação, como acontece com o 🤖/video/ondemand. Este parâmetro só deve ser definido se todos os Steps subsequentes usarem Robots que suportem stubs de arquivo.rangestring | Array<string>Permite especificar um ou mais intervalos de bytes a importar do arquivo. O servidor precisa oferecer suporte a requisições de intervalo para que isso funcione.
Intervalo único: use uma string como
"0-99"para importar os bytes de 0 a 99 (os primeiros 100 bytes).Múltiplos intervalos: use um array como
["0-99", "200-299"]para importar vários intervalos separados. O arquivo resultante conterá todos os intervalos solicitados concatenados, com bytes de valor zero (\0) preenchendo as lacunas entre intervalos não contíguos.Formatos de intervalo:
"0-99": bytes de 0 a 99 (inclusive)"100-199": bytes de 100 a 199 (inclusive)"-100": os últimos 100 bytes do arquivo
Observações importantes:
- O servidor precisa oferecer suporte a requisições HTTP de intervalo (responder com 206 Partial Content)
- Se o servidor não oferecer suporte a requisições de intervalo, o arquivo inteiro será importado
- Intervalos sobrepostos são permitidos e serão incluídos conforme solicitado
- O tamanho do arquivo resultante corresponderá à maior posição de byte solicitada, com as lacunas preenchidas com bytes de valor zero
Demonstrações
Publicações relacionadas no blog
- Launching audio encode Robot & exciting new updates (English)
- Enhancements: multi-file import & uk rackspace support (English)
- Addressing elevated queue times & ensuring reliability (English)
- Launching Assembly Notification for enhanced workflows (English)
- API & jQuery SDK 2.3.0 enhancements announced (English)
- Introducing our new virus scanning Robot for safer uploads (English)
- New pricing model for future Transloadit customers (English)
- Transloadit launches Turbo Mode for faster video encoding (English)
- Easily burn subtitles into videos with our new Robot (English)
- Creating an Einstein quote generator with Transloadit (English)
- Tutorial: using /video/merge to develop video slideshows (English)
- No-code real-time video uploading with Bubble & Transloadit (English)
- Let's Build: spinning record GIF generator (English)
- Convert Markdown files to HTML or PDF in seconds (English)
- Enhancing /http/import Robot with fail fast option (English)
- Let's Build: video from album art with Transloadit (English)
- Transloadit’s 2021 milestones and progress (English)
- Build a Reddit video subtitling bot with Transloadit (English)
- Let's Build: music card generator with Transloadit (English)