Saltar al contenido

Cómo Crear una Estructura de Directorio por Niveles

De forma predeterminada, el depósito S3 de Amazon tiene una estructura de directorios de jerarquía plana. Esto puede limitar al desarrollador de aplicaciones Vinyl cuando intenta crear carpetas y directorios; sin embargo, existe una solución alternativa en Vinyl que se describe aquí utilizando reglas CRUD que le permiten imitar la jerarquía por niveles de una estructura de carpetas tradicional.

directoriocarpeta.png

Nota

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

Configuración Alternativa en Vinyl

  1. 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 obtener el DataSourceID, navegue hasta la fuente de datos S3 en la capa de almacenamiento de datos, haga clic en el ícono emergente y aquí verá la URL resultante, específicamente para la parte que comienza con 'DataSourceID' y termina antes de '&' personaje.
  2. Cree una regla CRUD para crear desde Vinyl --> Amazon S3

    • Nuevo CRUD, regla Cram

      • Archivo (Cram) (S3 Bucket - Directorio Cram {{…}} Carpeta)
      • Configuración CRUD para la regla:

        • Propósito: XP CRUD
        • Acción: Abarrotar
        • Fuente de datos Fuente: (Su fuente de datos de aplicación)
        • Fuente de datos de destino: nombre de su fuente de datos S3. Por ejemplo: S3 saliente
        • Capa lógica: seleccionado
        • Destino: Archivo
    • Registre la regla CRUD en el evento Guardar

    • Definir la lógica mvSQL para la Regla, con las siguientes Columnas configuradas:

      • Índice 10: S3OutgoingDataSourceID apunta al DataSourceID
      • Índice 20: Para el directorio, use un valor de cadena. Esto se convertirá en el padre de las subcarpetas.
      • Índice 30: para crear una jerarquía, utilice 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 de la carpeta principal 'Estado financiero' - Establecer tipo de datos lógicos = Cadena
      • Index50: Este es un booleano que declara la carpeta como un directorio.

        • Establece este valor booleano en 1 si planeas crear una estructura similar a una carpeta.
        • Establece este valor booleano en 0 si no necesitas subcarpetas en tu depósito.
        • Establecer tipo de datos lógicos = booleano
  3. Ejecute los resultados de la regla CRUD y confirme que no hay errores.

    6G

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

    6F