assetfetcher
13 min
el objeto assetfetcher permite descargar archivos a un grupo de recursos (que se representa en javascript como una instancia de grupoderecursos docid rny34khc4opcnp3tk0vn ) idl de assetfetcher interface assetpoolfetcher { assetpoolfetcher(assetpool pool); promise\<void> start(assetlist list, assetpoolfetcherparams assetpoolparams\[optional]); promise\<void> cancel(); }; interface fileevent { attribute string type; attribute string filename; attribute int index; attribute int responsecode; attribute string error; }; interface progressevent { attribute string type; attribute string filename; attribute int index; attribute int total; attribute long currentfiletransferred; \[optional] attribute long currentfiletotal; }; interface assetpoolfetcherparams { attribute authentication auth; attribute bool enableunsafeauthentication; attribute bool enableunsafeproxyauthentication; attribute bool enableencodings; attribute bool enablepeerverification; attribute bool enablehostverification; attribute string certificatesfile; attribute headerlist headers; attribute string proxy; attribute array\<string> proxybypasslist; attribute unsigned int progressinterval; attribute unsigned int fileretrycount; attribute string relativelinkprefix; attribute string interfacename; attribute mintransferrate minimumtransferrate; attribute double maximumtransferrate; attribute bool onlyrequestcache; }; interface authentication { attribute string username; attribute string password; }; interface header { attribute string value; }; interface mintransferrate { attribute int bytespersecond; attribute int periodinseconds; }; creación de objetos para crear un objeto assetpoolfetcher primero deberá crear una instancia de assetpool luego, cargue el módulo brightsign/assetpoolfetcher usando el método require() y cree una instancia de la clase assetpoolfetcher usando la instancia de assetpool const assetpoolclass = require("@brightsign/assetpool"); let assetpool = new assetpoolclass("sd /pool"); const assetpoolfetcherclass = require("@brightsign/assetpoolfetcher"); let assetpoolfetcher = new assetpoolfetcherclass(assetpool); assetpoolfetcher esta interfaz le permite iniciar o detener el captador de recursos start() promise\<void> start(assetlist list, assetpoolfetcherparams assetpoolparams\[optional]) comienza a obtener los archivos especificados en la interfaz grupoderecursos docid rny34khc4opcnp3tk0vn assetlist pasada el proceso de obtención se configura con la interfaz parámetros de assetpoolfetcher pasada la promesa de start() se devuelve cuando el proceso de obtención de recursos se completa alternativamente, la promesa será rechazada si la instancia de assetpoolfetcher ya se ha iniciado este método puede hacer que los recursos se eliminen cancel() promise\<void> cancel() cancela el proceso de obtención de recursos la promesa no se resolverá hasta que la cancelación se complete fileevent esta interfaz contiene información sobre un intento de transferencia de archivos tipo \<font color="#6b21a8">string\</font> contiene fileevent para indicar el tipo del evento filename \<font color="#6b21a8">string\</font> el nombre del recurso que se está descargando índice \<font color="#6b21a8">int\</font> el índice basado en cero del archivo en la interfaz assetlist de assetpool docid rny34khc4opcnp3tk0vn responsecode \<font color="#6b21a8">int\</font> el código de respuesta del protocolo asociado con el evento los siguientes códigos indican éxito 200 transferencia http exitosa 226 transferencia ftp exitosa 0 transferencia de archivo local exitosa también existen numerosos códigos de error en caso de fallo; consulte esta página docid\ fagniolz1cu0pt y8b 6c para obtener una lista no exhaustiva error \<font color="#6b21a8">string\</font> un mensaje de error textual que puede ser más descriptivo que responsecode para errores locales progressevent esta interfaz contiene información sobre el proceso de obtención de recursos tipo \<font color="#6b21a8">string\</font> contiene progressevent para indicar el tipo del evento filename \<font color="#6b21a8">string\</font> el nombre del archivo que se está descargando actualmente índice \<font color="#6b21a8">int\</font> el índice basado en cero del archivo actual en la interfaz assetlist de assetpool docid rny34khc4opcnp3tk0vn total \<font color="#6b21a8">int\</font> el número total de archivos en el objeto lista de activos archivoactualtransferido \<font color="#6b21a8">long\</font> la cantidad de bytes que se han descargado hasta ahora para el recurso actual currentfiletotal \<font color="#6b21a8">long\</font> \<font color="#01a0af">optional\</font> si el tamaño del recurso en bytes se conocía antes de que comenzara la descarga, entonces se proporciona en esta propiedad si el tamaño no se conocía, entonces esta propiedad puede no estar presente assetpoolfetcherparams esta interfaz contiene parámetros de configuración para el proceso de obtención de recursos auth \<font color="#6b21a8">autenticación\</font> una interfaz de autenticación que especifica las credenciales que se usarán al descargar el recurso enableunsafeauthentication \<font color="#6b21a8">bool\</font> una marca que habilita la autenticación http básica la autenticación http utiliza un protocolo inseguro, lo que podría permitir que otros determinen fácilmente la contraseña el objeto assetpoolfetcher seguirá prefiriendo el digest http más seguro si el servidor lo admite si este parámetro es falso (lo cual es la configuración predeterminada), se negará a proporcionar contraseñas mediante autenticación http básica, y cualquier solicitud que requiera esta autenticación fallará enableunsafeproxyauthentication \<font color="#6b21a8">bool\</font> una marca que habilita la autenticación http básica contra proxies la autenticación http utiliza un protocolo inseguro, lo que podría permitir que otros determinen fácilmente la contraseña si este parámetro es falso , se negará a proporcionar la contraseña del proxy mediante autenticación http básica, y cualquier solicitud que requiera este tipo de autenticación fallará a diferencia de enableunsafeauthentication , este parámetro está configurado como verdadero de forma predeterminada enableencodings \<font color="#6b21a8">bool\</font> una marca que habilita la compresión http, la cual comunica al servidor que el sistema puede aceptar cualquier codificación que la instancia de assetpoolfetcher sea capaz de decodificar por sí misma (este comportamiento está habilitado de forma predeterminada) las codificaciones compatibles actualmente incluyen "deflate" y "gzip", que permiten la compresión transparente de las respuestas los clientes de la instancia de assetpoolfetcher solo ven los datos decodificados y desconocen la codificación que se está utilizando enablepeerverification \<font color="#6b21a8">bool\</font> una marca que habilita la comprobación de certificados tls/ssl este parámetro está configurado como verdadero de forma predeterminada deshabilitar la verificación de pares le permite omitir la comprobación de certificados vencidos enablehostverification \<font color="#6b21a8">bool\</font> una marca que habilita la comprobación del certificado tls/ssl para el nombre de host correcto este parámetro está configurado como verdadero de forma predeterminada deshabilitar la verificación del host le permite aceptar un certificado enviado para un nombre de host incorrecto la verificación de pares y la verificación del host son comprobaciones de seguridad importantes que previenen ataques de "man in the middle" estas funciones solo deben deshabilitarse después de considerar cuidadosamente las implicaciones de seguridad certificatesfile \<font color="#6b21a8">string\</font> el nombre de archivo de un conjunto alternativo de certificados de ca para la conexión este método es útil si los certificados de conexión están firmados por una ca que no está en la lista de confianza predeterminada (por ejemplo, si su organización utiliza una jerarquía de ca privada que no está firmada por una ca raíz conocida) este archivo reemplaza la lista predeterminada, por lo que el archivo de certificados proporcionado debe contener todos los certificados de ca aceptables requeridos para la conexión encabezados \<font color="#6b21a8">headerlist\</font> una lista de encabezados que se pasarán a las solicitudes http realizadas por la instancia de assetpoolfetcher proxy \<font color="#6b21a8">string\</font> el nombre o la dirección del servidor proxy que será utilizado por la instancia de assetpoolfetcher la cadena del proxy debe tener el formato "http //user\ password\@hostname\ port" puede contener hasta cuatro caracteres " "; cada carácter " " puede utilizarse para reemplazar un octeto de la dirección ip actual del reproductor por ejemplo, si la dirección ip actual es 192 168 1 2 y el proxy está configurado como "proxy ", el reproductor intentará utilizar un proxy llamado "proxy 192 168" si está presente, esta configuración reemplaza la configuración global de proxy del reproductor proxybypasslist \<font color="#6b21a8">array\</font> \<font color="#6b21a8">\<string\>\</font> una lista de hosts exentos de la configuración del proxy la lista debe constar de uno o más nombres de host (no se pueden utilizar direcciones ip) la instancia de assetpoolfetcher intentará comunicarse directamente con los hosts especificados en lugar de utilizar el proxy especificado con el parámetro proxy por ejemplo, el nombre de host "example com" excluiría "example com", "example com 80" y "www example com" de la configuración del proxy si está presente, esta configuración reemplaza la configuración global de omisión de proxy progressinterval \<font color="#6b21a8">unsigned int\</font> el intervalo (en segundos) entre eventos de progreso cuando se descarga un archivo individual configurar el intervalo en null deshabilita todos los eventos de progreso configurar el intervalo en 0 especifica que los eventos deben generarse tan frecuentemente como sea posible, aunque esto ralentizará el proceso de transferencia si el intervalo se configura en 0 o en cualquier entero positivo, los eventos siempre se generarán al inicio y al final de la descarga de archivos independientemente del tiempo transcurrido el intervalo predeterminado es de 300 segundos fileretrycount \<font color="#6b21a8">unsigned int\</font> el número máximo de veces que se reintentará cada descarga de archivo antes de pasar a la siguiente descarga de archivo el número predeterminado de reintentos es cinco relativelinkprefix \<font color="#6b21a8">string\</font> un prefijo que se antepondrá a los enlaces que no tengan un protocolo en el objeto lista de activos normalmente, este método se utiliza para hacer que los uri file /// sean independientes de la unidad, pero también puede utilizarse para reducir el tamaño de la especificación de sincronización si todos los archivos se almacenan en el mismo lugar los enlaces que tienen un protocolo no se ven afectados por este método interfacename \<font color="#6b21a8">string\</font> una cadena que especifica qué interfaz de red debe intentar utilizar la instancia de assetpoolfetcher para el acceso a la red, por ejemplo "eth0" para ethernet o "wlan0" para wifi el comportamiento predeterminado (indicado por un valor null) es enviar solicitudes utilizando la interfaz de red más apropiada, lo que puede depender de la métrica de enrutamiento configurada mediante el objeto networkconfiguration si varias interfaces están en la misma red de capa 2, es posible que este método no funcione como se espera debido al modelo weak host de linux minimumtransferrate \<font color="#6b21a8">mintransferrate\</font> una interfaz mintransferrate que especifica la tasa de transferencia mínima promedio para las descargas de archivos si una transferencia de archivos cae por debajo de esta tasa, se terminará maximumtransferrate \<font color="#6b21a8">long\</font> la velocidad máxima de transferencia para las descargas de archivos la velocidad de los datos de origen no está bajo el control directo del reproductor brightsign, pero las velocidades de descarga deberían mantenerse por debajo del valor especificado en promedio a lo largo del tiempo onlyrequestcache \<font color="#6b21a8">bool\</font> un indicador que señala que el reproductor debería desconectarse poco después de comenzar la descarga del recurso si el reproductor está configurado para usar un proxy configurado adecuadamente (ya sea de forma global o mediante la interfaz parámetros de assetpoolfetcher ), entonces el proxy continuará descargando los archivos, haciéndolos fácilmente disponibles para llamadas de obtención de recursos en el futuro si este parámetro es verdadero , el fileevent devolverá el código de respuesta 202 ("accepted") para indicar éxito otros errores se informarán como de costumbre el progressevent para el evento final de todos los archivos completados siempre será 2 ("event all failed") porque la descarga no se completa autenticación esta interfaz contiene información de autenticación para descargar archivos nombre de usuario \<font color="#6b21a8">string\</font> el nombre de usuario para la autenticación contraseña \<font color="#6b21a8">string\</font> la contraseña para la autenticación encabezado esta interfaz contiene una lista de encabezados para pasar a una url de descarga de archivos cada entrada de la lista contiene los siguientes parámetros valor \<font color="#6b21a8">string\</font> el valor del encabezado mintransferrate los valores de esta interfaz se utilizan para calcular la velocidad mínima de transferencia bytespersecond \<font color="#6b21a8">int\</font> la velocidad de transferencia por debajo de la cual, cuando se promedia durante el período periodinseconds , la transferencia de archivos finalizará periodinseconds \<font color="#6b21a8">int\</font> el período de tiempo durante el cual se promedia la medición de bytes por segundo measurement si la transferencia se realiza a través de internet, es posible que no quiera establecer periodinsseconds en un número pequeño en caso de que los problemas de red provoquen caídas temporales en el rendimiento para transferencias de archivos grandes y un límite pequeño de bytespersecond , puede ser apropiado promediar quince minutos o más