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á.
Novos recursos e mudanças na AWS CLI versão 2
Este tópico descreve novos recursos e mudanças no comportamento entre a AWS CLI versão 1 e a AWS CLI versão 2. Essas alterações podem exigir que você atualize seus scripts ou comandos para obter o mesmo comportamento na versão 2 que tinha na versão 1.
Tópicos
AWS CLI novos recursos da versão 2
A AWS CLI versão 2 é a versão principal mais recente do AWS CLI e oferece suporte a todos os recursos mais recentes. Alguns recursos apresentados na versão 2 não são compatíveis com a versão 1, e você deve fazer a atualização para acessá-los. Esses recursos incluem o seguinte:
- O intérprete Python não é necessário
-
A AWS CLI versão 2 não precisa de uma instalação separada do Python. Ela inclui uma versão incorporada.
- Assistentes
-
Você pode usar um assistente com a AWS CLI versão 2. O assistente orienta você ao longo do processo para a construção de determinados comandos.
- IAMAutenticação do Identity
-
Se sua organização usa AWS IAM Identity Center (IAMIdentity Center), seus usuários podem entrar no Active Directory, em um diretório interno do IAM Identity Center ou em outro IdP conectado ao IAM Identity Center. Em seguida, eles são mapeados para uma função AWS Identity and Access Management (IAM) que permite executar AWS CLI comandos.
- Prompt automático
-
Quando ativada, a AWS CLI versão 2 pode solicitar comandos, parâmetros e recursos ao executar um
aws
comando. - Executando as imagens oficiais do Amazon ECR Public ou Docker para o AWS CLI
-
A imagem oficial do Docker AWS CLI fornece isolamento, portabilidade e segurança que oferecem suporte e AWS manutenção diretos. Dessa forma, você pode usar a AWS CLI versão 2 em um ambiente baseado em contêiner sem precisar gerenciar a instalação sozinho.
- Paginação do lado do cliente
-
A AWS CLI versão 2 fornece o uso de um programa de pager do lado do cliente para saída. Por padrão, esse recurso está ativado e retorna toda a saída pelo programa de pager padrão do sistema operacional.
- aws configure import
-
Importe as credenciais de
.csv
geradas no AWS Management Console. Um.csv
arquivo é importado com o nome do perfil correspondente ao nome IAM do usuário. aws configure list-profiles
-
Lista os nomes de todos os perfis que você configurou.
- YAMLformato de saída de fluxo
-
O
yaml-stream
formatoyaml
and aproveita o YAMLformato e, ao mesmo tempo, fornece uma visualização mais responsiva de grandes conjuntos de dados, transmitindo os dados para você. Você pode começar a visualizar e usar YAML dados antes que toda a consulta seja baixada. - Novos comandos de alto nível de
ddb
para o DynamoDB -
A AWS CLI versão 2 tem os comandos de alto nível do Amazon
ddb put
DynamoDB e. ddb select
Esses comandos fornecem uma interface simplificada para colocar itens em tabelas do DynamoDB e para pesquisar em uma tabela ou índice do DynamoDB. aws logs tail
-
A AWS CLI versão 2 tem um
aws logs tail
comando personalizado que rastreia os registros de um grupo Amazon CloudWatch Logs. Por padrão, o comando retorna registros de todos os fluxos de CloudWatch registros associados durante os últimos dez minutos. - Adicionado suporte a metadados para comandos de alto nível da s3
-
A AWS CLI versão 2 adiciona o
--copy-props
parâmetro aoss3
comandos de alto nível. Com esse parâmetro, é possível configurar metadados e tags adicionais para o Amazon Simple Storage Service (Amazon S3). - AWS_REGION
-
A AWS CLI versão 2 tem uma variável AWS SDK de ambiente compatível chamada
AWS_REGION
. Essa variável especifica o Região da AWS para o qual enviar solicitações. Ela substitui a variável de ambiente daAWS_DEFAULT_REGION
, que é aplicável somente na AWS CLI.
Alterações significativas entre a AWS CLI versão 1 e a AWS CLI versão 2
Esta seção descreve todas as mudanças no comportamento entre a AWS CLI versão 1 e a AWS CLI versão 2. Essas alterações podem exigir que você atualize seus scripts ou comandos para obter o mesmo comportamento na versão 2 que tinha na versão 1.
Tópicos
- Variável de ambiente adicionada para definir codificação de arquivo de texto
- Os parâmetros binários são passados como strings codificadas em base64, por padrão.
- Manuseio aprimorado do Amazon S3 de propriedades e tags de arquivos cópias fracionadas.
- Sem recuperação automática de http:// ou https:// URLs para parâmetros
- Pager usado para todas as saídas por padrão
- Os valores de saída do timestamp são padronizados para o formato 8601 ISO
- Tratamento aprimorado de CloudFormation implantações que não resultam em alterações
- Comportamento padrão alterado para endpoint do Amazon S3 regional para a região us-east-1
- Comportamento padrão alterado para AWS STS endpoints regionais
- ecr get-login removido e substituído por ecr get-login-password
- AWS CLI o suporte da versão 2 para plug-ins está mudando
- Suporte a alias oculto removido
- A configuração do arquivo de configuração api_versions não é compatível
- AWS CLI a versão 2 usa somente o Signature v4 para autenticar solicitações do Amazon S3
- AWS CLI a versão 2 é mais consistente com os parâmetros de paginação
- AWS CLI a versão 2 fornece códigos de retorno mais consistentes em todos os comandos
Variável de ambiente adicionada para definir codificação de arquivo de texto
Por padrão, os arquivos de texto para Blob usam a mesma codificação que o locale instalado. Como a AWS CLI versão 2 usa uma versão incorporada do Python, as variáveis de PYTHONIOENCODING
ambiente PYTHONUTF8
e não são suportadas. Para definir uma codificação para arquivos de texto diferente da localidade, use a variável de ambiente AWS_CLI_FILE_ENCODING
. O exemplo a seguir define o AWS CLI para abrir arquivos de texto usando UTF-8
no Windows.
AWS_CLI_FILE_ENCODING=UTF-8
Para obter mais informações, consulteConfigurando variáveis de ambiente para o AWS CLI
Os parâmetros binários são passados como strings codificadas em base64, por padrão.
No AWS CLI, alguns comandos exigiam cadeias de caracteres codificadas em base64
Por padrão, a AWS CLI versão 2 passa todos os parâmetros binários de entrada e saída binária como a string codificada em base64 blobs
(objeto binário grande). Para obter mais informações, consulte Blob.
Para reverter para o comportamento da AWS CLI versão 1, use a configuração do cli_binary_format
arquivo ou o --cli-binary-format
parâmetro.
Manuseio aprimorado do Amazon S3 de propriedades e tags de arquivos cópias fracionadas.
Quando você usa os comandos da AWS CLI versão 1 no aws s3
namespace para copiar um arquivo de um local de bucket do S3 para outro, e essa operação usa cópia em várias partes, nenhuma propriedade de arquivo do objeto de origem é copiada para o objeto de destino.
Por padrão, os comandos correspondentes na AWS CLI versão 2 transferem todas as tags e algumas propriedades da cópia de origem para a cópia de destino. Em comparação com a AWS CLI versão 1, isso pode resultar na realização de mais AWS API chamadas para o endpoint do Amazon S3. Para alterar o comportamento padrão dos s3
comandos na AWS CLI versão 2, use o --copy-props
parâmetro.
Para obter mais informações, consulte Propriedades e tags de arquivos em cópias com várias partes.
Sem recuperação automática de http://
ou https://
URLs para parâmetros
A AWS CLI versão 2 não executa uma GET
operação quando o valor de um parâmetro começa com http://
ou https://
e não usa o conteúdo retornado como valor do parâmetro. Como resultado, a opção de linha de comando associada cli_follow_urlparam
é removida da AWS CLI versão 2.
Se você precisar recuperar um URL e passar o URL conteúdo para um valor de parâmetro, recomendamos que você use curl
uma ferramenta semelhante para baixar o conteúdo do URL para um arquivo local. A seguir, use a sintaxe file://
para ler o conteúdo desse arquivo e usá-lo como o valor do parâmetro.
Por exemplo, o comando a seguir não tenta mais recuperar o conteúdo da página encontrada em http://www.example.com
e passar esses conteúdos como o parâmetro. Em vez disso, ele passa a string de texto literal https://example.com
como o parâmetro.
$
aws ssm put-parameter \
--value http://www.example.com \
--name prod.microservice1.db.secret \
--type String 2
Se precisar recuperar e usar o conteúdo de uma web URL como parâmetro, você pode fazer o seguinte na versão 2.
$
curl https://my.example.com/mypolicyfile.json -o mypolicyfile.json$
aws iam put-role-policy \ --policy-document file://./mypolicyfile.json \ --role-name MyRole \ --policy-name MyReadOnlyPolicy
No exemplo anterior, o parâmetro -o
diz ao curl
para salvar o arquivo na pasta atual com o mesmo nome que o arquivo de origem. O segundo comando recupera o conteúdo desse arquivo baixado e passa-o como o valor de --policy-document
.
Pager usado para todas as saídas por padrão
Por padrão, a AWS CLI versão 2 retorna toda a saída por meio do programa de pager padrão do sistema operacional. Por padrão, esse programa é o less
more
Você pode configurar a AWS CLI versão 2 para usar um programa de paginação diferente ou nenhum. Para obter mais informações, consulte Paginação do lado do cliente.
Os valores de saída do timestamp são padronizados para o formato 8601 ISO
Por padrão, a AWS CLI versão 2 retorna todos os valores de resposta do timestamp no formato ISO8601
Para ver os timestamps no formato retornado pela HTTP API resposta, use o wire
valor em seu arquivo. config
Para obter mais informações, consulte cli_timestamp_format
.
Tratamento aprimorado de CloudFormation implantações que não resultam em alterações
Por padrão, na AWS CLI versão 1, se você implantar um AWS CloudFormation modelo que não resulta em alterações, ele AWS CLI retornará um código de erro com falha. Isso causa problemas se você não considerar isso como um erro e quiser que o script continue. Você pode contornar isso na AWS CLI versão 1 adicionando a bandeira-–no-fail-on-empty-changeset
, que retorna0
.
Como esse é um caso de uso comum, o padrão da AWS CLI versão 2 é retornar um código de saída bem-sucedido 0
quando não há nenhuma alteração causada por uma implantação e a operação retorna um conjunto de alterações vazio.
Para reverter para o comportamento original, adicione o sinalizador --fail-on-empty-changeset
.
Comportamento padrão alterado para endpoint do Amazon S3 regional para a região us-east-1
Quando você configura a AWS CLI versão 1 para usar a us-east-1
Região, ela AWS CLI
usa o s3.amazonaws.com
endpoint global que está fisicamente hospedado na us-east-1
Região. A AWS CLI versão 2 usa o verdadeiro endpoint regional s3.us-east-1.amazonaws.com
quando essa região é especificada. Para forçar a AWS CLI versão 2 a usar o endpoint global, você pode definir a região para um comando comoaws-global
.
Comportamento padrão alterado para AWS STS endpoints regionais
Por padrão, a AWS CLI versão 2 envia todas as API solicitações AWS Security Token Service (AWS STS) para o endpoint regional do atualmente configurado Região da AWS.
Por padrão, a AWS CLI versão 1 envia AWS STS solicitações para o AWS STS endpoint global. É possível controlar esse comportamento padrão na versão 1 usando a configuração sts_regional_endpoints
.
ecr get-login
removido e substituído por ecr get-login-password
A AWS CLI versão 2 substitui o comando pelo aws
ecr get-login-password
comando aws ecr get-login
que melhora a integração automatizada com a autenticação de contêineres.
O comando aws ecr get-login-password
reduz o risco de exposição das suas credenciais na lista de processos, histórico de shell ou outros arquivos de log. Também melhora a compatibilidade com o comando docker login
para oferecer uma melhor automação.
O aws ecr get-login-password
comando está disponível na AWS CLI versão 1.17.10 e posterior e na AWS CLI versão 2. O aws ecr get-login
comando anterior ainda está disponível na AWS CLI versão 1 para compatibilidade com versões anteriores.
Com o comando aws ecr get-login-password
, é possível substituir o seguinte código para recuperar uma senha.
$
(aws ecr get-login --no-include-email)
Para reduzir o risco de exposição de senhas no histórico do shell ou logs, use o comando de exemplo a seguir. Neste exemplo, a senha é canalizada diretamente para o comando docker login
, em que é atribuída ao parâmetro de senha pela opção --password-stdin
.
$
aws ecr get-login-password | docker login --username AWS
--password-stdin
MY-REGISTRY-URL
Para obter mais informações, consulte aws ecr get-login-password
AWS CLI o suporte da versão 2 para plug-ins está mudando
O suporte a plug-ins na AWS CLI versão 2 é totalmente provisório e tem como objetivo ajudar os usuários a migrar da AWS CLI versão 1 até o lançamento de uma interface de plug-in estável e atualizada. Não há garantias de que um plug-in específico ou mesmo a interface do AWS CLI plug-in sejam suportados em versões futuras da AWS CLI versão 2. Se você depende de plug-ins, certifique-se de acessar uma versão específica do AWS CLI e testar a funcionalidade do seu plug-in ao fazer a atualização.
Para habilitar o suporte a plugins, crie uma seção [plugins]
no ~/.aws/config
.
[plugins] cli_legacy_plugin_path =
<path-to-plugins>
/python3.7/site-packages<plugin-name>
=<plugin-module>
Na seção [plugins]
, defina a variável cli_legacy_plugin_path
e seu valor para o caminho dos pacotes do site do Python em que se encontra o módulo do plugin. Depois, é possível configurar um plug-in fornecendo um nome a ele (plugin-name
) e o nome do arquivo do módulo Python, (plugin-module
), que contém o código-fonte do plug-in. O AWS CLI carrega cada plug-in importando plugin-module
e chamando sua awscli_initialize
função.
Suporte a alias oculto removido
AWS CLI a versão 2 não oferece mais suporte aos seguintes aliases ocultos que eram compatíveis com a versão 1.
Na tabela a seguir, a primeira coluna exibe o serviço, o comando e o parâmetro que funcionam em todas as versões, incluindo a AWS CLI versão 2. A segunda coluna exibe o alias que não funciona mais na AWS CLI versão 2.
Serviço de trabalho, comando e parâmetro | Alias obsoleto |
---|---|
cognito-identity -arns create-identity-pool open-id-connect-provider | open-id-connect-provider-ar-ns |
storagegateway describe-tapes tape-arns | tape-ar-ns |
gateway de armazenamento. describe-tape-archives.tape-arns | tape-ar-ns |
gateway de armazenamento. describe-vtl-devices. vtl-device-arns | vtl-device-ar-ns |
gateway de armazenamento. describe-cached-iscsi-volumes.volume-arns | volume-ar-ns |
gateway de armazenamento. describe-stored-iscsi-volumes.volume-arns | volume-ar-ns |
route53domains.view-billing.start-time | rápido |
implantar. create-deployment-groupconjunto de tags.ec2 | ec-2-tag-set |
implantar. list-application-revisions.s3-bucket | s-3-bucket |
implantar. list-application-revisions.prefixo-chave s3 | s-3-key-prefix |
implantar. update-deployment-groupconjunto de tags.ec2 | ec-2-tag-set |
objetivo. enable-mfa-device.código de autenticação1 | authentication-code-1 |
objetivo. enable-mfa-device.código de autenticação2 | authentication-code-2 |
objetivo. resync-mfa-device.código de autenticação1 | authentication-code-1 |
objetivo. resync-mfa-device.código de autenticação2 | authentication-code-2 |
importação/exportação. get-shipping-label.rua 1 | street-1 |
importação/exportação. get-shipping-label.rua 2 | street-2 |
importação/exportação. get-shipping-label.rua 3 | street-3 |
lambda.publish-version.code-sha256 | code-sha-256 |
vela leve. import-key-pair. public-key-base64 | public-key-base-64 |
opsworks.register-volume.ec2-volume-id | ec-2-volume-id |
A configuração do arquivo de configuração api_versions
não é compatível
A AWS CLI versão 2 não suporta a chamada de versões anteriores do AWS serviço APIs usando a api_versions
configuração do arquivo de configuração. Agora, todos os AWS CLI comandos chamam a versão mais recente do serviço APIs que atualmente é suportada pelo endpoint.
AWS CLI a versão 2 usa somente o Signature v4 para autenticar solicitações do Amazon S3
A AWS CLI versão 2 não oferece suporte a algoritmos de assinatura anteriores para autenticar criptograficamente as solicitações de serviço enviadas aos endpoints do Amazon S3. Essa assinatura acontece automaticamente com todas as solicitações do Amazon S3 e somente o processo de assinatura do Signature versão 4 é compatível. Você não pode configurar a versão da assinatura. Todos os buckets pré-assinados do Amazon S3 URLs agora usam somente SigV4 e têm uma duração máxima de expiração de uma semana.
AWS CLI a versão 2 é mais consistente com os parâmetros de paginação
Na AWS CLI versão 1, se você especificar parâmetros de paginação na linha de comando, a paginação automática será desativada conforme o esperado. No entanto, quando você especifica parâmetros de paginação usando um arquivo com o parâmetro ‐‐cli-input-json
, a paginação automática não foi desativada, o que poderia resultar em uma saída inesperada. A AWS CLI versão 2 desativa a paginação automática, independentemente de como você fornece os parâmetros.
AWS CLI a versão 2 fornece códigos de retorno mais consistentes em todos os comandos
A AWS CLI versão 2 é mais consistente em todos os comandos e retorna adequadamente um código de saída apropriado em comparação com a AWS CLI versão 1. Também adicionamos os códigos de saída 252, 253 e 254. Para obter mais informações sobre códigos de saída, consulte Códigos de retorno da linha de comando no AWS CLI.
Se você depende de como a AWS CLI versão 1 usa valores de código de retorno, recomendamos verificar os códigos de saída para garantir que você esteja recebendo os valores esperados.