Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.
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á.
Aspectos e o AWS CDK
Aspectos são uma forma de aplicar uma operação a todos os constructos em um determinado escopo. O aspecto pode modificar os constructos, por exemplo, adicionando tags. Ou pode verificar algo sobre o estado dos constructos, como garantir que todos os buckets estejam criptografados.
Para aplicar um aspecto a um constructo e a todos os constructos no mesmo escopo, chame
Aspects.of(<SCOPE>).add() com um novo aspecto, conforme mostrado no exemplo a seguir.
exemplo
O AWS CDK usa aspectos para marcar recursos, mas a estrutura também pode ser usada para outras finalidades. Por exemplo, você pode usá-lo para validar ou alterar os AWS CloudFormation recursos definidos para você por construções de nível superior.
Aspectos versus misturas
Tanto os Aspects quanto os Mixins modificam construções, mas diferem em quando e como são aplicados:
| Recurso | Aspectos | Misturas |
|---|---|---|
|
Quando aplicado |
Durante a síntese, após a execução de todos os outros códigos. |
Imediatamente quando |
|
Escopo |
Todas as construções em um determinado escopo, incluindo construções adicionadas posteriormente. |
Somente as construções às quais você as aplica explicitamente. |
|
Style (Estilo) |
Declarativo — você define uma regra e o CDK a aplica. |
Imperativo — você escolhe o que aplicar e onde. |
|
Melhor para |
Validação, conformidade, marcação, políticas amplas. |
Adicionar recursos específicos a recursos individuais. |
Use Aspects quando quiser aplicar regras em todo o aplicativo ou validar se as construções atendem a determinados critérios. Use Mixins quando quiser adicionar um recurso específico a uma construção específica.
Aspects e Mixins podem ser usados juntos. Por exemplo, você pode usar o Mixins para configurar recursos e aspectos individuais para validar se todos os recursos em uma pilha atendem aos requisitos de segurança da sua organização.
Aspectos em detalhes
Os aspectos empregam o padrão do visitante
exemplo
Quando você chama Aspects.of(<SCOPE>).add(…), o constructo adiciona o aspecto a uma lista interna de aspectos. É possível obter a lista com Aspects.of(<SCOPE>).
Durante a fase de preparação, o AWS CDK chama o visit método do objeto para a construção e cada um de seus filhos na ordem de cima para baixo.
O método visit é livre para alterar qualquer coisa no constructo. Em linguagens de tipagem forte, converta o constructo recebido em um tipo mais específico antes de acessar propriedades ou métodos específicos do constructo.
Os aspectos não se propagam além dos limites do constructo Stage, porque Stages são independentes e imutáveis após a definição. Aplique aspectos no constructo Stage em si (ou inferior) se quiser que eles visitem constructos dentro do Stage.
Exemplo
O exemplo a seguir confirma que todos os buckets criados na pilha têm o versionamento ativado. O aspecto adiciona uma anotação de erro aos constructos que falham na validação. Isso resulta na falha da operação synth e impede a implantação do conjunto de nuvem resultante.