

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Automatize a implantação Cadeia de Suprimentos AWS de data lakes em uma configuração de vários repositórios
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes"></a>

*Keshav Ganesh, Amazon Web Services*

## Resumo
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-summary"></a>

Esse padrão fornece uma abordagem automatizada para implantar e gerenciar lagos de Cadeia de Suprimentos AWS dados usando uma integração contínua de vários repositórios e uma implantação contínua (recursos). CI/CD) pipeline. It demonstrates two deployment methods: automated deployment using GitHub Actions workflows, or manual deployment using Terraform directly. Both approaches use Terraform for infrastructure as code (IaC), with the automated method adding GitHub Actions and JFrog Artifactory for enhanced CI/CD

A solução utiliza Cadeia de Suprimentos AWS o Amazon Simple Storage Service (Amazon S3) para estabelecer a infraestrutura do data lake, enquanto usa qualquer um dos métodos de implantação para automatizar a configuração e a criação de recursos. AWS Lambda Essa automação elimina as etapas de configuração manual e garante implantações consistentes em todos os ambientes. Além disso, Cadeia de Suprimentos AWS elimina a necessidade de uma profunda experiência em extração, transformação e carregamento (ETL) e pode fornecer informações e análises baseadas no Amazon Quick Sight.

Ao implementar esse padrão, as organizações podem reduzir o tempo de implantação, manter a infraestrutura como código e gerenciar os data lakes da cadeia de suprimentos por meio de um processo automatizado e controlado por versão. A abordagem de vários repositórios fornece controle de acesso refinado e oferece suporte à implantação independente de diferentes componentes. As equipes podem escolher o método de implantação mais adequado às ferramentas e aos processos existentes.

## Pré-requisitos e limitações
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-prereqs"></a>

**Pré-requisitos **

Certifique-se de que o seguinte esteja instalado em sua máquina local:
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) versão 2
+ [GitHub CLI](https://docs.github.com/en/get-started/git-basics/set-up-git)
+ [Python v3.13](https://www.python.org/downloads/)
+ [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) v1.12 ou posterior

Certifique-se de que o seguinte esteja em vigor antes da implantação:
+ Um ativo Conta da AWS.
+ Uma [nuvem privada virtual (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) com duas [sub-redes privadas na área](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-example-private-subnets-nat.html) de sua Conta da AWS escolha. Região da AWS 
+ Permissões suficientes para a função AWS Identity and Access Management (IAM) usada para implantação nos seguintes serviços:
  + Cadeia de Suprimentos AWS — O Full Access é o preferido para implantar seus componentes, como conjuntos de dados e fluxos de integração, além de acessá-los a partir do. Console de gerenciamento da AWS
  + Amazon CloudWatch Logs — Para criar e gerenciar grupos de CloudWatch registros.
  + Amazon Elastic Compute Cloud (Amazon EC2) — Para grupos de segurança do Amazon EC2 e endpoints do Amazon Virtual Private Cloud (Amazon VPC).
  + Amazon EventBridge — Para uso por Cadeia de Suprimentos AWS.
  + IAM — Para criar funções AWS Lambda de serviço.
  + AWS Key Management Service (AWS KMS) — Para acessar o AWS KMS keys usado para o bucket de artefatos do Amazon S3 e o bucket de armazenamento do Amazon S3. Cadeia de Suprimentos AWS 
  + AWS Lambda — Para criar as funções Lambda que implantam os Cadeia de Suprimentos AWS componentes.
  + Amazon S3 — Para acessar o bucket de artefatos do Amazon S3, o bucket de registro de acesso ao servidor e o bucket de armazenamento. Cadeia de Suprimentos AWS Se você estiver usando a implantação manual, as permissões para o bucket de artefatos do Amazon S3 Terraform também são necessárias.
  + Amazon VPC — Para criar e gerenciar uma VPC.

Se você preferir usar fluxos de trabalho do GitHub Actions para implantação, faça o seguinte:
+ Configure o [OpenID Connect (OIDC)](https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-aws#configuring-the-role-and-trust-policy) para a função do IAM com as permissões mencionadas anteriormente.
+ Crie uma função do IAM com permissões semelhantes para acessar Console de gerenciamento da AWS o. Para obter mais informações, consulte [Criar um papel para dar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) na documentação do IAM.

Se você preferir fazer uma implantação manual, faça o seguinte:
+ Crie um usuário do IAM para assumir a função do IAM com as permissões mencionadas anteriormente. Para obter mais informações, consulte [Criar um papel para dar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) na documentação do IAM.
+ [Assuma a função](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-role.html) em seu terminal local.

Se você preferir usar fluxos de trabalho do GitHub Actions para implantação, configure o seguinte:
+ Uma [conta JFrog Artifactory](https://jfrog.com/artifactory/?utm_source=google&utm_medium=cpc_search&utm_campaign=SearchDSKBrandAPACIN202506&utm_term=jfrog%20cloud&gads_network=g&utm_content=u-bin&gads_campaign_id=22674833884&gads_adgroup_id=184501797241&gads_extension_id=233003714635&gads_target_id=aud-312135645780:kwd-1598615735032&gads_matchtype=b&gad_source=1&gad_campaignid=22674833884&gbraid=0AAAAADqV85U5B37iapTR9IIFHBvydF5AQ&gclid=CjwKCAjwiY_GBhBEEiwAFaghvqdNV-odNLZXPHjT7NAwf8lA-QuMtg666hgvDW1oCJ4nn7wvf869_xoCW4IQAvD_BwE) para obter o nome do host, o nome de usuário de login e o token de acesso de login.
+ Uma [chave de JFrog projeto e um repositório](https://docs.jfrog.com/projects/docs/create-a-project) para armazenar artefatos.

**Limitações**
+ A Cadeia de Suprimentos AWS instância não oferece suporte a técnicas complexas de transformação de dados.
+ Cadeia de Suprimentos AWS é mais adequado para domínios da cadeia de suprimentos porque fornece análises e insights integrados. Para qualquer outro domínio, Cadeia de Suprimentos AWS pode ser usado como um armazenamento de dados como parte da arquitetura do data lake.
+ As funções Lambda usadas nessa solução talvez precisem ser aprimoradas para lidar com novas tentativas de API e gerenciamento de memória em uma implantação em escala de produção.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-architecture"></a>

Você pode implantar essa solução usando fluxos de trabalho automatizados de GitHub ações ou manualmente usando o Terraform.

**Implantação automatizada com GitHub ações**

O diagrama a seguir mostra a opção de implantação automatizada que usa fluxos de trabalho de GitHub ações. JFrog Artifactory é usado para gerenciamento de artefatos. Ele armazena informações e saídas de recursos para uso em uma implantação de vários repositórios.

![\[Opção de implantação automatizada que usa fluxos de trabalho de GitHub ações e. JFrog\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2f0b78b0-a174-4703-b533-d66b3fb005e0/images/d454a5c5-ed51-421c-a87f-ff74cfcb30be.png)


**Implantação manual com o Terraform**

O diagrama a seguir mostra a opção de implantação manual por meio do Terraform. Em vez de JFrog Artifactory, o Amazon S3 é usado para gerenciamento de artefatos.

![\[Opção de implantação manual usando o Terraform e o Amazon S3.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2f0b78b0-a174-4703-b533-d66b3fb005e0/images/1130e728-44d5-4ae7-9586-1e497f54352a.png)


**Fluxo de trabalho de implantação**

O diagrama mostra o seguinte fluxo de trabalho:

1. Implante conjuntos Cadeia de Suprimentos AWS de dados de serviços, infraestrutura e bancos de dados usando um dos seguintes métodos de implantação:
   + **Implantação automatizada** — usa fluxos de trabalho do GitHub Actions para orquestrar todas as etapas de implantação e usa o JFrog Artifactory para gerenciamento de artefatos.
   + **Implantação manual** — executa comandos do Terraform diretamente para cada etapa de implantação e usa o Amazon S3 para gerenciamento de artefatos.

1. Crie os AWS recursos de suporte necessários para a operação Cadeia de Suprimentos AWS do serviço:
   + Endpoints e grupos de segurança da Amazon VPC
   + AWS KMS keys
   + CloudWatch Grupos de registros

1. Crie e implante os seguintes recursos de infraestrutura:
   + Funções Lambda que gerenciam (criam, atualizam e excluem) a instância de Cadeia de Suprimentos AWS serviço, namespaces e conjuntos de dados.
   + Cadeia de Suprimentos AWS preparação do bucket Amazon S3 para ingestão de dados

1. Implante a função Lambda que gerencia os fluxos de integração entre o bucket de preparação e os conjuntos de dados. Cadeia de Suprimentos AWS Após a conclusão da implantação, as etapas restantes do fluxo de trabalho gerenciam a ingestão e a análise de dados.

1. Configure a ingestão de dados de origem no bucket Cadeia de Suprimentos AWS temporário do Amazon S3.

1. Depois que os dados são adicionados ao bucket Cadeia de Suprimentos AWS temporário do Amazon S3, o serviço aciona automaticamente o fluxo de integração para os conjuntos de dados. Cadeia de Suprimentos AWS 

1. Cadeia de Suprimentos AWS se integra ao Quick Sight Analytics para produzir painéis com base nos dados ingeridos.

## Ferramentas
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.
+ O [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) oferece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ajuda você a gerenciar centralmente o acesso de login único (SSO) a todos os seus Contas da AWS aplicativos e à nuvem.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
+ [O Amazon Q](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/qinasc.html) in Cadeia de Suprimentos AWS é um assistente interativo de IA generativa que ajuda você a operar sua cadeia de suprimentos com mais eficiência analisando os dados em seu Cadeia de Suprimentos AWS data lake.
+ O [Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) é um serviço de business intelligence (BI) em escala de nuvem que ajuda você a visualizar, analisar e relatar dados em um único painel.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [Cadeia de Suprimentos AWS](https://docs.aws.amazon.com/aws-supply-chain/latest/adminguide/getting-started.html)é um aplicativo gerenciado baseado em nuvem que pode ser usado como armazenamento de dados em organizações para domínios da cadeia de suprimentos, que pode ser usado para gerar insights e realizar análises sobre os dados ingeridos.
+ [A Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS. Um [endpoint Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) é um dispositivo virtual que ajuda você a conectar de forma privada sua VPC ao VPC compatível Serviços da AWS sem exigir um gateway de internet, dispositivo NAT, conexão VPN ou conexão. AWS Direct Connect 

**Outras ferramentas**
+ GitHub O [Actions](https://docs.github.com/en/actions) é uma plataforma de integração contínua e entrega contínua (CI/CD) totalmente integrada aos GitHub repositórios. Você pode usar o GitHub Actions para automatizar seu pipeline de criação, teste e implantação.
+ [HashiCorp O Terraform](https://www.terraform.io/) é uma ferramenta de infraestrutura como código (IaC) que ajuda você a criar e gerenciar recursos na nuvem e no local.
+ JFrog O [Artifactory](https://jfrog.com/help/r/jfrog-artifactory-documentation/jfrog-artifactory) fornece end-to-end automação e gerenciamento de binários e artefatos por meio do processo de entrega de aplicativos.
+ [Python](https://www.python.org/) é uma linguagem de programação de computador de uso geral. Esse padrão usa Python para que o código da AWS função interaja com Cadeia de Suprimentos AWS

  .

## Práticas recomendadas
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-best-practices"></a>
+ Mantenha o maior nível de segurança possível ao implementar esse padrão. Conforme declarado nos [Pré-requisitos](#automate-the-deployment-of-aws-supply-chain-data-lakes-prereqs), certifique-se de que uma nuvem [privada virtual (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) com duas [sub-redes privadas](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-example-private-subnets-nat.html) esteja na área de sua escolha. Conta da AWS Região da AWS 
+ Use [chaves gerenciadas pelo AWS KMS cliente](https://docs.aws.amazon.com/kms/latest/cryptographic-details/basic-concepts.html) sempre que possível e conceda permissões de acesso limitadas a elas.
+ Para configurar funções do IAM com o mínimo de acesso necessário para a ingestão de dados desse padrão, consulte [Ingestão segura de dados dos sistemas de origem para o Amazon S3](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main?tab=readme-ov-file#secure-data-ingestion-from-source-systems-to-amazon-s3) no repositório desse padrão.

## Épicos
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-epics"></a>

### (Ambas as opções) Configurar a estação de trabalho local
<a name="both-options-set-up-local-workstation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clonar o repositório. | Para clonar o repositório correspondente a este padrão, execute o seguinte comando na estação de trabalho local:<pre>git clone https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment.git<br />cd ASC-Deployment</pre> | AWS DevOps | 
| (Opção automatizada) Verifique os pré-requisitos para implantação. | Certifique-se de que os [pré-requisitos](#automate-the-deployment-of-aws-supply-chain-data-lakes-prereqs) estejam preenchidos para a implantação automatizada. | Proprietário do App | 
| (Opção manual) Prepare-se para a implantação de Cadeia de Suprimentos AWS conjuntos de dados. | Para acessar o `terraform-deployment` diretório de`ASC-Datasets`, execute o seguinte comando:<pre>cd ASC-Datasets/terraform-deployment</pre>Para assumir a função ARN que foi criada nos [Pré-requisitos, execute](#automate-the-deployment-of-aws-supply-chain-data-lakes-prereqs) o seguinte comando:<pre>aws sts assume-role --role-arn <enter AWS user role ARN> --role-session-name <your-session-name></pre>Para configurar e exportar as variáveis de ambiente, execute os seguintes comandos:<pre># Export Environment variables<br />export REGION=<Enter deployment region><br />export REPO_NAME=<Enter Current ASC Datasets dir name><br />export PROJECT_NAME="asc-deployment-poc"<br />export ACCOUNT_ID=<Enter deployment Account ID><br />export ENVIRONMENT="dev"<br />export LAMBDA_LAYER_TEMP_DIR_TERRAFORM="layerOutput"<br />export LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM="lambdaOutput"<br />export AWS_USER_ROLE=<Enter user role ARN for AWS Console access and deployment><br />export S3_TERRAFORM_ARTIFACTS_BUCKET_NAME="$PROJECT_NAME-$ACCOUNT_ID-$REGION-terraform-artifacts-$ENVIRONMENT"</pre> | AWS DevOps | 
| (Opção manual) Prepare-se para gerenciar fluxos de Cadeia de Suprimentos AWS integração na implantação. | Para acessar o `terraform-deployment` diretório de`ASC-Integration-Flows`, execute o seguinte comando:<pre>cd ASC-Integration-Flows/terraform-deployment</pre>Para assumir a função ARN que foi criada anteriormente, execute o seguinte comando:<pre>aws sts assume-role --role-arn <enter AWS user role ARN> --role-session-name <your-session-name></pre>Para configurar e exportar as variáveis de ambiente, execute os seguintes comandos:<pre># Export Environment variables<br />export REGION=<Enter deployment region><br />export REPO_NAME=<Enter Current ASC Integration Flows dir name><br />export ASC_DATASET_VARS_REPO=<Enter Current ASC Datasets dir name>  #Must be the same directory name used for ASC Datasets deployment<br />export PROJECT_NAME="asc-deployment-poc"<br />export ACCOUNT_ID=<Enter deployment Account ID><br />export ENVIRONMENT="dev"<br />export LAMBDA_LAYER_TEMP_DIR_TERRAFORM="layerOutput"<br />export LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM="lambdaOutput"<br />export S3_TERRAFORM_ARTIFACTS_BUCKET_NAME="$PROJECT_NAME-$ACCOUNT_ID-$REGION-terraform-artifacts-$ENVIRONMENT"</pre> | Proprietário do App | 

### (Opção automatizada) Implantar Cadeia de Suprimentos AWS conjuntos de dados usando fluxos de trabalho do GitHub Actions
<a name="automated-option-deploy-supplychain-datasets-using-github-actions-workflows"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Copie o `ASC-Datasets` diretório. | Para copiar o `ASC-Datasets` diretório para um novo local, use as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-the-deployment-of-aws-supply-chain-data-lakes.html) | AWS DevOps | 
| Configure o `ASC-Datasets` diretório. | Para configurar `ASC-Datasets` como um repositório independente em sua organização, execute os seguintes comandos:<pre>git init<br />git add .<br />git commit -m "Initial commit: ASC-Datasets standalone repository"<br />git remote add origin <INSERT_ASC_DATASETS_GITHUB_URL><br />git branch -M dev</pre> | AWS DevOps | 
| Configure o nome da ramificação no arquivo de fluxo de trabalho .github. | Configure o nome da ramificação no arquivo do fluxo de trabalho de [implantação](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Datasets/.github/workflows/asc-datasets.yml), conforme mostrado no exemplo a seguir:<pre>   on:<br />     workflow_dispatch:<br />     push:<br />       branches:<br />         - dev     #Change to any other branch preferred for deployment</pre> | Proprietário do App | 
| Configure GitHub ambientes e configure os valores do ambiente. | Para configurar GitHub ambientes em sua GitHub organização, use as instruções em [Configurar GitHub ambientes](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Datasets#setup-github-environments) no repositório desse padrão.Para configurar [os valores do ambiente](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Datasets#setup-environment-values-in-the-workflow-files) nos arquivos do fluxo de trabalho, use as instruções em [Configurar valores do ambiente nos arquivos do fluxo](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Datasets#setup-environment-values-in-the-workflow-files) de trabalho no repositório desse padrão. | Proprietário do App | 
| Acione o fluxo de trabalho. | Para enviar suas alterações para sua GitHub organização e acionar o fluxo de trabalho de implantação, execute o seguinte comando:<pre>git push -u origin dev</pre> | AWS DevOps | 

### (Opção automatizada) Implemente fluxos de Cadeia de Suprimentos AWS integração usando fluxos de trabalho de GitHub ações
<a name="automated-option-deploy-supplychain-integration-flows-using-github-actions-workflows"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Copie o `ASC-Integration-Flows` diretório. | Para copiar o `ASC-Integration-Flows` diretório para um novo local, use as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-the-deployment-of-aws-supply-chain-data-lakes.html) | AWS DevOps | 
| Configure o `ASC-Integration-Flows` diretório. | Para configurar o `ASC-Integration-Flows` diretório como um repositório independente em sua organização, execute os seguintes comandos:<pre>git init<br />git add .<br />git commit -m "Initial commit: ASC-Integration-Flows standalone repository"<br />git remote add origin <INSERT_ASC_Integration_Flows_GITHUB_URL><br />git branch -M dev</pre> | AWS DevOps | 
| Configure o nome da ramificação no arquivo de fluxo de trabalho .github. | Configure o nome da ramificação no arquivo do fluxo de trabalho de [implantação](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Integration-Flows/.github/workflows/asc-integration-flows.yml), conforme mostrado no exemplo a seguir:<pre>   on:<br />     workflow_dispatch:<br />     push:<br />       branches:<br />         - dev     #Change to any other branch preferred for deployment</pre> | Proprietário do App | 
| Configure GitHub ambientes e configure os valores do ambiente. | Para configurar GitHub ambientes em sua GitHub organização, use as instruções em [Configurar GitHub ambientes](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Integration-Flows#setup-github-environments) no repositório desse padrão.Para configurar [os valores do ambiente](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Integration-Flows#setup-github-environments) nos arquivos do fluxo de trabalho, use as instruções em [Configurar valores do ambiente nos arquivos do fluxo](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/tree/main/ASC-Integration-Flows#setup-environment-values-in-the-workflow-files) de trabalho no repositório desse padrão. | Proprietário do App | 
| Acione o fluxo de trabalho. | Para enviar suas alterações para sua GitHub organização e acionar o fluxo de trabalho de implantação, execute o seguinte comando:<pre>git push -u origin dev</pre> | AWS DevOps | 

### (Opção manual) Implantar Cadeia de Suprimentos AWS conjuntos de dados usando o Terraform
<a name="manual-option-deploy-supplychain-datasets-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Navegue até o diretório `terraform-deployment `. | Para acessar o `terraform-deployment` diretório de`ASC-Datasets`, execute o seguinte comando:<pre>cd ASC-Datasets/terraform-deployment</pre> | AWS DevOps | 
| Configure o bucket Amazon S3 do estado do Terraform. | Para configurar o bucket Amazon S3 do estado do Terraform, use o seguinte script:<pre># Setup terraform bucket<br />chmod +x ../scripts/setup-terraform.sh<br />../scripts/setup-terraform.sh</pre> | AWS DevOps | 
| Configure o bucket Amazon S3 de artefatos do Terraform. | Para configurar o bucket Amazon S3 de artefatos do Terraform, use o seguinte script:<pre># Setup terraform artifacts bucket<br />chmod +x ../scripts/setup-terraform-artifacts-bucket.sh<br />../scripts/setup-terraform-artifacts-bucket.sh</pre> | AWS DevOps | 
| Configure o back-end e a configuração dos provedores do Terraform. | Para configurar o back-end e os provedores do Terraform, use o seguinte script:<pre># Setup terraform backend and providers config if they don't exist<br />chmod +x ../scripts/generate-terraform-config.sh<br />../scripts/generate-terraform-config.sh</pre> | AWS DevOps | 
| Gere um plano de implantação. | Para gerar um plano de implantação, execute os seguintes comandos:<pre># Run terraform init and validate<br />terraform init<br />terraform validate<br /><br /># Run terraform plan<br />terraform plan \<br />-var-file="tfInputs/$ENVIRONMENT.tfvars" \<br />-var="project_name=$PROJECT_NAME" \<br />-var="environment=$ENVIRONMENT" \<br />-var="user_role=$AWS_USER_ROLE" \<br />-var="lambda_temp_dir=$LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM" \<br />-var="layer_temp_dir=$LAMBDA_LAYER_TEMP_DIR_TERRAFORM" \<br />-parallelism=40 \<br />-out='tfplan.out'</pre> | AWS DevOps | 
| Implante as configurações. | Para implantar as configurações, execute o seguinte comando:<pre># Run terraform apply<br />terraform apply tfplan.out</pre> | AWS DevOps | 
| Atualize outras configurações e armazene saídas. | Para atualizar as AWS KMS principais políticas e armazenar as saídas das configurações aplicadas no bucket Amazon S3 de artefatos do Terraform, execute os seguintes comandos:<pre># Update AWS Supply Chain KMS Key policy with the service's requirements<br />chmod +x ../scripts/update-asc-kms-policy.sh<br />../scripts/update-asc-kms-policy.sh<br /></pre><pre># Update AWS KMS Keys' policy with IAM roles<br />chmod +x ../scripts/update-kms-policy.sh<br />../scripts/update-kms-policy.sh<br /></pre><pre># Create terraform outputs file to be used as input variables<br />terraform output -json > raw_output.json<br />jq -r 'to_entries | map(<br />  if .value.type == "string" then<br />      "\(.key) = \"\(.value.value)\""<br />  else<br />      "\(.key) = \(.value.value | tojson)"<br />  end<br />) | .[]' raw_output.json > $REPO_NAME-outputs.tfvars<br /></pre><pre># Upload reformed outputs file to Amazon S3 terraform artifacts bucket (For retrieval from other repositories)<br />aws s3 cp $REPO_NAME-outputs.tfvars s3://$S3_TERRAFORM_ARTIFACTS_BUCKET_NAME/$REPO_NAME-outputs.tfvars<br />rm -f raw_output.json<br />rm -f $REPO_NAME-outputs.tfvars<br /></pre> | AWS DevOps | 

### (Opção manual) Implemente fluxos Cadeia de Suprimentos AWS de integração de serviços usando o Terraform
<a name="manual-option-deploy-supplychain-service-integration-flows-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Navegue até o diretório `terraform-deployment`. | Para acessar o `terraform-deployment` diretório de`ASC-Integration-Flows`, execute o seguinte comando:<pre>cd ASC-Integration-Flows/terraform-deployment</pre> | AWS DevOps | 
| Configure o back-end e a configuração dos provedores do Terraform. | Para definir as configurações do back-end e do provedor do Terraform, use o seguinte script:<pre># Setup terraform backend and providers config if they don't exist<br />chmod +x ../scripts/generate-terraform-config.sh<br />../scripts/generate-terraform-config.sh</pre> | AWS DevOps | 
| Gere um plano de implantação. | Para gerar um plano de implantação, execute os comandos a seguir. Esses comandos inicializam seu ambiente Terraform, mesclam variáveis de configuração `ASC-Datasets` com suas configurações existentes do Terraform e geram um plano de implantação.<pre># Run terraform init and validate<br />terraform init<br />terraform validate<br /></pre><pre># Download and merge ASC DATASET tfvars<br />chmod +x ../scripts/download-vars-through-s3.sh<br />../scripts/download-vars-through-s3.sh $ASC_DATASET_VARS_REPO<br /></pre><pre># Run terraform plan<br />terraform plan \<br />-var-file="tfInputs/$ENVIRONMENT.tfvars" \<br />-var="project_name=$PROJECT_NAME" \<br />-var="environment=$ENVIRONMENT" \<br />-var="lambda_temp_dir=$LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM" \<br />-var="layer_temp_dir=$LAMBDA_LAYER_TEMP_DIR_TERRAFORM" \<br />-parallelism=40 \<br />-out='tfplan.out'</pre> | AWS DevOps | 
| Implante as configurações. | Para implantar as configurações, execute o seguinte comando:<pre># Run terraform apply<br />terraform apply tfplan.out</pre> | AWS DevOps | 
| Atualize outras configurações. | Para atualizar as AWS KMS principais políticas e armazenar as saídas das configurações aplicadas no bucket Amazon S3 de artefatos do Terraform, execute os seguintes comandos:<pre># Update AWS KMS Keys' policy with IAM roles<br />chmod +x ../scripts/update-kms-policy-through-s3.sh<br />../scripts/update-kms-policy-through-s3.sh $ASC_DATASET_VARS_REPO<br /></pre><pre># Create terraform outputs file to be used as input variables<br />terraform output -json > raw_output.json<br />jq -r 'to_entries | map(<br />  if .value.type == "string" then<br />      "\(.key) = \"\(.value.value)\""<br />  else<br />      "\(.key) = \(.value.value | tojson)"<br />  end<br />) | .[]' raw_output.json > $REPO_NAME-outputs.tfvars<br /></pre><pre># Upload reformed outputs file to Amazon S3 terraform artifacts bucket (For retrieval from other repositories)<br />aws s3 cp $REPO_NAME-outputs.tfvars s3://$S3_TERRAFORM_ARTIFACTS_BUCKET_NAME/$REPO_NAME-outputs.tfvars<br />rm -f raw_output.json<br />rm -f $REPO_NAME-outputs.tfvars<br /></pre> | AWS DevOps | 

### (Ambas as opções) Ingerir dados
<a name="both-options-ingest-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça upload de arquivos CSV de amostra. | Para fazer upload de arquivos CSV de amostra para os conjuntos de dados, use as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-the-deployment-of-aws-supply-chain-data-lakes.html) | Engenheiro de dados | 

### (Ambas as opções) Configurar o Cadeia de Suprimentos AWS acesso
<a name="both-options-set-up-supplychain-access"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o Cadeia de Suprimentos AWS acesso. | Para configurar o Cadeia de Suprimentos AWS acesso a partir do Console de gerenciamento da AWS, use as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-the-deployment-of-aws-supply-chain-data-lakes.html) | Proprietário do App | 

### (Opção automatizada) Limpe todos os recursos usando fluxos de trabalho de GitHub ações
<a name="automated-option-clean-up-all-resources-using-github-actions-workflows"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Acione o fluxo de trabalho de destruição para recursos de fluxos de integração. | Acione o [fluxo de trabalho de destruição](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Integration-Flows/.github/workflows/destroy-workflow.yml) `ASC-Integration-Flows` de sua filial de implantação em sua GitHub organização. | AWS DevOps | 
| Acione o fluxo de trabalho de destruição para recursos de conjuntos de dados. | Acione o [fluxo de trabalho de destruição](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Datasets/.github/workflows/destroy-workflow.yml) `ASC-Datasets` de sua filial de implantação em sua GitHub organização. | AWS DevOps | 

### (Opção manual) Limpe os recursos dos fluxos de Cadeia de Suprimentos AWS integração usando o Terraform
<a name="manual-option-clean-up-resources-of-supplychain-integration-flows-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Navegue até o diretório `terraform-deployment`. | Para acessar o `terraform-deployment` diretório de`ASC-Integration-Flows`, execute o seguinte comando:<pre>cd ASC-Integration-Flows/terraform-deployment</pre> | AWS DevOps | 
| Configure o back-end e a configuração dos provedores do Terraform. | Para configurar o back-end e os provedores do Terraform, use o seguinte script:<pre># Setup terraform backend and providers config if they don't exist<br />chmod +x ../scripts/generate-terraform-config.sh<br />../scripts/generate-terraform-config.sh</pre> | AWS DevOps | 
| Gere um plano de destruição da infraestrutura. | Para se preparar para a destruição controlada de sua AWS infraestrutura gerando um plano detalhado de desmontagem, execute os comandos a seguir. O processo inicializa o Terraform, incorpora configurações do Cadeia de Suprimentos AWS conjunto de dados e cria um plano de destruição que você pode revisar antes de executar.<pre># Run terraform init and validate<br />terraform init<br />terraform validate<br /></pre><pre># Download and merge ASC DATASET tfvars<br />chmod +x ../scripts/download-vars-through-s3.sh<br />../scripts/download-vars-through-s3.sh $ASC_DATASET_VARS_REPO<br /></pre><pre># Run terraform plan<br />terraform plan -destroy\<br />-var-file="tfInputs/$ENVIRONMENT.tfvars" \<br />-var="project_name=$PROJECT_NAME" \<br />-var="environment=$ENVIRONMENT" \<br />-var="lambda_temp_dir=$LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM" \<br />-var="layer_temp_dir=$LAMBDA_LAYER_TEMP_DIR_TERRAFORM" \<br />-parallelism=40 \<br />-out='tfplan.out'</pre> | AWS DevOps | 
| Execute o plano de destruição da infraestrutura. | Para executar a destruição planejada de sua infraestrutura, execute o seguinte comando:<pre># Run terraform apply<br />terraform apply tfplan.out</pre> | AWS DevOps | 
| Remova as saídas do Terraform do bucket Amazon S3. | Para remover o arquivo de saída que foi carregado durante a implantação do`ASC-Integration-Flows`, execute o seguinte comando:<pre># Delete the outputs file<br />aws s3 rm s3://$S3_TERRAFORM_ARTIFACTS_BUCKET_NAME/$REPO_NAME-outputs.tfvars</pre> | AWS DevOps | 

### (Opção manual) Limpe os recursos dos conjuntos de dados de Cadeia de Suprimentos AWS serviço usando o Terraform
<a name="manual-option-clean-up-resources-of-supplychain-service-datasets-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Navegue até o diretório `terraform-deployment`. | Para acessar o `terraform-deployment` diretório de`ASC-Datasets`, execute o seguinte comando:<pre>cd ASC-Datasets/terraform-deployment</pre> | AWS DevOps | 
| Configure o back-end e a configuração dos provedores do Terraform. | Para configurar o back-end e os provedores do Terraform, use o seguinte script:<pre># Setup terraform backend and providers config if they don't exist<br />chmod +x ../scripts/generate-terraform-config.sh<br />../scripts/generate-terraform-config.sh</pre> | AWS DevOps | 
| Gere um plano de destruição da infraestrutura. | Para criar um plano para destruir recursos do Cadeia de Suprimentos AWS conjunto de dados, execute os seguintes comandos:<pre># Run terraform init and validate<br />terraform init<br />terraform validate<br /><br /># Run terraform plan<br />terraform plan -destroy\<br />-var-file="tfInputs/$ENVIRONMENT.tfvars" \<br />-var="project_name=$PROJECT_NAME" \<br />-var="environment=$ENVIRONMENT" \<br />-var="user_role=$AWS_USER_ROLE" \<br />-var="lambda_temp_dir=$LAMBDA_FUNCTION_TEMP_DIR_TERRAFORM" \<br />-var="layer_temp_dir=$LAMBDA_LAYER_TEMP_DIR_TERRAFORM" \<br />-parallelism=40 \<br />-out='tfplan.out'</pre> | AWS DevOps | 
| Esvazie os buckets do Amazon S3. | Para esvaziar todos os buckets do Amazon S3 (exceto o bucket de registro de acesso ao servidor, que está configurado para`force-destroy`), use o seguinte script:<pre># Delete S3 buckets excluding server access logging bucket<br />chmod +x ../scripts/empty-s3-buckets.sh<br />../scripts/empty-s3-buckets.sh tfplan.out</pre> | AWS DevOps | 
| Execute o plano de destruição da infraestrutura. | Para executar a destruição planejada da sua infraestrutura de Cadeia de Suprimentos AWS conjunto de dados usando o plano gerado, execute o seguinte comando:<pre># Run terraform apply<br />terraform apply tfplan.out</pre> | AWS DevOps | 
| Remova as saídas do Terraform do bucket de artefatos do Amazon S3 Terraform. | Para concluir o processo de limpeza, remova o arquivo de saída que foi carregado durante a implantação do `ASC-Datasets` executando o seguinte comando:<pre># Delete the outputs file<br />aws s3 rm s3://$S3_TERRAFORM_ARTIFACTS_BUCKET_NAME/$REPO_NAME-outputs.tfvars</pre> | AWS DevOps | 

## Solução de problemas
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Um Cadeia de Suprimentos AWS conjunto de dados ou fluxo de integração não foi implantado corretamente devido a erros Cadeia de Suprimentos AWS internos ou permissões insuficientes do IAM para a função de serviço. | Primeiro, limpe todos os recursos. Em seguida, reimplante os recursos do Cadeia de Suprimentos AWS [conjunto de dados e, em seguida, reimplante os recursos](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Datasets/README.md) do fluxo de Cadeia de Suprimentos AWS [integração](https://github.com/aws-samples/sample-automate-aws-supply-chain-deployment/blob/main/ASC-Integration-Flows/README.md). | 
| O fluxo de Cadeia de Suprimentos AWS integração não busca os novos arquivos de dados enviados para os Cadeia de Suprimentos AWS conjuntos de dados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-the-deployment-of-aws-supply-chain-data-lakes.html) | 

## Recursos relacionados
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-resources"></a>

**AWS documentação**
+ [Cadeia de Suprimentos AWS](https://docs.aws.amazon.com/aws-supply-chain/latest/adminguide/getting-started.html)

**Outros recursos**
+ [Entendendo os fluxos de trabalho do GitHub Actions](https://docs.github.com/en/actions/get-started/understand-github-actions) (GitHub documentação)

## Mais informações
<a name="automate-the-deployment-of-aws-supply-chain-data-lakes-additional"></a>

Essa solução pode ser replicada para mais conjuntos de dados e pode ser consultada para análises adicionais, por meio de painéis pré-criados fornecidos ou da integração Cadeia de Suprimentos AWS personalizada com o Amazon Quick Sight. Além disso, você pode usar o Amazon Q para fazer perguntas relacionadas à sua Cadeia de Suprimentos AWS instância.

**Analise dados com o Cadeia de Suprimentos AWS Analytics**

Para obter instruções sobre como configurar o Cadeia de Suprimentos AWS Analytics, consulte [Como configurar o Cadeia de Suprimentos AWS Analytics](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/setting_analytics.html) na Cadeia de Suprimentos AWS documentação.

Esse padrão demonstrou a criação dos conjuntos de dados **Calendar** e **Outbound\$1Order\$1Line**. Para criar uma análise que usa esses conjuntos de dados, use as seguintes etapas:

1. Para analisar os conjuntos de dados, use o painel de análise de **sazonalidade.** Para adicionar o painel, siga as etapas em [Painéis pré-criados](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/prebuilt_dashboards.html) na Cadeia de Suprimentos AWS documentação.

1. Escolha o painel para ver sua análise com base em arquivos CSV de amostra para dados do calendário e dados da linha de pedido de saída.

O painel fornece informações sobre a demanda ao longo dos anos com base nos dados ingeridos pelos conjuntos de dados. Você pode especificar ainda mais o ProductID, o CustomerID, os anos e outros parâmetros para análise.

**Use o Amazon Q para fazer perguntas relacionadas à sua Cadeia de Suprimentos AWS instância**

[O Amazon Q in Cadeia de Suprimentos AWS](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/qinasc.html) é um assistente interativo de IA generativa que ajuda você a operar sua cadeia de suprimentos com mais eficiência. O Amazon Q pode fazer o seguinte:
+ Analise os dados em seu Cadeia de Suprimentos AWS data lake.
+ Forneça informações operacionais e financeiras.
+ Responda às suas perguntas imediatas sobre a cadeia de suprimentos.

Para obter mais informações sobre o uso do Amazon Q, consulte [Habilitando o Amazon Q in Cadeia de Suprimentos AWS](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/enabling_QinASC.html) e [Usando o Amazon Q Cadeia de Suprimentos AWS in](https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/using_QinASC.html) na Cadeia de Suprimentos AWS documentação.