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á.
cdk diff
Faça uma comparação para ver as mudanças na infraestrutura entre as pilhas de AWS CDK.
Esse comando geralmente é usado para comparar as diferenças entre o estado atual das pilhas em sua aplicação CDK local e as pilhas implantadas. No entanto, você também pode comparar uma pilha implantada com qualquer modelo local AWS CloudFormation .
Uso
$ cdk diff <arguments> <options>
Argumentos
- ID da pilha CDK
-
O ID de constructo da pilha CDK da sua aplicação para realizar uma comparação.
Tipo: string
Obrigatório: não
Opções
Para obter uma lista de opções globais que funcionam com todos os comandos da CLI do CDK, consulte Opções globais.
-
--change-set <BOOLEAN>
-
Especifique se deseja criar um conjunto de alterações para analisar as substituições de recursos.
Quando
true
, a CLI do CDK criará AWS CloudFormation um conjunto de alterações para exibir as alterações exatas que serão feitas em sua pilha. Essa saída inclui se os recursos serão atualizados ou substituídos. A CLI do CDK usa a função de implantação em vez da função de pesquisa para realizar essa ação.Quando
false
, uma comparação mais rápida, mas menos precisa, é realizada comparando modelos. CloudFormation Qualquer alteração detectada nas propriedades que exijam a substituição de um recurso será exibida como uma substituição de recurso, mesmo que a alteração seja puramente cosmética, como a substituição de uma referência de recurso por um ARN com codificação rígida.Valor padrão:
true
-
--context-lines <NUMBER>
-
Número de linhas de contexto a serem incluídas na renderização arbitrária de diferenças JSON.
Valor padrão:
3
-
--exclusively, -e <BOOLEAN>
-
Diferenciar apenas as pilhas solicitadas e não incluir dependências.
-
--fail <BOOLEAN>
-
Falhar e sair com um código de
1
se forem detectadas diferenças.
-
--help, -h <BOOLEAN>
-
Mostrar as informações de referência do comando
cdk diff
.
-
--processed <BOOLEAN>
-
Especifique se deseja comparar com o modelo com as CloudFormation transformações já processadas.
Valor padrão:
false
-
--quiet, -q <BOOLEAN>
-
Não imprimir o nome da pilha CDK e a mensagem padrão
cdk diff
parastdout
quando nenhuma alteração for detectada.Valor padrão:
false
-
--security-only <BOOLEAN>
-
Diferenciar apenas para mudanças de segurança ampliadas.
Valor padrão:
false
-
--strict <BOOLEAN>
-
Modifique o comportamento
cdk diff
para ser mais preciso ou rigoroso. Quando verdadeiro, a CLI do CDK não filtrará recursos ou caracteres nãoAWS::CDK::Metadata
ASCII ilegíveis.Valor padrão:
false
-
--template <STRING>
-
O caminho para o CloudFormation modelo com o qual comparar uma pilha de CDK.
Exemplos
Compare com a pilha atualmente implantada chamada MyStackName
A CLI do CDK usa os seguintes símbolos na saída diff:
-
[+]
— Identifica o código ou os recursos que serão adicionados se você implantar suas alterações. -
[-]
— Identifica o código ou os recursos que serão removidos se você implantar suas alterações. -
[~]
— Identifica um recurso ou propriedade que será modificado se você implantar suas alterações.
Veja a seguir um exemplo que mostra uma diferença de alterações locais em uma função Lambda:
$ cdk diff MyStackName start: Building <asset-hash>:<account:Region> success: Built <asset-hash>:<account:Region> start: Publishing <asset-hash>:<account:Region> success: Published <asset-hash>:<account:Region> Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Stack MyStackName Resources [~] AWS::Lambda::Function HelloWorldFunction <resource-logical-ID> └─ [~] Code └─ [~] .ZipFile: ├─ [-] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello World!'), }; }; └─ [+] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello from CDK!'), }; }; ✨ Number of stacks with differences: 1
Um [~]
indicador de recursos que serão modificados nem sempre significa uma substituição completa de recursos:
-
Algumas propriedades do recurso, por exemplo
Code
, atualizarão o recurso. -
Algumas propriedades do recurso, como
FunctionName
, podem causar a substituição total do recurso.
Compare com um modelo específico CloudFormation
$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
Compare uma pilha local com sua pilha implantada. não imprima em stdout se nenhuma alteração for detectada
$ cdk diff MyStackName --app='node bin/main.js' --quiet