Perguntas frequentes sobre os protocolos com suporte por parte do CloudWatch
Os SDKS do CloudWatch começaram a usar dois protocolos adicionais: AWS JSON 1.1
O que é o protocolo AWS JSON e como ele difere das solicitações e das respostas existentes da API do CloudWatch?
JSON é um dos formatos de dados mais amplamente usados e aceitos para comunicação entre sistemas heterogêneos. O CloudWatch usa o formato JSON como meio de comunicação entre um cliente do AWS SDK (por exemplo, Java, Python, Golang e JavaScript) e o servidor do CloudWatch. Uma solicitação HTTP de uma operação da API do CloudWatch aceita entrada no formato JSON. A operação do CloudWatch é executada, e a resposta da execução é compartilhada de volta com o cliente do SDK no formato JSON. Comparado com o AWS Query, o JSON é mais eficiente para transportar dados entre cliente e servidor.
-
O protocolo AWS JSON do CloudWatch atua como um mediador entre o cliente e o servidor do CloudWatch.
-
O SDK da AWS do CloudWatch lida com a serialização (converter objeto em formato JSON) e a desserialização (converter formato JSON em objeto) entre o cliente e o servidor do CloudWatch.
O que é o protocolo Smithy RPC v2 CBOR e como ele difere das solicitações e das respostas existentes da API do CloudWatch?
O Smithy RPC v2 CBOR (Concise Binary Object Representation) é um protocolo desenvolvido pela Amazon para uma transmissão de dados mais eficiente. É um formato de dados projetado para manter os tamanhos das mensagens compactos e permitir que o formato evolua sem necessidade de negociação de versões entre sistemas. A principal diferença da codificação JSON é que o JSON usa texto legível por humanos (como “nome”: “João”), enquanto o CBOR usa um formato binário (sequências de 1s e 0s). Essa abordagem binária cria pacotes de dados menores que viajam mais depressa pela rede e reduzem o tempo de serialização, pois os computadores processam os dados binários diretamente.
-
O protocolo RPC v2 CBOR do CloudWatch atua como um mediador entre o cliente e o servidor CloudWatch.
-
O SDK do CloudWatch lida com a serialização (converter objeto em formato JSON) e a desserialização (converter formato JSON em objeto) entre o cliente e o servidor do CloudWatch.
Qual é o procedimento para começar a usar os protocolos mais recentes para o CloudWatch?
Para começar, use a mais nova versão do SDK/CLI da AWS para usar o protocolo mais recente compatível com o CloudWatch. Atualize o SDK da AWS para a versão especificada ou qualquer versão posterior.
| Linguagem | Protocolo | Versões do SDK |
|---|---|---|
| C++ | RPC v2 CBOR | 1.11.708 |
| Golang 2.x | RPC v2 CBOR | 1.53.0 |
| Java 1.x | AWS JSON 1.1 | 1.12.795 |
| Java 2.x | RPC v2 CBOR | 2.40.6 |
| JavaScript v3.x | AWS JSON 1.1 | 3.949.0 |
| .NET v3 | AWS JSON 1.1 | 3.7.1182.0 |
| .NET v4 | RPC v2 CBOR | 4.0.150.0 |
| PHP | AWS JSON 1.1 | 3.367.0 |
| Python-boto3 | AWS JSON 1.1 | 1.42.7 |
| Python-botocore | AWS JSON 1.1 | 1.42.7 |
| AWSCLI v1 | AWS JSON 1.1 | 1.43.13 |
| AWSCLI v2 | AWS JSON 1.1 | 2.32.14 |
| Ruby | AWS JSON 1.1 | 1.126.0 |
| PowerShell | AWS JSON 1.1 | 5.0.114 |
| Rust | RPC v2 CBOR | 1.100,0 |
| Swift | RPC v2 CBOR | 1.6.14 |
| Kotlin | RPC v2 CBOR | 1.5.100 |
Quais são os riscos de habilitar esses novos protocolos para minhas workloads do CloudWatch?
A migração para essas novas versões do SDK deverá ser totalmente transparente e fácil para os clientes. Existe uma única mudança comportamental conhecida entre os protocolos, relacionada a como os valores null são tratados nas listas: as chamadas de API do CloudWatch com entradas de lista que contenham valores null serão tratadas de forma diferente nos protocolos AWS JSON e Smithy RPC v2 CBOR em comparação com o protocolo AWS Query anterior: no protocolo AWS Query, os valores nulos nas listas são removidos, enquanto nos protocolos JSON/CBOR serão propagados por chamadas de API.
Além disso, se você usar uma implementação personalizada do SDK da AWS ou uma combinação de clientes personalizados e o SDK da AWS para interagir com o CloudWatch que gera respostas baseadas no AWS Query (ou baseadas em XML), ela pode não ser compatíveis com o protocolo AWS JSON ou CBOR. Se você encontrar algum problema, entre em contato com o AWS Support.
Caso eu já esteja usando a versão mais recente do AWS SDK, mas minha solução de código aberto não é compatível com os formatos JSON ou CBOR, o que devo fazer?
Você precisa alterar a versão do seu SDK para uma versão anterior. Consulte a seção Qual é o procedimento para começar a usar os protocolos mais recentes para o CloudWatch? e selecione uma versão anterior à listada. Se você mudar para a versão anterior do SDK da AWS, as APIs do CloudWatch usarão o protocolo AWS Query.
Quais regiões são compatíveis com os protocolos AWS JSON e CBOR usados nas APIs do CloudWatch?
O CloudWatch fornece suporte aos protocolos AWS JSON e CBOR em todas as regiões da AWS nas quais o CloudWatch está disponível.
Quais melhorias relacionadas à latência posso esperar ao atualizar para as versões especificadas do AWS SDK para o CloudWatch usando os protocolos mais recentes?
O protocolo JSON e o protocolo CBOR oferecem latência e uso de CPU até 80% menores em comparação com o protocolo AWS Query. Ambos os protocolos são até 20% mais eficientes no uso de largura de banda da rede.
O protocolo AWS Query será descontinuado?
O protocolo AWS Query continuará sendo compatível. Você pode continuar a usar o protocolo AWS Query desde que a versão do SDK do AWS seja anterior à listada em Qual é o procedimento para começar a usar os protocolos mais recentes para o CloudWatch?.
Em qual local é possível encontrar mais informações sobre os protocolos AWS JSON e Smithy RPC v2 CBOR?
Você pode encontrar mais informações sobre o protocolo AWS JSON 1.1
Para obter mais informações sobre solicitações da API do CloudWatch, consulte Making API Requests no Guia de referência da API do CloudWatch.