FAQs on CloudWatch supported protocols
CloudWatch now supports for two additional protocols: AWS JSON 1.1
What is the AWS JSON protocol, and how does it differ from existing CloudWatch API requests and responses?
JSON is one of the most widely used and accepted wiring methods for communication between heterogeneous systems. CloudWatch uses JSON as a medium to communicate between an AWS SDK client (for example, Java, Python, Golang, JavaScript) and CloudWatch server. An HTTP request of an CloudWatch API operation accepts input in the form of JSON. The CloudWatch operation is executed and the response of execution is shared back to the SDK client in the form of JSON. Compared to AWS query, JSON is more efficient at transporting data between client and server.
-
CloudWatch AWS JSON protocol acts as a mediator between CloudWatch client and server.
-
The server doesn't understand the programming language in which the CloudWatch operation is created, but it understands the AWS JSON protocol.
-
The CloudWatch AWS JSON protocol uses the serialization (convert object to JSON format) and deserialization (convert JSON format to object) between the CloudWatch client and server.
What is the Smithy RPC v2 CBOR protocol, and how does it differ from existing CloudWatch API requests and responses?
The Concise Binary Object Representation (CBOR) is a data format focused on efficiency and flexibility. Its key design goals include extremely small code size, compact message size, and version-free extensibility. Smithy RPC v2 CBOR, an Amazon-invented protocol, builds on these advantages to enable more efficient data transmission. RPC V2 CBOR implements binary encoding rather than the text encoding of JSON, reducing the size of payloads and the time spent on serialization.
-
CloudWatch RPC v2 CBOR protocol acts as a mediator between CloudWatch client and server.
-
The server doesn't understand the programming language in which the CloudWatch operation is created, but it understands the RPC v2 CBOR protocol.
-
The CloudWatch RPC v2 CBOR protocol uses the serialization (convert object to CBOR format) and deserialization (convert CBOR format to object) between the CloudWatch client and server.
How do I get started with the newer protocols for CloudWatch?
The new protocols are now available in a public preview version of the SDKs. SDKs can be downloaded using the instructions below.
Note
The following specific issues are present in the preview version of the CloudWatch SDKs listed below. Using this preview SDK means these issues could affect your integration. We plan to address these issues before the final release.
Affecting all SDKs – The preview version removes trailing null values from lists. In the final release, these values will be properly serialized
Specific to Java SDK v1 – The preview version does not serialize empty lists. In the final release, empty lists will be properly serialized
What are the risks of enabling these new protocols for my CloudWatch workloads?
If you are using a custom implementation of AWS SDK or a combination of custom clients and AWS SDK to interact with CloudWatch that generates AWS Query based (aka XML-based) responses, it may be incompatible with AWS JSON or CBOR protocol. If you encounter any issues, contact AWS Support.
What if I am already on the latest AWS SDK version, but my open sourced solution does not support JSON or CBOR?
You must change your SDK version to a previous version. See How do I get started with the newer protocols for CloudWatch? for how to get started with the newer protocols for CloudWatch and select a version lower than listed. If you change your AWS SDK to the previous version, your CloudWatch APIs will use the AWS query protocol.
What regions are supported for AWS JSON and CBOR protocols used in CloudWatch APIs
CloudWatch supports AWS JSON and CBOR protocol in all AWS regions where CloudWatch is available.
What latency improvements can I expect when upgrading to the specified AWS SDK versions for CloudWatch using the newer protocols?
Both JSON and CBOR provides between 50% to 80% latency improvement when compared to the AWS Query. CBOR is 50% faster for the client. Both protocols are 10-20% more efficient in network bandwidth usage.
Will AWS query protocol be deprecated?
AWS query protocol will continue to be supported. You can continue using AWS query protocol as long as your AWS SDK version is set any previous version other that what is listed in How do I get started with AWS JSON protocols for CloudWatch.
Where can I find more information about AWS JSON and Smithy RPC v2 CBOR protocols?
You can find more information about JSON protocol at AWS JSON 1.1
For more about CloudWatch API requests, see Making API Requests in the CloudWatch API Reference Guide.