...
Caso de uso | Nome do bucket | Cenário |
---|---|---|
Injestão de dados automatizada | dexco-data-in | Envios automático de arquivo pelo Datastage (IBM), SAP Data Intelligence (SDI) ou por ferramentas de ETL de terceiros |
Envio de arquivo para terceiros | dexco-data-out | |
Upload manual | dexco-data-upload | |
Arquivamento de dados, backup | dexco-data-archive | |
Transferência de arquivos e arquivos temporários | dexco-data-transfer |
...
Caso de uso: Ingestão de dados vindos de ferramentas de automação de integração/extração/ETL.
Nome do bucket: DEXCO-DATA-IN
Características:
Processo automático que é executado periodicamente por uma ferramenta externa
Armazenamento separado em pastas YYYY/MM/DD
Não necessita archiving, pois o arquivos são separados por pasta, para evitar sobrescrita. Em caso de reprocessamento, basta acessar a pasta do dia desejado.
Cada ACCESS_KEY da acesso a uma única pasta de origem dentro deste bucket
Permissões somente de escrita (arquivos não podem ser excluídos)
Regras:
Este bucket não pode ser acessado pelas contas antigas da AWS
É necessário termos 2 ACCESS_KEY no IAM da AWS:
1. Publisher Key (public): Será usada pela ferramenta de ETL para fazer o upload (renovação a cada 6 meses). Essa chave será divulgada para o terceiro que fará o upload dos arquivos (criada um para cada pasta root (origem)
2. Consumer Key (private): Será usada pelo pipeline de injestão de dados (renovado a cada 3 meses). Essa chave será usada internamente, no secrets do Databricks (criada um única vez, da acesso a todos as origem (pastas root) neste bucket)Nenhuma dessas chaves terá acesso para exclusão de arquivos
Pastas de origem (Root):
Pastas de origem identificam a pasta ROOT onde serão armazenados os arquivos. Cada origem tem a sua própria ACCESS_KEY:
...
Origem (ROOT)
...
Descrição
...
Periodicidade
...
/sdi
...
Extrações do SAP ECC e S4 pela ferramenta do SAP Data Intelligence
...
Diário e Streaming
...
/datastage
...
Extrações do SAP ECC pela ferramenta do IBM Datastage
...
Diário
...
/marketdata
...
Arquivos do portal Marketdata
...
Diário
Criação da Chave Privada (criada uma única vez):
Nome do usuário: svc-dexco-prd-data-in
Code Block |
---|
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowRootAndHomeListingOfDexcoBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::dexco-data-in"
]
}
{
"Sid": "AllowAllS3ActionsInUserFolder",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:ListBucket",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::dexco-data-in/*"
]
}
]
} |
Criação da Chave Publica:
Nome do usuário: bucket-access-dexco-prd-data-in
Parametros: <origem>
Code Block |
---|
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowRootAndHomeListingOfDexcoBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::dexco-data-in"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"/",
"<origem>/"
],
"s3:delimiter": [
"/"
]
}
}
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::dexco-data-in"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"<origem>/*"
]
}
}
},
{
"Sid": "AllowAllS3ActionsInUserFolder",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:ListBucket",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::dexco-data-in/<origem>/*"
]
}
]
} |
Importante: Ferramentas de upload de arquivos como CyberDuck e WinSCP precisa configurar a pasta inicial para /<origem> pois essa key não tem acesso para listagem as pastas do bucket a partir da pasta raiz:
Configurando diretório inicial no WinSCP:
Exemplos:
Para efeito de exemplificação vamos considerar o cenário da empresa parceira chamada “marketdata” que nos envia diariamente um arquivo atualizado com cadastro de usuários da sua plataforma:
Nome do bucket padrão: /dexco-data-in
Pasta inicial: /marketdata
(***importante***)
Os arquivos devem ser separados por pasta no formato YYYY/MM/DD
, por exemplo:
/marketdata/2022/03/10/<nome do arquivo>_HHMMSS.csv
Exemplo de caminho completo do arquivo incluindo o nome do bucket:
/dexco-data-in/marketdata/2022/03/10/<nome do arquivo>_HHMMSS.csv
Sendo HH
= hora, MM
= minuto, SS
= segundos, todos com zeros a esquerda.
Os formatos permitidos para o arquivo são CSV
ou PARQUET
.
Importante: Para acesso via aplicativo de transferência de arquivo, como cyberduck e WinSCP por exemplo, é necessário configurar a pasta inicial, tendo em vista que a raiz do bucket não está acessível.
Observações: Permissões somente leitura/escrita, ou seja, sem permissão de exclusão de arquivo para manter o histórico.
Casos de uso: Upload manual de arquivos.
Casos de uso: Arquivamento de dados, backup, unload de tabelas do Redshift.
Casos de uso: Envio de arquivo para terceiros.
...
Lista de buckets no S3, conta AWS produção: