...
Caso de uso | Nome do bucket | Cenário |
---|---|---|
Injestão de dados automatizada | dexco-data-in | Envios 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:
...