Cómo crear una estructura de directorio escalonada en Jitterbit App Builder
De forma predeterminada, el bucket S3 de Amazon tiene una estructura de directorios de jerarquía plana. Esto puede limitar la creación de carpetas y directorios por parte de un desarrollador de App Builder. Sin embargo, existe una solución alternativa en App Builder, descrita aquí, que utiliza reglas CRUD que permiten imitar la jerarquía escalonada de una estructura de carpetas tradicional.
Nota
Para obtener más información sobre la estructura de directorios planos del bucket S3 de Amazon, consulte: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html
Configuración de solución alternativa en App Builder
-
Parametrizar el
S3OutgoingDataSourceID
- Cree una nueva columna en la tabla de parámetros, denominada S3OutgoingDataSourceID
- Exponer/hacer configurable desde la interfaz de usuario en el menú Configuración
- Especifique el DataSourceID. Para obtenerlo, navegue a la fuente de datos S3 en la capa de almacenamiento de datos, haga clic en el icono emergente y verá la URL resultante, específicamente para la parte que comienza con "DataSourceID" y termina antes del carácter "&".
-
Cree una regla CRUD para Cram desde App Builder -> Amazon S3
-
Nueva regla CRUD, Cram
- Archivo (Cram) (S3 Bucket - Directorio Cram) {{…}} Carpeta)
-
Configuración de CRUD para la regla:
- Propósito: CRUD de XP
- Acción: Cram
- Origen de datos: (YourApplicationDataSource)
- Origen de datos de destino: Nombre de su origen de datos de S3. Por ejemplo: S3 Saliente
- Capa Lógica: seleccionada - Destino: Archivo
-
Registrar la regla CRUD en el evento Guardar
-
Definir la lógica mvSQL para la regla, con las siguientes columnas configuradas:
- Índice 10: S3OutgoingDataSourceID apunta a DataSourceID
- Índice 20: Para Directorio, use un valor de cadena. Este se convertirá en el directorio principal de las subcarpetas.
-
Índice 30: Para crear una jerarquía, use la barra invertida ('\') (sin especificar destino).
- Esto se puede hacer usando ${char(92)}
- Establezca el tipo de dato lógico = Cadena.
-
Índice 40: Una cadena concatenada; por ejemplo:
'Financial Statements' || {{Barra invertida}} || FST.FinancialStatementName'
- La carpeta 'FST.FinancialStatementName' se convierte en la subcarpeta de la carpeta principal 'Financial Statement'.
- Establezca el tipo de dato lógico en cadena.
-
Index50: Este es un booleano que declara la carpeta como un directorio.
- Establezca este booleano en 1 si planea crear una carpeta similar a una carpeta. Estructura
- Establezca este booleano en 0 si no necesita subcarpetas en su bucket. - Establezca el tipo de dato lógico en booleano.
-
-
Ejecute los resultados de la regla CRUD y confirme que no haya errores.
-
Ejecute los resultados de la tabla 'Archivo', después de la regla Cram