Perguntas frequentes sobre os protocolos com suporte por parte do CloudWatch - Amazon CloudWatch

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 e Smithy RPC v2 CBOR. Esses protocolos têm melhor performance que o AWS Query, utilizado anteriormente pelos SDKs e CLIs do CloudWatch. O AWS SDKs priorizarão o protocolo com melhor performance para cada linguagem.

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.

Suporte a protocolos do cliente do SDK
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 na documentação do Smithy e sobre o CBOR em protocolo AWS RPC v2 CBOR na documentação do Smithy.

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.