Este é o Guia do Desenvolvedor 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á.
Faça uma comparação para ver as mudanças na infraestrutura entre as AWS CDK pilhas.
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.
Type: string
Obrigatório: não
Opções
Para obter uma lista de opções globais que funcionam com todos os CDK CLI comandos, vejaOpções globais.
--change-set
BOOLEAN
-
Especifique se deseja criar um conjunto de alterações para analisar as substituições de recursos.
Quando
true
, o CDK CLI criará um conjunto de AWS CloudFormation 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. O CDK CLI 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, o CDK CLI não filtraráAWS::CDK::Metadata
recursos ou caracteres não 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
O CDK CLI 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: Buildingasset-hash
:account-Region
success: Builtasset-hash
:account-Region
start: Publishingasset-hash
:account-Region
success: Publishedasset-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 HelloWorldFunctionresource-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'
Diferencie 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