SDK Java do Azure Cosmos DB for NoSQL (herdado): notas de versão e recursos

APLICA-SE A: NoSQL

Este artigo aborda o SDK do Java v2 do Azure Cosmos DB Sync para a API para NoSQL. Essa API só dá suporte a operações síncronas.

Importante

Esse não é o SDK de Java mais recente para Azure Cosmos DB! É altamente recomendável usar o SDK v4 Java do Azure Cosmos DB no seu projeto. Para atualizar, siga as instruções no guia Migrar para SDK do Java v4 do Azure Cosmos DB e o guia Reator vs RxJava.

Aviso

A partir de 29 de fevereiro de 2024, o SDK do Java de Sincronização do Azure Cosmos DB v2.x foi desativado. O Azure Cosmos DB não fornece mais manutenção ou suporte para este SDK após a desativação. Siga as instruções aqui para migrar para o SDK do Java v4 do Azure Cosmos DB.

Links
Baixe o SDK Maven
Documentação da API Documentação de referência de API Java
Contribuir para o SDK GitHub
Introdução Introdução ao SDK do Java
Tutorial do aplicativo Web Desenvolvimento de aplicativos Web com o Azure Cosmos DB
runtime mínimo com suporte Java Development Kit (JDK) 7 +

Notas de versão

Aqui estão as notas de versão de cada versão do SDK.

2.6.5

  • Dependência de teste com.google.guava/guava removida devido a vulnerabilidades de segurança
  • Dependência com.fasterxml.jackson.core/jackson-databind atualizada para 2.14.0
  • Dependência commons-codec/commons-codec atualizada para 1.15
  • Dependência org.json/json atualizada para 20180130

2.6.4

  • Correção da política de repetição para tempos limite de leitura

2.6.3

  • Correção de uma política de repetição quando GoneException está encapsulado em IllegalStateException - essa alteração é necessária para garantir que o cache do gateway seja atualizado em 410 para que o conector do Spark (para Spark 2.4) possa usar uma política de repetição personalizada para permitir que as consultas tenham sucesso durante as divisões de partição

2.6.2

  • Foi adicionada uma nova política de repetição para realizar uma nova tentativa quando ocorrem os tempos limite de leitura
  • Dependência com.fasterxml.jackson.core/jackson-databind atualizada para 2.9.10.8
  • Dependência org.apache.httpcomponents/httpclient atualizada para 4.5.13

2.6.1

  • Corrigido um bug no tratamento de uma consulta por meio da interoperabilidade de serviço.

2.6.0

  • Adicionado suporte para consulta ao feed de alterações com base em um ponto no tempo.

2.5.1

  • Corrige o problema de cache de partição primária na consulta documentCollection.

2.5.0

  • Suporte adicionado para configuração personalizada de nova tentativa de 449.

2.4.7

  • Corrige o problema de tempo limite do pool de conexões.
  • Corrige a atualização do token de autenticação em novas tentativas internas.

2.4.6

  • Marca de política de réplica correta atualizada do lado do cliente em databaseAccount e leituras feitas na configuração de databaseAccount do cache.

2.4.5

  • Se o usuário fornecer pkRangeId, esta versão evitará a repetição em caso de erro de intervalo de chaves de partição inválida

2.4.4

  • Atualizações otimizadas do cache do intervalo da chave de partição.
  • Corrige o cenário em que o SDK não tem a relação de divisão da partição do servidor e resulta na atualização incorreta dos caches de roteamento do lado do cliente.

2.4.2

  • Atualizações otimizadas do cache de coleção.

2.4.1

  • Adicionado suporte para recuperar a mensagem de exceção interna da cadeia de caracteres de diagnóstico de solicitação.

2.4.0

  • Introduzida a API de versão em PartitionKeyDefinition.

2.3.0

  • Adicionado suporte de tempo limite separado para o modo direto.

2.2.3

  • Consumindo mensagem de erro nula do serviço e produzindo exceção do cliente do documento.

2.2.2

  • Melhoria na conexão do soquete, adicionando true ao padrão SoKeepAlive.

2.2.0

  • Adicionado suporte à cadeia de caracteres de diagnóstico de solicitação.

2.1.3

  • Corrigido o bug no PartitionKey para Hash V2.

2.1.2

  • Adicionado suporte para índices compostos.
  • Corrigido o bug no gerenciador de ponto de extremidade global para forçar a atualização.
  • Corrigido bug para operações de upsert com pré-condições no modo direto.

2.1.1

  • Corrigido o bug no cache do endereço do gateway.

2.1.0

  • Suporte a gravações de várias regiões adicionado para o modo direto.
  • Adicionado suporte para tratamento IOExceptions lançado como ServiceUnavailable exceções, de um proxy.
  • Corrigido um bug na política de repetição de descoberta do ponto de extremidade.
  • Corrigido um bug para garantir que exceções de ponteiro nulo não sejam geradas em BaseDatabaseAccountConfigurationProvider.
  • Corrigido um bug para garantir que QueryIterator não retorne nulos.
  • Corrigido um bug para garantir que PartitionKey grande seja permitido.

2.0.0

  • Suporte a gravações de várias regiões adicionado para o modo de gateway.

1.16.4

  • Corrigido um bug nos intervalos de chave de partição de leitura para uma consulta.

1.16.3

  • Corrigido um bug no tamanho do cabeçalho do token de continuação de configuração no modo DirectHttps.

1.16.2

  • Adicionado suporte a failover de streaming.
  • Adicionado suporte para metadados personalizados.
  • Lógica de tratamento de sessão aprimorada.
  • Corrigido um bug no cache de intervalo de chave de partição.
  • Corrigido um NullPointerException bug (NPE) no modo direto.

1.16.1

  • Adição de suporte para o Índice Exclusivo.
  • Adição de suporte para limitação do tamanho do token de continuação nas opções de feed.
  • Correção de bug na Serialização JSON (carimbo de data/hora).
  • Correção de bug na Serialização JSON (enum).
  • Atualização da dependência com.fasterxml.jackson.core:jackson-databind para o 2.9.5.

1.16.0

  • Melhoria do Pool de Conexões para o Modo Direto.
  • Melhoria aprimorada da pré-busca para consulta de partição cruzada nonorderby.
  • Melhoria da geração de UUID.
  • Melhoria da lógica de consistência da Sessão.
  • Adição de suporte para multipolígono.
  • Adição de suporte para Estatísticas de Intervalo de Chaves de Partição para a Coleção.
  • Correção de bug no Suporte a várias regiões.

1.15.0

1.14.0

  • Alterações internas para bibliotecas de amigos da Microsoft.

1.13.0

  • Corrigido um problema na leitura de intervalos de chaves de partição única.
  • Corrigido um problema na análise do ResourceID que afeta o banco de dados com nomes curtos.
  • Corrigido um problema causado pela codificação da chave de partição.

1.12.0

  • Correções de bugs críticos para solicitar processamento durante divisões de partição.
  • Corrigido um problema com os níveis de consistência Strong e BoundedStaleness.

1.11.0

  • Adição de suporte a um novo nível de consistência chamado ConsistentPrefix.
  • Corrigido um bug na leitura da coleção no modo de sessão.

1.10.0

  • Suporte habilitado para coleção particionada com 2.500 RU/s e escala em incrementos de 100 RU/s.
  • Corrige um bug no assembly nativo, que pode causar a exceção NullRef em algumas consultas.

1.9.6

  • Corrigido um bug na configuração do mecanismo de consulta que pode causar exceções para consultas no modo Gateway.
  • Correção de alguns bugs no contêiner de sessão que podem causar uma exceção "Recurso proprietário não encontrado" para solicitações imediatamente após a criação da coleção.

1.9.5

  • Suporte adicionado para consultas de agregação (COUNT, MIN, MAX, SUM e AVG).
  • Adicionado suporte para alteração de feed.
  • Adicionado suporte para informações de cota de coleção por meio de RequestOptions.setPopulateQuotaInfo.
  • Foi adicionado suporte para o log de script de procedimento armazenado por meio de RequestOptions.setScriptLoggingEnabled.
  • Corrigido um bug em que a consulta no modo DirectHttps pode parar de responder ao encontrar falhas de limitação.
  • Corrigido um bug no modo de sessão de consistência.
  • Corrige um bug que pode causar NullReferenceException em HttpContext quando a taxa de solicitação é alta.
  • Desempenho aprimorado de modo DirectHttps.

1.9.4

  • Acréscimo de suporte a proxy com base em instância simples do cliente com API ConnectionPolicy.setProxy().
  • Adição da API DocumentClient.close() para fechar corretamente uma instância de DocumentClient.
  • Melhor desempenho de consulta no modo de conectividade direta, derivando o plano de consulta do assembly nativo em vez do Gateway.
  • Defina FAIL_ON_UNKNOWN_PROPERTIES = false para que os usuários não precisem definir JsonIgnoreProperties em seu POJO (Plain Old Java Object).
  • Registro em log refatorado para usar SLF4J.
  • Alguns outros bugs corrigidos no leitor de consistência.

1.9.3

  • Correção de um erro no gerenciamento de conexão para evitar perdas de conexão no modo de conectividade direta.
  • Corrigido um bug na consulta TOP em que ela pode lançar a exceção NullReference.
  • Desempenho aprimorado reduzindo o número de chamadas de rede para os caches internos.
  • Adicionado código de status, ActivityID e URI de solicitação em DocumentClientException para melhor solução de problemas.

1.9.2

  • Correção de um problema no gerenciamento de conexão para estabilidade.

1.9.1

  • Adicionado suporte para o nível de consistência BoundedStaleness.
  • Adicionado suporte para conectividade direta para operações CRUD para coleções particionadas.
  • Corrigido um erro na consulta de um banco de dados com SQL.
  • Corrigido um bug no cache de sessão em que o token de sessão pode ser definido incorretamente.

1.9.0

  • Adicionado suporte para várias consultas paralelas de partição.
  • Adição de suporte a consultas TOP/ORDER BY de coleções particionadas.
  • Adicionado suporte para consistência forte.
  • Adicionado suporte para solicitações com base em nome ao usar a conectividade direta.
  • Corrigido para deixar o ActivityId consistente em todas as tentativas de solicitação.
  • Corrigido um erro relacionado ao cache de sessão ao recriar uma coleção com o mesmo nome.
  • Adicionado Polygon e LineString DataTypes ao especificar a política de indexação de coleção para consultas espaciais de isolamento geográfico.
  • Problemas corrigidos com Java Doc para Java 1.8.

1.8.1

  • Um bug foi corrigido em PartitionKeyDefinitionMap para armazenar as coleções de partição única em cache e para não fazer solicitações extras de chave de partição de busca.
  • Um bug foi corrigido para não tentar novamente quando um valor de chave de partição incorreto for fornecido.

1.8.0

  • Suporte adicionado para contas de banco de dados de várias regiões.
  • Suporte adicionado para repetição automática em solicitações limitadas, com opções para personalizar o número máximo de repetições e o tempo de espera máximo de repetição. Para obter mais informações, consulte RetryOptions e ConnectionPolicy.getRetryOptions().
  • IPartitionResolver preterido com base no código de particionamento personalizado. Use coleções particionadas para maior armazenamento e taxa de transferência.

1.7.1

  • Adicionado suporte à política de repetição para limitação.

1.7.0

  • Adicionado suporte a TTL (tempo de vida) para documentos.

1.6.0

1.5.1

  • Corrigido um bug no HashPartitionResolver para gerar valores de hash em little-endian para serem consistentes com outros SDKs (kits de desenvolvimento de software).

1.5.0

  • Adicionar resolvedores de hash e intervalo para ajudar com a fragmentação de arquivos em várias partições.

1.4.0

  • Implementar o Upsert. Novos métodos upsertXXX adicionados para dar suporte ao recurso Upsert.
  • Implementar o roteamento com base em ID. Nenhuma alteração pública de API, todas as alterações são internas.

1.3.0

  • Versão ignorada para alinhar os números de versão com outros SDKs

1.2.0

  • Suporta índice geoespacial.
  • Valida a propriedade de ID de todos os recursos. As IDs dos recursos não podem conter ?caracteres , /, #, \, ou terminar com um espaço.
  • Adiciona o novo cabeçalho "andamento de transformação do índice" ao ResourceResponse.

1.1.0

  • Implementa a política de indexação V2

1.0.0

  • SDK DO GA

Datas de lançamento e desativação

A Microsoft notifica pelo menos 12 meses antes de desativar um SDK, a fim de realizar uma transição tranquila para uma versão mais recente/com suporte. Novos recursos e funcionalidade e otimizações são adicionados apenas ao SDK atual. Recomendamos que você sempre atualize para a versão mais recente do SDK o mais cedo possível.

Aviso

Após 30 de maio de 2020, o Azure Cosmos DB não fará mais correções de bugs, adicionará novos recursos e fornecerá suporte às versões 1.x do SDK do Java do Azure Cosmos DB para API para NoSQL. Se você preferir não fazer a atualização, as solicitações enviadas da versão 1.x do SDK continuarão a ser atendidas pelo serviço Azure Cosmos DB.

Após 29 de fevereiro de 2016, o Azure Cosmos DB não faz mais correções de bug, não adiciona novos recursos nem oferece suporte às versões 0.x do SDK do Java do Azure Cosmos DB para a API do NoSQL. Se você preferir não fazer a atualização, as solicitações enviadas da versão 0.x do SDK continuarão sendo atendidas pelo serviço Azure Cosmos DB.

Versão Data de lançamento Data de desativação
2.6.1 17 de dezembro de 2020 29 de fevereiro de 2024
2.6.0 16 de julho de 2020 29 de fevereiro de 2024
2.5.1 03 de junho de 2020 29 de fevereiro de 2024
2.5.0 12 de maio de 2020 29 de fevereiro de 2024
2.4.7 Fev 20, 2020 29 de fevereiro de 2024
2.4.6 Jan 24, 2020 29 de fevereiro de 2024
2.4.5 Nov 10, 2019 29 de fevereiro de 2024
2.4.4 Out 24, 2019 29 de fevereiro de 2024
2.4.2 Set 26, 2019 29 de fevereiro de 2024
2.4.1 Jul 18, 2019 29 de fevereiro de 2024
2.4.0 Mai 04, 2019 29 de fevereiro de 2024
2.3.0 Abr 24, 2019 29 de fevereiro de 2024
2.2.3 Abr 16, 2019 29 de fevereiro de 2024
2.2.2 Abr 05, 2019 29 de fevereiro de 2024
2.2.0 Mar 27, 2019 29 de fevereiro de 2024
2.1.3 Mar 13, 2019 29 de fevereiro de 2024
2.1.2 Mar 09, 2019 29 de fevereiro de 2024
2.1.1 Dez 13, 2018 29 de fevereiro de 2024
2.1.0 Nov 20, 2018 29 de fevereiro de 2024
2.0.0 21 de setembro de 2018 29 de fevereiro de 2024
1.16.4 10 de setembro de 2018 Mai 30, 2020
1.16.3 9 de setembro de 2018 Mai 30, 2020
1.16.2 29 de junho de 2018 Mai 30, 2020
1.16.1 16 de maio de 2018 Mai 30, 2020
1.16.0 15 de março de 2018 Mai 30, 2020
1.15.0 14 de novembro de 2017 Mai 30, 2020
1.14.0 28 de outubro de 2017 Mai 30, 2020
1.13.0 25 de agosto de 2017 Mai 30, 2020
1.12.0 11 de julho de 2017 Mai 30, 2020
1.11.0 10 de maio de 2017 Mai 30, 2020
1.10.0 11 de março de 2017 Mai 30, 2020
1.9.6 21 de fevereiro de 2017 Mai 30, 2020
1.9.5 31 de janeiro de 2017 Mai 30, 2020
1.9.4 24 de novembro de 2016 Mai 30, 2020
1.9.3 30 de outubro de 2016 Mai 30, 2020
1.9.2 28 de outubro de 2016 Mai 30, 2020
1.9.1 26 de outubro de 2016 Mai 30, 2020
1.9.0 03 de outubro de 2016 Mai 30, 2020
1.8.1 30 de junho de 2016 Mai 30, 2020
1.8.0 14 de junho de 2016 Mai 30, 2020
1.7.1 30 de abril de 2016 Mai 30, 2020
1.7.0 27 de abril de 2016 Mai 30, 2020
1.6.0 29 de março de 2016 Mai 30, 2020
1.5.1 31 de dezembro de 2015 Mai 30, 2020
1.5.0 4 de dezembro de 2015 Mai 30, 2020
1.4.0 5 de outubro de 2015 Mai 30, 2020
1.3.0 5 de outubro de 2015 Mai 30, 2020
1.2.0 5 de agosto de 2015 Mai 30, 2020
1.1.0 9 de julho de 2015 Mai 30, 2020
1.0.1 12 de maio de 2015 Mai 30, 2020
1.0.0 7 de abril de 2015 Mai 30, 2020
0.9.5-prelease 9 de março de 2015 29 de fevereiro de 2016
0.9.4-prelease 17 de fevereiro de 2015 29 de fevereiro de 2016
0.9.4-prelease 13 de janeiro de 2015 29 de fevereiro de 2016
0.9.2-prelease 19 de dezembro de 2014 29 de fevereiro de 2016
0.9.1-prelease 19 de dezembro de 2014 29 de fevereiro de 2016
0.9.0-prelease 10 de dezembro de 2014 29 de fevereiro de 2016

Perguntas frequentes

Como serei notificado sobre a desativação do SDK?

A Microsoft enviará uma notificação com 12 meses de antecedência informando sobre o fim do suporte para o SDK a ser desativado, para facilitar uma transição suave para um SDK com suporte. Você será notificado por meio de vários canais de comunicação: o portal do Azure, as atualizações do Azure e a comunicação direta com os administradores de serviços atribuídos.

Durante o período de 12 meses, posso criar aplicativos usando um SDK do Azure Cosmos DB que será desativado?

Sim, durante o período de notificação de 12 meses, você poderá criar, implantar e modificar aplicativos usando o SDK do Azure Cosmos DB que será desativado. Recomendamos que você migre para uma versão do SDK do Azure Cosmos DB mais recente com suporte durante o período de notificação de 12 meses, conforme o necessário.

Após a data de desativação, o que acontece com os aplicativos que usam o SDK do Azure Cosmos DB sem suporte?

Após a data de desativação, o Azure Cosmos DB não fará mais correções de bug, não adicionará novos recursos nem dará suporte às versões desativadas do SDK. Se você preferir não fazer a atualização, as solicitações enviadas das versões desativadas do SDK continuarão sendo atendidas pelo serviço Azure Cosmos DB.

Quais versões do SDK terão os recursos e as atualizações mais recentes?

Os novos recursos e atualizações serão adicionados somente à última versão secundária da última versão principal do SDK com suporte. Recomendamos que você sempre use a última versão para aproveitar os novos recursos, os aprimoramentos de desempenho e as correções de bug. Se você estiver usando uma versão antiga e não desativada do SDK, suas solicitações para o Azure Cosmos DB continuarão a funcionar, mas você não terá acesso a nenhuma funcionalidade nova.

O que fazer se eu não conseguir atualizar meu aplicativo antes da data limite?

Recomendamos atualizar o mais rápido possível para o SDK mais recente. Depois que um SDK for marcado para desativação, você terá 12 meses para atualizar seu aplicativo. Se você não conseguir fazer a atualização até data de desativação, as solicitações enviadas das versões desativadas do SDK continuarão a ser atendidas pelo Azure Cosmos DB, para que os aplicativos em execução continuem a funcionar. No entanto, o Azure Cosmos DB não fará mais correções de bug, não adicionará novos recursos nem dará suporte às versões desativadas do SDK.

Se você tem um plano de suporte e precisa de suporte técnico, entre em contato conosco abrindo um tíquete de suporte.

Como solicitar que recursos sejam adicionados a um SDK ou ao conector?

Os novos recursos nem sempre são adicionados a cada SDK ou conector imediatamente. Se não houver suporte para um recurso que você gostaria de adicionar, adicione comentários ao nosso fórum da comunidade.