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 .
Usage
$ cdk diff <arguments> <options>
Argumentos
- ID da pilha CDK
-
O ID de constructo da pilha do CDK da sua aplicação para realizar uma comparação.
Tipo: string
Obrigatório: não
Opções
Para obter uma lista das opções globais que funcionam com todos os comandos da CLI do CDK, consulte Opções globais.
-
--method, -m <STRING> -
Especifica como calcular a diferença.
-
auto— Padrão. Cria um conjunto de AWS CloudFormation alterações para exibir informações de substituição precisas. Se o conjunto de alterações não puder ser criado (por exemplo, devido à falta de permissões), retorne a uma diferença somente de modelo. Usa a função de implantação. -
change-set— Sempre cria um conjunto de alterações e falha se ele não puder ser criado. Use isso quando precisar de precisão garantida. Usa a função de implantação. -
template— Compara CloudFormation modelos diretamente. Mais rápido, mas menos preciso. Qualquer alteração detectada em propriedades que exijam substituição de recursos é exibida como uma substituição de recurso, mesmo que a alteração seja puramente cosmética. Usa a função de pesquisa.Valor padrão:
auto
-
-
--change-set <BOOLEAN>(obsoleto) -
Especifica se é necessário criar um conjunto de alterações para analisar as substituições de recursos. Use
--methodem vez disso.--change-setmapeia para--method=auto.--no-change-setmapeia para--method=template.
-
--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
1se 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 diffparastdoutquando 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 diffpara ser mais preciso ou rigoroso. Quando verdadeiro, a CLI do CDK não filtrará recursos daAWS::CDK::Metadataou 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. Implica
--method=template.
Exemplos
Compare com a pilha atualmente implantada chamada MyStackName
A CLI do CDK usa os símbolos a seguir na saída de 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 do 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 --method=template 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 [~] para recursos que serão modificados nem sempre significa uma substituição completa de recursos:
-
Algumas propriedades do recurso, como
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'
Faça um diff de 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