Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Nuevas funciones y cambios en la AWS CLI versión 2
En este tema se describen las nuevas funciones y los cambios de comportamiento entre AWS CLI la versión 1 y AWS CLI la versión 2. Estos cambios pueden requerir que actualice los scripts o comandos para obtener el mismo comportamiento en la versión 2 que en la versión 1.
Temas
AWS CLI nuevas funciones de la versión 2
La AWS CLI versión 2 es la versión principal más reciente AWS CLI y es compatible con todas las funciones más recientes. Algunas características introducidas en la versión 2 de no son compatibles con la versión 1 y debe realizar una actualización para acceder a esas características. Estas son algunas de ellas:
- No se necesita intérprete de Python
-
La AWS CLI versión 2 no necesita una instalación independiente de Python. Incluye una versión insertada.
- Asistentes
-
Puedes usar un asistente con la AWS CLI versión 2. El asistente le guía por la creación de determinados comandos.
- IAMLa autenticación de Identity Center
-
Si su organización usa AWS IAM Identity Center (IAMIdentity Center), sus usuarios pueden iniciar sesión en Active Directory, en un directorio de IAM Identity Center integrado o en otro IdP conectado a IAM Identity Center. A continuación, se asignan a un rol AWS Identity and Access Management (IAM) que le permite ejecutar AWS CLI comandos.
- Mensaje automático
-
Cuando está habilitada, la AWS CLI versión 2 puede solicitarle comandos, parámetros y recursos al ejecutar un
aws
comando. - Ejecutar las imágenes oficiales de Amazon ECR Public o Docker para AWS CLI
-
La imagen oficial de Docker AWS CLI proporciona aislamiento, portabilidad y seguridad que respaldan y AWS mantienen directamente. De esta forma, puede utilizar la AWS CLI versión 2 en un entorno basado en contenedores sin tener que gestionar la instalación usted mismo.
- Paginación del lado del cliente
-
La AWS CLI versión 2 proporciona el uso de un programa localizador del lado del cliente para la salida. De forma predeterminada, esta característica está activada y devuelve todas las salidas a través del programa de paginación predeterminado del sistema operativo.
- aws configure import
-
Importe las credenciales de
.csv
generadas desde la AWS Management Console. Se importa un.csv
archivo con el nombre del perfil que coincide con el nombre del IAM usuario. aws configure list-profiles
-
Muestra los nombres de todos los perfiles que ha configurado.
- YAMLformato de salida de flujo
-
El
yaml-stream
formatoyaml
and aprovecha las ventajas del YAMLformato y, al mismo tiempo, proporciona una visualización con mayor capacidad de respuesta de conjuntos de datos de gran tamaño al transmitirle los datos en streaming. Puede empezar a ver y usar YAML los datos antes de que se descargue toda la consulta. - Nuevos comandos
ddb
de alto nivel para DynamoDB -
La AWS CLI versión 2 incluye los comandos de alto nivel de Amazon
ddb put
DynamoDB y. ddb select
Estos comandos proporcionan una interfaz simplificada para colocar elementos en las tablas de DynamoDB y buscar en una tabla o índice de DynamoDB. aws logs tail
-
La AWS CLI versión 2 tiene un
aws logs tail
comando personalizado que sigue los registros de un grupo de Amazon CloudWatch Logs. De forma predeterminada, el comando devuelve los registros de todas las transmisiones de CloudWatch Logs asociadas de los últimos diez minutos. - Se ha agregado compatibilidad con los metadatos para los comandos s3 de alto nivel
-
La AWS CLI versión 2 añade el
--copy-props
parámetro a loss3
comandos de alto nivel. Con este parámetro, puede configurar metadatos y etiquetas adicionales para Amazon Simple Storage Service (Amazon S3). - AWS_REGION
-
La AWS CLI versión 2 tiene una variable AWS SDK de entorno compatible llamada
AWS_REGION
. Esta variable especifica Región de AWS a quién enviar las solicitudes. Anula la variable de entornoAWS_DEFAULT_REGION
, que solo es aplicable en la AWS CLI.
Cambios importantes entre la AWS CLI versión 1 y AWS CLI la versión 2
En esta sección se describen todos los cambios de comportamiento entre la AWS CLI versión 1 y AWS CLI la versión 2. Estos cambios pueden requerir que actualice los scripts o comandos para obtener el mismo comportamiento en la versión 2 que en la versión 1.
Temas
- Se ha agregado una variable de entorno para establecer la codificación de los archivos de texto
- Los parámetros binarios se pasan como cadenas codificadas en base64 de forma predeterminada
- Mejora de la gestión de Amazon S3 de las propiedades y etiquetas de los archivos para las copias multiparte
- No hay recuperación automática de http:// o https:// URLs para los parámetros
- Paginador usado para toda la salida de forma predeterminada
- Los valores de salida de la marca de tiempo están estandarizados en el formato 8601 ISO
- Gestión mejorada de las CloudFormation implementaciones que no producen cambios
- Se ha cambiado el comportamiento predeterminado del punto de conexión regional de Amazon S3 para la región us-east-1
- Se ha modificado el comportamiento predeterminado de los puntos AWS STS finales regionales
- Se ha eliminado ecr get-login y se ha reemplazado por ecr get-login-password
- AWS CLI El soporte de la versión 2 para los complementos está cambiando
- Se ha eliminado la compatibilidad con los alias ocultos
- No se admite la opción api_versions del archivo de configuración
- AWS CLI la versión 2 usa solo Signature v4 para autenticar las solicitudes de Amazon S3
- AWS CLI la versión 2 es más coherente con los parámetros de paginación
- AWS CLI la versión 2 proporciona códigos de retorno más consistentes en todos los comandos
Se ha agregado una variable de entorno para establecer la codificación de los archivos de texto
De forma predeterminada, los archivos de texto de Blob utilizan la misma codificación que la configuración regional instalada. Como la AWS CLI versión 2 usa una versión integrada de Python, las variables de PYTHONIOENCODING
entorno PYTHONUTF8
y no son compatibles. Para establecer que la codificación de los archivos de texto sea distinta de la configuración regional, utilice la variable de entorno AWS_CLI_FILE_ENCODING
. El siguiente ejemplo configura la opción AWS CLI para abrir los archivos de texto que se utilizan UTF-8
en Windows.
AWS_CLI_FILE_ENCODING=UTF-8
Para obtener más información, consulte Configuración de variables de entorno para AWS CLI.
Los parámetros binarios se pasan como cadenas codificadas en base64 de forma predeterminada
En el AWS CLI, algunos comandos requerían cadenas codificadas en base64
De forma predeterminada, la AWS CLI versión 2 transfiere todos los parámetros binarios de entrada y salida binaria como una cadena codificada en base64 blobs
(objeto binario grande). Para obtener más información, consulte Blob.
Para volver al comportamiento de la AWS CLI versión 1, utilice la configuración del cli_binary_format
archivo o el parámetro. --cli-binary-format
Mejora de la gestión de Amazon S3 de las propiedades y etiquetas de los archivos para las copias multiparte
Si utiliza los comandos de la AWS CLI versión 1 en el espacio de aws s3
nombres para copiar un archivo de una ubicación de bucket de S3 a otra y esa operación utiliza la copia multiparte, no se copia ninguna propiedad del archivo del objeto de origen en el objeto de destino.
De forma predeterminada, los comandos correspondientes de la AWS CLI versión 2 transfieren todas las etiquetas y algunas de las propiedades de la copia de origen a la de destino. En comparación con la AWS CLI versión 1, esto puede provocar que se AWS API realicen más llamadas al punto de conexión Amazon S3. Para cambiar el comportamiento predeterminado de los s3
comandos de AWS CLI la versión 2, utilice el --copy-props
parámetro.
Para obtener más información, consulte Propiedades de archivo y etiquetas en copias multiparte.
No hay recuperación automática de http://
o https://
URLs para los parámetros
La AWS CLI versión 2 no realiza ninguna GET
operación cuando el valor de un parámetro comienza por http://
o https://
y no utiliza el contenido devuelto como valor de parámetro. Como resultado, la opción de línea de comandos asociada cli_follow_urlparam
se elimina de la AWS CLI versión 2.
Si necesita recuperar un valor de parámetro URL y pasarlo a un valor de parámetro, le recomendamos que utilice curl
una herramienta similar para descargar el contenido del mismo URL a un archivo local. URL Después, use la sintaxis file://
para leer el contenido de ese archivo y utilizarlo como valor del parámetro.
Por ejemplo, el siguiente comando ya no intenta recuperar el contenido de la página encontrada en http://www.example.com
y pasar ese contenido como parámetro. En cambio, pasa la cadena de texto literal https://example.com
como parámetro.
$
aws ssm put-parameter \
--value http://www.example.com \
--name prod.microservice1.db.secret \
--type String 2
Si necesita recuperar y utilizar el contenido de una web URL como parámetro, puede hacer lo siguiente en la versión 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
En el ejemplo anterior, el parámetro -o
indica a curl
que guarde el archivo en la carpeta actual con el mismo nombre que el archivo de origen. El segundo comando recupera el contenido de ese archivo descargado y lo pasa como valor de --policy-document
.
Paginador usado para toda la salida de forma predeterminada
De forma predeterminada, la AWS CLI versión 2 devuelve todos los resultados a través del programa localizador predeterminado del sistema operativo. Este programa es el programa less
more
Puede configurar la AWS CLI versión 2 para que utilice un programa de paginación diferente o ninguno. Para obtener más información, consulte Paginación del lado del cliente.
Los valores de salida de la marca de tiempo están estandarizados en el formato 8601 ISO
De forma predeterminada, la AWS CLI versión 2 devuelve todos los valores de respuesta de la marca de tiempo en el ISO formato 8601.
Para ver las marcas de tiempo en el formato devuelto por la HTTP API respuesta, usa el wire
valor del archivo. config
Para obtener más información, consulte cli_timestamp_format
.
Gestión mejorada de las CloudFormation implementaciones que no producen cambios
De forma predeterminada, en la AWS CLI versión 1, si AWS CloudFormation despliegas una plantilla que no produce cambios, AWS CLI devuelve un código de error. Esto causa problemas si no lo considera un error y quiere que su script continúe. Puedes solucionar este problema en la AWS CLI versión 1 añadiendo la marca-–no-fail-on-empty-changeset
, que vuelve a aparecer0
.
Como este es un caso de uso común, la AWS CLI versión 2 devuelve de forma predeterminada un código de salida correcto 0
cuando no se produce ningún cambio provocado por una implementación y la operación devuelve un conjunto de cambios vacío.
Para volver al comportamiento original, debe agregar la marca --fail-on-empty-changeset
.
Se ha cambiado el comportamiento predeterminado del punto de conexión regional de Amazon S3 para la región us-east-1
Al configurar la AWS CLI versión 1 para usar la us-east-1
región, AWS CLI
utiliza el s3.amazonaws.com
punto final global que está alojado físicamente en la us-east-1
región. La AWS CLI versión 2 utiliza el verdadero punto final regional s3.us-east-1.amazonaws.com
cuando se especifica esa región. Para forzar a la AWS CLI versión 2 a utilizar el punto final global, puede configurar la región en la que debe utilizarse un comandoaws-global
.
Se ha modificado el comportamiento predeterminado de los puntos AWS STS finales regionales
De forma predeterminada, la AWS CLI versión 2 envía todas las API solicitudes AWS Security Token Service (AWS STS) al punto final regional para el que está configurado Región de AWS actualmente.
De forma predeterminada, la AWS CLI versión 1 envía AWS STS las solicitudes al AWS STS punto final global. Puede controlar este comportamiento predeterminado en la versión 1 con la configuración sts_regional_endpoints
.
Se ha eliminado ecr get-login
y se ha reemplazado por ecr get-login-password
La AWS CLI versión 2 reemplaza el comando aws ecr get-login
por el aws
ecr get-login-password
comando que mejora la integración automatizada con la autenticación de contenedores.
El comando aws ecr get-login-password
reduce el riesgo de exponer sus credenciales en la lista de procesos, historial de shell u otros archivos de registro. También mejora la compatibilidad con el comando docker login
, lo que mejora la automatización.
El aws ecr get-login-password
comando está disponible en la AWS CLI versión 1.17.10 y posteriores, y en la AWS CLI versión 2. El aws ecr get-login
comando anterior sigue disponible en la AWS CLI versión 1 por motivos de compatibilidad con versiones anteriores.
Con el comando aws ecr get-login-password
, puede reemplazar el siguiente código que recupera una contraseña.
$
(aws ecr get-login --no-include-email)
Para reducir el riesgo de exponer la contraseña al historial de shell o a los registros, utilice el siguiente comando de ejemplo. En este ejemplo, la contraseña se canaliza directamente al comando docker login
, donde se asigna al parámetro password mediante la opción --password-stdin
.
$
aws ecr get-login-password | docker login --username AWS
--password-stdin
MY-REGISTRY-URL
Para obtener más información, consulte aws ecr get-login-password
AWS CLI El soporte de la versión 2 para los complementos está cambiando
La compatibilidad con los complementos en la AWS CLI versión 2 es completamente provisional y está destinada a ayudar a los usuarios a migrar desde la AWS CLI versión 1 hasta que se publique una interfaz de complementos estable y actualizada. No hay garantías de que un complemento en particular o incluso la interfaz del AWS CLI complemento sean compatibles en futuras versiones de la AWS CLI versión 2. Si utilizas complementos, asegúrate de utilizar una versión concreta del plugin AWS CLI y de probar su funcionalidad cuando realices la actualización.
Para habilitar el soporte de complementos, cree una sección [plugins]
en su ~/.aws/config
.
[plugins] cli_legacy_plugin_path =
<path-to-plugins>
/python3.7/site-packages<plugin-name>
=<plugin-module>
En la sección [plugins]
, defina la variable cli_legacy_plugin_path
y establezca su valor en la ruta de paquetes del sitio de Python en la que se encuentra su módulo de complemento. Después, puede configurar un complemento si proporciona un nombre para el complemento (plugin-name
) y el nombre de archivo del módulo Python (plugin-module
) que contiene el código fuente de su complemento. AWS CLI Carga cada complemento importando su función plugin-module
y llamando a su awscli_initialize
función.
Se ha eliminado la compatibilidad con los alias ocultos
AWS CLI la versión 2 ya no admite los siguientes alias ocultos que se admitían en la versión 1.
En la siguiente tabla, la primera columna muestra el servicio, el comando y el parámetro que funcionan en todas las versiones, incluida la AWS CLI versión 2. La segunda columna muestra el alias que ya no funciona en la AWS CLI versión 2.
Servicio, comando y parámetro que funcionan | 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 |
puerta de almacenamiento. describe-tape-archives.hilos de cinta | tape-ar-ns |
puerta de enlace de almacenamiento. describe-vtl-devices. vtl-device-arns | vtl-device-ar-ns |
puerta de almacenamiento. describe-cached-iscsi-volumes.volume-arns | volume-ar-ns |
puerta de enlace de almacenamiento. describe-stored-iscsi-volumes.volume-arns | volume-ar-ns |
route53domains.view-billing.start-time | iniciar |
desplegar. create-deployment-group.ec2-tag-set | ec-2-tag-set |
desplegar. list-application-revisions.s3-bucket | s-3-bucket |
desplegar. list-application-revisionsprefijo.s3-key-prefijo | s-3-key-prefix |
desplegar. update-deployment-group.ec2-tag-set | ec-2-tag-set |
Estoy. enable-mfa-device.código de autenticación 1 | authentication-code-1 |
soy. enable-mfa-device.código de autenticación 2 | authentication-code-2 |
soy. resync-mfa-device.código de autenticación 1 | authentication-code-1 |
soy. resync-mfa-device.código de autenticación 2 | authentication-code-2 |
importar/exportar. get-shipping-label.street1 | street-1 |
importación/exportación. get-shipping-label.street2 | street-2 |
importación/exportación. get-shipping-label.street3 | street-3 |
lambda.publish-version.code-sha256 | code-sha-256 |
vela ligera. import-key-pair. public-key-base64 | public-key-base-64 |
opsworks.register-volume.ec2-volume-id | ec-2-volume-id |
No se admite la opción api_versions
del archivo de configuración
La AWS CLI versión 2 no permite llamar a versiones anteriores del AWS servicio APIs mediante el ajuste del archivo api_versions
de configuración. Todos los AWS CLI comandos ahora llaman a la versión más reciente del servicio APIs que actualmente admite el punto final.
AWS CLI la versión 2 usa solo Signature v4 para autenticar las solicitudes de Amazon S3
La AWS CLI versión 2 no admite los algoritmos de firma anteriores para autenticar criptográficamente las solicitudes de servicio enviadas a los puntos de enlace de Amazon S3. Esta firma se produce automáticamente con cada solicitud de Amazon S3 y solo se admite el proceso de firma de Signature versión 4. No puede configurar la versión de la firma. Todos los buckets de Amazon S3 prefirmados URLs ahora usan solo SigV4 y tienen una duración máxima de caducidad de una semana.
AWS CLI la versión 2 es más coherente con los parámetros de paginación
En la AWS CLI versión 1, si especificas los parámetros de paginación en la línea de comandos, la paginación automática se desactiva según lo previsto. No obstante, al especificar los parámetros de paginación mediante un archivo con el parámetro ‐‐cli-input-json
, no se desactivaba la paginación automática, lo que podía dar lugar a una salida inesperada. La AWS CLI versión 2 desactiva la paginación automática independientemente de cómo se proporcionen los parámetros.
AWS CLI la versión 2 proporciona códigos de retorno más consistentes en todos los comandos
La AWS CLI versión 2 es más coherente en todos los comandos y devuelve correctamente un código de salida adecuado en comparación con la AWS CLI versión 1. También hemos añadido los códigos de salida 252, 253 y 254. Para obtener más información sobre los códigos de salida, consulte Los códigos de retorno de la línea de comandos están en el AWS CLI.
Si depende de la forma en que la AWS CLI versión 1 utiliza los valores de los códigos de retorno, le recomendamos que compruebe los códigos de salida para asegurarse de que obtiene los valores esperados.