Preguntas frecuentes sobre los protocolos compatibles con CloudWatch - Amazon CloudWatch

Preguntas frecuentes sobre los protocolos compatibles con CloudWatch

CloudWatch ahora admite dos protocolos adicionales: JSON 1.0 de AWS y Smithy RPC v2 CBOR. Estos protocolos ofrecen un mejor rendimiento que el protocolo Query de AWS que utilizan actualmente los SDK y las CLI de AWS. Los SDK de AWS priorizarán el protocolo que tenga el mejor rendimiento para cada lenguaje.

¿Qué es el protocolo JSON de AWS y en qué se diferencia de las solicitudes y respuestas de las API de CloudWatch existentes?

JSON es uno de los métodos de conexión más utilizados y aceptados para la comunicación entre sistemas heterogéneos. CloudWatch utiliza JSON como medio de comunicación entre un cliente de SDK de AWS (por ejemplo, Java, Python, Golang o JavaScript) y el servidor de CloudWatch. Una solicitud HTTP de una operación de la API de CloudWatch acepta entradas en formato JSON. La operación de CloudWatch se ejecuta y la respuesta de la ejecución se comparte de nuevo con el cliente del SDK en formato JSON. En comparación con las consultas de AWS, JSON es más eficiente a la hora de transportar datos entre el cliente y el servidor.

  • El protocolo JSON de AWS es mediador entre el cliente y el servidor de CloudWatch.

  • El servidor no entiende el lenguaje de programación en el que se crea la operación de CloudWatch, pero entiende el protocolo JSON de AWS.

  • El protocolo JSON de AWS de CloudWatch utiliza la serialización (convertir el objeto al formato JSON) y la deserialización (convertir el formato JSON a objeto) entre el cliente y el servidor de CloudWatch.

¿Qué es el protocolo Smithy RPC v2 CBOR y en qué se diferencia de las solicitudes y respuestas de las API de CloudWatch existentes?

La representación concisa de objetos binarios (CBOR) es un formato de datos centrado en la eficiencia y la flexibilidad. Entre sus objetivos de diseño clave se incluyen un tamaño de código extremadamente pequeño, un tamaño de mensaje compacto y una extensibilidad sin versiones. Smithy RPC v2 CBOR, un protocolo inventado por Amazon, aprovecha estas ventajas para permitir una transmisión de datos más eficiente. RPC V2 CBOR implementa la codificación binaria en lugar de la codificación de texto de JSON, lo que reduce el tamaño de las cargas útiles y el tiempo dedicado a la serialización.

  • El protocolo CloudWatch RPC v2 CBOR es mediador entre el cliente y el servidor de CloudWatch.

  • El servidor no entiende el lenguaje de programación en el que se crea la operación de CloudWatch, pero entiende el protocolo RPC v2 CBOR.

  • El protocolo RPC v2 CBOR de CloudWatch utiliza la serialización (convertir el objeto al formato CBOR) y la deserialización (convertir el formato CBOR a objeto) entre el cliente y el servidor de CloudWatch.

¿Cómo puedo comenzar a utilizar los nuevos protocolos para CloudWatch?

Los nuevos protocolos ya están disponibles en una versión preliminar pública de los SDK. Los SDK se pueden descargar mediante las instrucciones siguientes.

nota

Los siguientes problemas específicos están presentes en la versión preliminar de los SDK de CloudWatch que figuran a continuación. El uso de esta versión preliminar del SDK implica que estos problemas podrían afectar a su integración. Tenemos previsto solucionar estos problemas antes de la versión final.

  • Afecta a todos los SDK: la versión preliminar elimina los valores nulos finales de las listas. En la versión final, estos valores se serializarán correctamente

  • Específico del SDK v1 de Java: la versión preliminar no serializa las listas vacías. En la versión final, las listas vacías se serializarán correctamente

Compatibilidad del protocolo de cliente del SDK
Idioma Repositorio de clientes del SDK Enlace de descarga del SDK Instrucciones de instalación del SDK Protocolo
C++ aws/aws-sdk-cpp Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Golang 2.x aws/aws-sdk-go-v2 Enlace para la descarga Instrucciones de instalación RPC v2 CBOR
Java 1.x aws/aws-sdk-java Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Java 2.x aws/aws-sdk-java-v2 Enlace para la descarga Instrucciones de instalación RPC v2 CBOR
JavaScript v3.x aws/aws-sdk-js-v3 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
.NET aws/aws-sdk-net Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
PHP aws/aws-sdk-php Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Python-boto3 boto/boto3 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
awscli Artefacto de AWS CLI v1 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Distribución de código fuente de AWS CLI v2 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Distribución desvinculada del código fuente de AWS CLI v2 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
AWS CLI v2 Windows MSI Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
AWS CLI v2 Linux X86 Docker Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
AWS CLI v2 Linux X86 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Instalador desvinculado de AWS CLI v2 Linux X86 Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
AWS CLI v2 Linux ARM Docker Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
AWS CLI v2 Linux ARM Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Instalador desvinculado de AWS CLI v2 Linux ARM Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Ruby aws/aws-sdk-ruby Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Powershell Enlace para la descarga Instrucciones de instalación JSON 1.0 de AWS
Rust awslabs/aws-sdk-rust Enlace para la descarga Instrucciones de instalación RPC v2 CBOR
Swift awslabs/aws-sdk-swift Enlace para la descarga Instrucciones de instalación RPC v2 CBOR
Kotlin awslabs/aws-sdk-kotlin Enlace para la descarga Instrucciones de instalación RPC v2 CBOR

¿Cuáles son los riesgos de activar estos nuevos protocolos para mis cargas de trabajo de CloudWatch?

Si utiliza una implementación personalizada del SDK de AWS o una combinación de clientes personalizados y SDK de AWS para interactuar con CloudWatch que genere respuestas basadas en Query de AWS (también conocidas como basadas en XML), es posible que sea incompatible con el protocolo JSON de AWS o CBOR. Si encuentra algún problema, póngase en contacto con AWS Support.

¿Qué sucede si ya tengo la última versión del SDK de AWS, pero mi solución de código abierto no admite JSON o CBOR?

Debe cambiar la versión del SDK por una anterior. Consulte ¿Cómo puedo comenzar a utilizar los nuevos protocolos para CloudWatch? para obtener información sobre cómo empezar a utilizar los protocolos más recientes de CloudWatch y seleccione una versión inferior a la indicada. Si cambia la SDK de AWS por la versión anterior, las API de CloudWatch utilizarán el protocolo de consultas de AWS.

Qué regiones se admiten en los protocolos JSON de AWS y CBOR que se utilizan en las API de CloudWatch

CloudWatch admite los protocolos JSON de AWS y CBOR en todas las regiones de AWS en las que está disponible CloudWatch.

¿Qué mejoras de latencia puedo esperar al actualizar a las versiones del SDK de AWS especificadas para CloudWatch mediante los protocolos más nuevos?

Los protocolos JSON y CBOR ofrecen una mejora de la latencia de entre un 50 % y un 80 % en comparación con Query de AWS. CBOR es un 50 % más rápido para el cliente. Ambos protocolos son entre un 10 y un 20 % más eficientes en el uso del ancho de banda de la red.

¿Quedará obsoleto el protocolo de consulta de AWS?

Se seguirá admitiendo el protocolo de consulta de AWS. Puede seguir utilizando el protocolo de consulta de AWS siempre que la versión del SDK de AWS esté establecida en cualquier versión anterior distinta de la que aparece en ¿Qué tengo que hacer para empezar a utilizar los protocolos JSON de AWS para CloudWatch?

¿Dónde puedo encontrar más información sobre los protocolos JSON de AWS y Smithy RPC v2 CBOR?

Puede encontrar más información sobre el protocolo JSON en AWS JSON 1.0 protocol en la documentación de Smithy.

Para más información sobre las solicitudes de API de CloudWatch, consulte Hacer solicitudes de API en la Guía de referencia de API de CloudWatch.