Saltar al contenido

Cómo Crear una Estructura de Directorio por Niveles

De manera predeterminada, el depósito S3 de Amazon tiene una estructura de directorio de jerarquía plana. Esto puede limitar an App Builder desarrollador de aplicaciones al intentar crear carpetas y directorios, sin embargo, existe una solución alternativa en App Builder aquí se describen las reglas CRUD que permiten imitar la jerarquía escalonada de una estructura de carpetas tradicional.

folderdirectory.png

Nota

Para obtener más información sobre la estructura de directorio plano del S3 Bucket de Amazon, consulte: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html

Configuración de Solución Alternativa en App Builder

  1. Parametrizar el S3OutgoingDataSourceID

    • Crea 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 obtener el DataSourceID, navegue hasta la fuente de datos S3 en la capa de almacenamiento de datos, haga clic en el ícono emergente y verá la URL resultante, específicamente para la parte que comienza con "DataSourceID" y termina antes del carácter "&".
  2. Crea una regla CRUD para cargar desde {{nm.ab}} --> 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
        • Fuente de datos de origen: (YourApplicationDataSource)
        • Fuente de datos de destino: Nombre de su fuente de datos de S3. Por ejemplo: S3 Outgoing
        • 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 la directorio, use un valor de cadena. Esto se convertirá en el padre de las subcarpetas
      • Índice 30: Para crear una jerarquía, use el carácter 'barra invertida' ('\') (sin destino especificado)

        • Esto se puede hacer usando ${char(92)}
        • Establecer tipo de datos lógicos = Cadena
      • Índice 40: Una cadena concatenada; por ejemplo: 'Financial Statements' || {{Barra invertida}} || FST.FinancialStatementName'

        • 'FST.FinancialStatementName' se convierte en la subcarpeta debajo de la carpeta principal 'Financial Statement'
        • Establezca el tipo de datos lógicos = String
      • Index50: este es un valor booleano que declara la carpeta como un directorio

        • Establezca este valor booleano en 1 si planea crear una carpeta similar a una carpeta estructura
        • Establezca este valor booleano en 0 si no necesita subcarpetas en su depósito
        • Establezca el tipo de datos lógicos en booleano
  3. Ejecute los resultados de la regla CRUD y confirme que no haya errores

    6 g

  4. Ejecutar los resultados de la tabla 'Archivo', después de la regla Cram

    6 f