Ir para o conteúdo

Como Criar uma Estrutura de Diretório em Camadas

Por padrão, o bucket S3 da Amazon tem uma estrutura de diretório de hierarquia plana. Isso pode limitar an App Builder desenvolvedor de aplicativos ao tentar criar pastas e diretórios, no entanto, há uma solução alternativa App Builder descrito aqui usando regras CRUD que permitem que você imite a hierarquia em camadas de uma estrutura de pasta tradicional.

folderdirectory.png

Nota

Para obter mais informações sobre a estrutura de diretório plano do Amazon S3 Bucket, consulte: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html

Configuração de Solução Alternativa em App Builder

  1. Parametrize o S3OutgoingDataSourceID

    • Crie uma nova coluna na tabela de parâmetros, chamada S3OutgoingDataSourceID
    • Expor/tornar configurável a partir da IU no menu Configuração
    • Especifique o DataSourceID. Para obter o DataSourceID, navegue até a Fonte de Dados S3 na Camada de Armazenamento de Dados, clique no ícone pop-up e aqui você está olhando para a URL resultante, especificamente para a parte que começa com 'DataSourceID' e termina antes do caractere '&'.
  2. Crie uma regra CRUD para Cram de {{nm.ab}} --> Amazon S3

    • Nova regra CRUD, Cram

      • Arquivo (Cram) (S3 Bucket - Diretório Cram {{…}} pasta)
      • Configuração CRUD para Regra:

        • Objetivo: XP CRUD
        • Ação: Cram
        • Fonte de Dados de Origem: (YourApplicationDataSource)
        • Fonte de Dados de Destino: Nome da sua Fonte de Dados S3. Por exemplo: S3 Outgoing
        • Logic Layer: selecionado
        • Target: File
    • Registre a regra CRUD no evento Save

    • Defina a lógica mvSQL para a regra, com as seguintes colunas configuradas:

      • Índice 10: S3OutgoingDataSourceID tem como alvo o DataSourceID
      • Índice 20: Para o diretório, use um Valor da string.. Isso se tornará o pai das subpastas
      • Índice 30: Para criar uma hierarquia, use o caractere 'Barra invertida' ('\') (sem destino especificado)

        • Isso pode ser feito usando ${char(92)}
        • Definir tipo de dados lógicos = String
      • Índice 40: Uma string concatenada; por exemplo: 'Financial Statements' || {{Barra invertida}} || FST.FinancialStatementName'

        • O 'FST.FinancialStatementName' se torna a subpasta sob a pasta pai 'Financial Statement'
        • Defina o tipo de dados lógicos = String
      • Index50: Este é um booleano que declara a pasta como um diretório

        • Defina este booleano como 1 se você planeja criar uma pasta estrutura
        • Defina este booleano como 0 se você não precisar de subpastas em seu bucket
        • Defina o tipo de dados lógicos como Booleano
  3. Execute os resultados da regra CRUD e confirme que não há erros

    6 g

  4. Execute os resultados da tabela 'File', após a regra Cram

    6 f