Consideraciones sobre el almacenamiento temporal en Integration Studio
Integration Studio ofrece múltiples soluciones a los usuarios que requieren almacenamiento temporal en sus integraciones. Esta página ofrece consideraciones para elegir la solución adecuada: un extremo que utilice el Conector de variables o el Conector de almacenamiento temporal.
Extremo variable
Extremos variables (Leer y Actividades de escritura, que no debe confundirse con las variables globales de scripting) son fáciles de codificar y reducen la complejidad, como se describe más adelante en esta página. Sin embargo, presentan ciertas limitaciones.
Para un escenario en el que una integración trabaja con pequeños conjuntos de datos (típicos de solicitudes y respuestas de servicios web o archivos pequeños de unos pocos cientos de registros), sugerimos utilizar un extremo Variable.
Cuando el conjunto de datos está en el rango de megabytes, el extremo de la variable se vuelve más lento que el extremo de almacenamiento temporal equivalente. Esto empieza a ocurrir cuando los datos superan los 4 MB.
Cuando el conjunto de datos se encuentra en el rango de varios megabytes, existe el riesgo de truncamiento de datos. Recomendamos un límite de 50 MB para ser prudentes y evitar cualquier riesgo de truncamiento.
El uso de extremos variables en operaciones asincrónicas es un caso práctico que requiere una consideración especial. Existe un límite de 7 KB para el tamaño de un conjunto de datos utilizado en un extremo variable en una operación asincrónica. En este caso, superar este límite puede provocar un truncamiento. Consulte la RunOperation() Función para una descripción de cómo llamar a una operación asincrónica.
Los extremos variables aumentan la reutilización y reducen la complejidad
El uso de un extremo variable para conjuntos de datos pequeños puede aumentar la reutilización y reducir la complejidad. Por ejemplo, al crear operaciones encadenadas con acciones de operación, cada operación puede tener actividades que funcionan como fuentes (Leer actividades) y objetivos (Actividades de escritura). En lugar de crear combinaciones de origen o destino individuales para cada operación, es fácil utilizar una variable de origen y destino común.
Para aumentar la reutilización y la estandarización, puede crear un secuencia de comandos reutilizable que registre el contenido de la variable. Este método también puede desplegarse mediante almacenamiento temporal, pero se requieren scripts adicionales para inicializar la ruta y el nombre del archivo.
Al usar un extremo de variable, su alcance es la cadena (el hilo) de operaciones. Por lo tanto, los valores de los extremo de variable son únicos para un hilo en particular y se destruyen al finalizar este. Esto no ocurre con un extremo de almacenamiento temporal; por lo tanto, requiere mayor gestión para garantizar su unicidad. La práctica recomendada es inicializar un GUID al inicio de una cadena de operación y luego pasarlo a cada uno de los nombres de archivo de almacenamiento temporal de la cadena, como se describe en Conservar datos para su posterior procesamiento mediante almacenamiento temporal. (Aunque ese documento es para Design Studio, los mismos conceptos se pueden aplicar a Integration Studio).
Al realizar pruebas unitarias de operación, resulta útil cargar los datos de prueba. Usar una variable de origen o destino simplifica este proceso: se agrega un secuencia de comandos previo a la operación para escribir los datos de prueba en un destino.
$memory = "a,b,c";
Por el contrario, escribir datos en un extremo de almacenamiento temporal se ve así:
WriteFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>", "a,b,c");
FlushFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>");
Del mismo modo, la lectura de datos es más sencilla con un extremo variable:
myLocalVar= $memory;
Por el contrario, así es como se leen los datos desde un extremo de almacenamiento temporal:
myLocalVar = ReadFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_read/Read</TAG>");
En resumen, el uso de extremos variables para leer, escribir y registrar operación de entrada y salida es sencillo, pero se debe tener mucho cuidado para asegurarse de que los datos tengan el tamaño adecuado.
Extremo de almacenamiento temporal
Los conjuntos de datos más grandes, como aquellos con miles de registros, se deben manejar mediante extremos de almacenamiento temporal.
A diferencia de los extremos variables, el uso de extremos de almacenamiento temporal no reduce el rendimiento ni produce truncamiento, incluso con conjuntos de datos muy grandes. Sin embargo, el uso de extremos de almacenamiento temporal puede requerir scripts adicionales. Al usar extremos de almacenamiento temporal, no se pueden aprovechar las ventajas de reutilización y simplicidad de los extremos variables, como se describe más adelante en esta página.
Tenga en cuenta que agentes de la nube tienen un límite de tamaño de archivo de extremo de almacenamiento temporal de 50 GB por archivo. Quienes necesiten crear archivos temporales de más de 50 GB necesitarán un agente privado.