Request File
Categoría: External Services
Descripción: Este módulo de extensión permite solicitar, modificar y borrar archivos de un servidor, siempre que se cuente con los permisos necesarios, o bien obtenerlos a través de recursos compartidos en Azure.
Funcionalidad: Este módulo de extensión cuenta con dos alternativas en su funcionalidad. Por un lado, permite hacer solicitudes sobre un archivo disponible en un servicio de internet a través de su URL y métodos HTTP, donde se ingresará la información necesaria para la correcta ejecución de los métodos, este tendrá un tiempo de espera para la respuesta a la solicitud antes de considerarla fallida. Por otra parte, se puede tomar un archivo disponible en Azure File Shares, correspondiente al servicio de Azure Storage.
Requisitos previos
Para hacer uso de la opción del módulo para cargar un archivo disponible en Azure se requiere:
- Cuenta de Azure: Tener una cuenta activa en Azure. De lo contrario, créala. Acceder al Portal Azure.
- Cuenta de almacenamiento en Azure: Dentro de la suscripción a Azure, crear una cuenta de almacenamiento. Esta cuenta será donde se alojará el Azure File Share (Cuentas de almacenamiento > Crear > [Completar los campos de configuración]).
- Crear un Azure File Share: Dentro de la cuenta de almacenamiento, crear un File Share (File Shares > Crear > [Especificar un nombre y el tamaño máximo]).
- Connection String o URL del File Share: Son necesarias para acceder y montar el recurso. La Connection String se obtiene desde la configuración de la cuenta de almacenamiento, y la URL se genera dentro del File Share.
Implementación
Este módulo consta de varios campos de solicitud de parámetros, agrupados en tres secciones según la funcionalidad específica a la que responden. Dos grupos, General y Opciones de donde descargar el archivo, aparecen predeterminados al comenzar la configuración del módulo. Un tercer grupo cambia de acuerdo a la opción seleccionada en el grupo Opciones de donde descargar el archivo, que puede ser Azure file shares o Request.
Nombre: Campo de entrada de tipo String que identifica un módulo de extensión en el flujo.
General
El nombre de la entidad donde almacenar el resultado obtenido de una expresión: Campo de tipo String Expression, donde se ingresa el nombre de la entidad en la que se van a almacenar las respuestas de las peticiones efectuadas.
Si se alcanza el máximo de intentos fallidos, el flujo de acción se interrumpirá y la descripción del error se pasará a la intención seleccionada con el nombre: 'Request_File_error': Campo de entrada que permite seleccionar de una lista desplegable la intención que se utilizará para manejar los errores de este módulo de extensión (previa configuración de esta); el detalle del error estará disponible en la entidad llamada Request_File_error.
Opciones de donde descargar el archivo
Fuente de donde se descarga el archivo: Campo de entrada que permite seleccionar entre las opciones Request o Azure File Shares desde una lista desplegable, según la ubicación del archivo que se desea utilizar. La opción Request permite especificar la URL de un archivo accesible por solicitud, mientras que la opción Azure File Shares hace referencia al servicio disponible en Azure Storage para compartir archivos.
Request
Métodos HTTP: Campo de entrada de tipo String, en forma de lista despegable, donde se selecciona el método HTTP a ejecutar. Estos métodos son las acciones estándar que indican la operación que se desea realizar sobre un recurso específico. Cada método tiene un propósito definido y determina cómo se debe interpretar la solicitud por parte del servidor.
- GET: Solicita datos de un recurso específico en un servidor.
- POST: Envia datos a un servidor para ser procesados. Puede provocar efectos secundarios como la creación de un nuevo recurso o la actualización de uno existente.
- PUT: Reemplaza todas las representaciones actuales del recurso de destino con los datos enviados en la solicitud.
- PATCH: Aplica modificaciones parciales a un recurso.
- DELETE: Elimina el recurso especificado.
- HEAD: Solicita una respuesta similar a la solicitud GET, pero sin el cuerpo de la respuesta.
- OPTIONS: Devuelve los métodos HTTP que el servidor soporta para el URL especificado, así como otros metadatos.
La URL para invocar obtenida de una expresión: Campo de entrada, de tipo String Expression, que permite ingresar la URL a la que se quiere acceder para hacer la petición, o el nombre de una entidad de tipo String creada previamente, que contenga la URL.
Especifica una colección de pares de nombre / valor que componen los encabezados HTTP. El Valor será evaluado como una expresión: Campo de entrada, de tipo String Expression, para ingresar el nombre y el valor que conformarán el encabezado HTTP. Estos encabezados permiten a los clientes y servidores comunicarse entre sí de manera efectiva, proporcionando detalles como el tipo de contenido enviado o recibido, la longitud del contenido, el tipo de autenticación requerida, las preferencias de idioma, entre otros.
El número de milisegundos que se debe esperar antes de que se agote el tiempo de espera de la solicitud. El valor predeterminado es 30.000 milisegundos (30 segundos) obtenido de una expresión: Campo de tipo Integer Expresión, para ingresar al tiempo máximo, en milisegundos, que un cliente espera para recibir una respuesta del servidor antes de considerar que la solicitud ha fallado debido a un tiempo de espera agotado. Por defecto, si no se especifica un tiempo de espera explícito en la configuración de la solicitud, se esperarán 30 segundos antes de que la solicitud sea cancelada automáticamente debido a que el servidor no ha respondido dentro de ese período.
El cuerpo a enviar obtenido de una expresión: Campo de entrada, de tipo String, permite ingresar el cuerpo de la petición o una entidad que contenga el cuerpo de la petición. Esto de refiere a la parte de la solicitud que contiene los datos que se envían al servidor o los datos que el servidor envía como respuesta al cliente; siendo especialmente relevante en los métodos de solicitud como POST, PUT, PATCH, y en algunos casos DELETE, donde es común enviar datos adicionales junto con la solicitud.
Tipos de datos en el cuerpo de la solicitud:
-
Formularios HTML: Usualmente enviados con el tipo de contenido application/x-www-form-urlencoded.
-
JSON: Común en API RESTful, se usa con el tipo de contenido application/json.
- XML: Menos común en aplicaciones modernas, se usa con el tipo de contenido application/xml.
- Archivos binarios: Como imágenes, vídeos, etc., se envían con tipos de contenido específicos como image/jpeg, video/mp4, etc.
Azure file shares
Es un servicio de almacenamiento de archivos en la nube que forma parte de Azure Storage. Permite a las aplicaciones compartir archivos a través de protocolos estándar como SMB (Server Message Block), proporcionando una experiencia similar a la de un sistema de archivos tradicional.
Para la configuración de esta opción, los campos requeridos son:
Connection string: Campo de entrada de tipo password para ingresar la Connection String, disponible en Storage account > Security + Networking > Access keys > Connection string. La Connection String contiene la información necesaria para que Lynn, a través del módulo de extensión, se comunique con la cuenta de almacenamiento en Azure.
Nombre del recurso compartido de archivos: Campo de entrada de tipo String Expression para ingresar el nombre de la carpeta, o una entidad que contenga el nombre de la carpeta, dentro de File shares que contiene el archivo que se va a solicitar.
Nombre del archivo: Campo de entrada de tipo String Expression para ingresar el nombre y la extensión del archivo, o una entidad que contenga esta información, que se va a solicitar de Azure File Shares.
Tipo de archivo: Campo de entrada de tipo String Expression para ingresar el tipo de archivo, o una entidad que contenga esta información, que se va a solicitar (ejemplo: .docx, .pdf, .txt, .jpg, entre otros).