SDK Java do Azure Cosmos DB para NoSQL (legado): Notas de versão e recursos

APLICA-SE A: NoSQL

Este artigo aborda o SDK Java v2 do Azure Cosmos DB Sync para a API para NoSQL. Esta API suporta apenas operações síncronas.

Importante

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

Aviso

Em 29 de fevereiro de 2024, o SDK Java do Azure Cosmos DB Sync v2.x será desativado. O Azure Cosmos DB deixará de fornecer mais manutenção e suporte para este SDK após a desativação. Siga as instruções aqui para migrar para o SDK Java v4 do Azure Cosmos DB.

Ligações
SDK Baixar Maven
Documentação da API Documentação de referência da API Java
Contribua para o SDK GitHub
Introdução Introdução ao Java SDK
Tutorial do aplicativo Web Desenvolvimento de aplicações Web com o Azure Cosmos DB
Tempo de execução mínimo suportado Kit de desenvolvimento Java (JDK) 7+

Notas de versão

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

2.6.5

  • Dependência com.google.guava/guava de teste 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

  • Corrigida a política de repetição para tempos limite de leitura

2.6.3

  • Corrigida uma política de repetição quando GoneException encapsulada - IllegalStateException essa alteração é necessária para garantir que o cache do Gateway seja atualizado no 410 para que o conector Spark (para o Spark 2.4) possa usar uma política de repetição personalizada para permitir que as consultas sejam bem-sucedidas durante as divisões de partição

2.6.2

  • Adicionada uma nova política de repetição para repetir em 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 através da interoperabilidade de serviço.

2.6.0

  • Adicionado suporte para consultar o feed de alterações a partir do point-in-time.

2.5.1

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

2.5.0

  • Adicionado suporte para configuração personalizada de repetição 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 tentativas internas.

2.4.6

  • Atualizou a tag de política de réplica correta do lado do cliente no databaseAccount e fez com que a configuração databaseAccount fosse lida do cache.

2.4.5

  • Se o usuário fornecer pkRangeId, esta versão evita repetir o erro de intervalo de chaves de partição inválida

2.4.4

  • Atualizações otimizadas do cache do intervalo de chaves de partição.
  • Corrige o cenário em que o SDK não aceita a dica de divisão de 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

  • Introduziu 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 de cliente de documento.

2.2.2

  • Melhoria da conexão de soquete, adicionando o padrão SoKeepAlive true.

2.2.0

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

2.1.3

  • Erro corrigido em PartitionKey do Hash V2.

2.1.2

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

2.1.1

  • Corrigido bug no cache de endereços do gateway.

2.1.0

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

2.0.0

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

1.16.4

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

1.16.3

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

1.16.2

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

1.16.1

  • Adicionado suporte para Unique Index.
  • Adicionado suporte para limitar o tamanho do token de continuação nas opções de feed.
  • Corrigido um bug na serialização Json (carimbo de data/hora).
  • Corrigido um bug no Json Serialization (enum).
  • Dependência em com.fasterxml.jackson.core:jackson-databind atualizada para 2.9.5.

1.16.0

  • Pool de conexões aprimorado para o modo direto.
  • Melhoria da pré-busca para consulta de partição cruzada nonorderby.
  • Geração de UUID melhorada.
  • Lógica de consistência de sessão melhorada.
  • Adicionado suporte para multipolygon.
  • Adicionado suporte para Partition Key Range Statistics for Collection.
  • Corrigido um bug no suporte a várias regiões.

1.15.0

  • Melhor desempenho de serialização Json.
  • Esta versão do SDK requer a versão mais recente do Emulador do Azure Cosmos DB.

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 ResourceID que afetava 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

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

1.10.0

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

1.9.6

  • Corrigido um bug na configuração do mecanismo de consulta que poderia causar exceções para consultas no modo Gateway.
  • Corrigidos alguns bugs no contêiner de sessão que poderiam 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

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

1.9.4

  • Adicionado suporte de proxy simples baseado em instância de cliente com a API ConnectionPolicy.setProxy().
  • Adicionada API DocumentClient.close() para fechar corretamente uma instância 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 Plain Old Java Object (POJO).
  • Log refatorado para usar SLF4J.
  • Corrigido alguns outros bugs no leitor de consistência.

1.9.3

  • Corrigido um bug no gerenciamento de conexões para evitar vazamentos de conexão no modo de conectividade direta.
  • Corrigido um bug na consulta TOP onde poderia lançar a exceção NullReference.
  • Melhor desempenho reduzindo o número de chamadas de rede para os caches internos.
  • Adicionado código de status, ActivityID e Request URI em DocumentClientException para melhor solução de problemas.

1.9.2

  • Corrigido um problema no gerenciamento de conexões 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 bug na consulta de um banco de dados com SQL.
  • Corrigido um bug no cache de sessão em que o token de sessão podia estar definido incorretamente.

1.9.0

  • Adicionado suporte para consultas paralelas entre partições.
  • Adicionado suporte para consultas TOP/ORDER BY para coleções particionadas.
  • Adicionado suporte para forte consistência.
  • Adicionado suporte para solicitações baseadas em nome ao usar conectividade direta.
  • Corrigido para fazer com que o ActivityId permaneça consistente em todas as tentativas de solicitação.
  • Corrigido um bug 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 cerca geográfica.
  • Corrigidos problemas com o Java Doc for Java 1.8.

1.8.1

  • Corrigido um bug em PartitionKeyDefinitionMap para armazenar em cache coleções de partição única e não fazer solicitações extras de chave de partição de busca.
  • Corrigido um bug para não repetir quando um valor de chave de partição incorreto é fornecido.

1.8.0

  • Adicionado o suporte para contas de banco de dados de várias regiões.
  • Adicionado suporte para repetição automática em solicitações limitadas com opções para personalizar o máximo de tentativas e o tempo máximo de espera de novas tentativas. Para obter mais informações, consulte RetryOptions e ConnectionPolicy.getRetryOptions().
  • Código de particionamento personalizado baseado em IPartitionResolver preterido. 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 de taxa.

1.7.0

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

1.6.0

  • Implementei coleções particionadas e níveis de desempenho definidos pelo usuário.

1.5.1

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

1.5.0

  • Adicione as resoluções Hash e Partição de intervalo para ajudar nas aplicações de fragmentação em várias partições.

1.4.0

  • Implementar Upsert. Novos métodos upsertXXX adicionados para suportar o recurso Upsert.
  • Implemente o roteamento baseado em ID. Nenhuma alteração de API pública, todas as alterações internas.

1.3.0

  • Versão ignorada para alinhar o número da versão com outros SDKs

1.2.0

  • Suporta Índice Geoespacial.
  • Valida a propriedade ID para todos os recursos. As ids para recursos não podem conter ?, , , #/\, caracteres ou terminar com um espaço.
  • Adiciona o novo cabeçalho "progresso da transformação do índice" ao ResourceResponse.

1.1.0

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

1.0.0

  • SDK em Disponibilidade Geral

Datas de lançamento e aposentadoria

A Microsoft fornece notificação com pelo menos 12 meses de antecedência da desativação de um SDK para facilitar a transição para uma versão mais recente/suportada. Novos recursos, funcionalidades 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 Java do Azure Cosmos DB para API para NoSQL. Se preferir não atualizar, o serviço Azure Cosmos DB continua a servir os pedidos enviados das versões 1.x do SDK.

Após 29 de fevereiro de 2016, o Azure Cosmos DB não fará mais correções de bugs, adicionará novos recursos e fornecerá suporte às versões 0.x do SDK Java do Azure Cosmos DB para API para NoSQL. Se preferir não atualizar, as solicitações enviadas da versão 0.x do SDK continuarão a ser atendidas pelo serviço Azure Cosmos DB.

Versão Data de Lançamento Data de Extinção
2.6.1 Dez 17, 2020 Fev 29, 2024
2.6.0 16 de julho de 2020 Fev 29, 2024
2.5.1 3 de junho de 2020 Fev 29, 2024
2.5.0 12 de maio de 2020 Fev 29, 2024
2.4.7 Fev 20, 2020 Fev 29, 2024
2.4.6 24 de janeiro de 2020 Fev 29, 2024
2.4.5 10 de novembro, 2019 Fev 29, 2024
2.4.4 24 de outubro, 2019 Fev 29, 2024
2.4.2 26 de setembro, 2019 Fev 29, 2024
2.4.1 Julho 18, 2019 Fev 29, 2024
2.4.0 Maio 04, 2019 Fev 29, 2024
2.3.0 Abr 24, 2019 Fev 29, 2024
2.2.3 Abr 16, 2019 Fev 29, 2024
2.2.2 Abr 05, 2019 Fev 29, 2024
2.2.0 27 de março, 2019 Fev 29, 2024
2.1.3 13 de março, 2019 Fev 29, 2024
2.1.2 09 de março, 2019 Fev 29, 2024
2.1.1 Dez 13, 2018 Fev 29, 2024
2.1.0 20 de novembro, 2018 Fev 29, 2024
2.0.0 Setembro 21, 2018 Fev 29, 2024
1.16.4 10 de setembro de 2018 30 de maio de 2020
1.16.3 09 de setembro de 2018 30 de maio de 2020
1.16.2 Junho 29, 2018 30 de maio de 2020
1.16.1 16 de maio de 2018 30 de maio de 2020
1.16.0 Março 15, 2018 30 de maio de 2020
1.15.0 14 de novembro, 2017 30 de maio de 2020
1.14.0 28 de outubro, 2017 30 de maio de 2020
1.13.0 Agosto 25, 2017 30 de maio de 2020
1.12.0 11 de julho de 2017 30 de maio de 2020
1.11.0 10 de maio de 2017 30 de maio de 2020
1.10.0 11 de março de 2017 30 de maio de 2020
1.9.6 Fevereiro 21, 2017 30 de maio de 2020
1.9.5 Janeiro 31, 2017 30 de maio de 2020
1.9.4 Novembro 24, 2016 30 de maio de 2020
1.9.3 Outubro 30, 2016 30 de maio de 2020
1.9.2 Outubro 28, 2016 30 de maio de 2020
1.9.1 Outubro 26, 2016 30 de maio de 2020
1.9.0 Outubro 03, 2016 30 de maio de 2020
1.8.1 Junho 30, 2016 30 de maio de 2020
1.8.0 Junho 14, 2016 30 de maio de 2020
1.7.1 Abril 30, 2016 30 de maio de 2020
1.7.0 Abril 27, 2016 30 de maio de 2020
1.6.0 Março 29, 2016 30 de maio de 2020
1.5.1 31 de dezembro de 2015 30 de maio de 2020
1.5.0 Dezembro 04, 2015 30 de maio de 2020
1.4.0 Outubro 05, 2015 30 de maio de 2020
1.3.0 Outubro 05, 2015 30 de maio de 2020
1.2.0 Agosto 05, 2015 30 de maio de 2020
1.1.0 Julho 09, 2015 30 de maio de 2020
1.0.1 Maio 12, 2015 30 de maio de 2020
1.0.0 Abril 07, 2015 30 de maio de 2020
0.9.5-prelease 09 de março, 2015 Fevereiro 29, 2016
0.9.4-prelease Fevereiro 17, 2015 Fevereiro 29, 2016
0.9.3-prelease 13 de janeiro de 2015 Fevereiro 29, 2016
0.9.2-prelease Dezembro 19, 2014 Fevereiro 29, 2016
0.9.1-prelease Dezembro 19, 2014 Fevereiro 29, 2016
0.9.0-prelease Dezembro 10, 2014 Fevereiro 29, 2016

Perguntas mais Frequentes

Como vou ser notificado do SDK descontinuado?

A Microsoft dará um aviso com 12 meses de antecedência antes do fim de suporte do SDK descontinuado para permitir uma transição suave para um SDK suportado. Será notificado através de vários canais de comunicação: o portal do Azure, as atualizações do Azure e através de comunicação direta com os administradores atribuídos aos serviços.

Posso criar aplicações com um SDK do Azure Cosmos DB que vai ser descontinuado durante o período de 12 meses?

Sim, poderá criar, implementar e modificar aplicações com o SDK do Azure Cosmos DB que vai ser descontinuado durante o período de aviso de 12 meses. Recomendamos que migre para uma versão suportada mais recente do SDK do Azure Cosmos DB durante o período de aviso de 12 meses, conforme adequado.

Após a data da descontinuação, o que acontece às aplicações que utilizam o SDK do Azure Cosmos DB não suportado?

Após a data de descontinuação, o Azure Cosmos DB deixará de fazer correções de erros, adicionar funcionalidades novas e fornecer suporte às versões descontinuadas do SDK. Se preferir não atualizar, o serviço Azure Cosmos DB continua a servir os pedidos enviados das versões descontinuadas do SDK.

Que versões do SDK terão as mais recentes funcionalidades e atualizações?

As funcionalidades e atualizações novas só vão ser adicionadas à última versão menor da última grande versão do SDK. Recomendamos que utilize sempre a última versão para tirar partido das funcionalidades, das melhorias ao desempenho e das correções de erro mais recentes. Se estiver a utilizar uma versão antiga e ainda em uso do SDK, os pedidos ao Azure Cosmos DB continuarão a funcionar, mas não terá acesso a nenhuma capacidade nova.

O que devo fazer se não conseguir atualizar a minha aplicação antes da data de descontinuação?

Recomendamos que atualize para o último SDK o mais cedo possível. Quando um SDK é marcado para descontinuação, tem 12 meses para atualizar a sua aplicação. Se não conseguir atualizar até à data de descontinuação, os pedidos enviados das versões descontinuadas do SDK continuam a ser servidos pelo Azure Cosmos DB, pelo que as aplicações em execução continuam a funcionar. Contudo, o Azure Cosmos DB deixará de fazer correções de erros, adicionar funcionalidades novas e fornecer suporte às versões descontinuadas do SDK.

Se tiver um plano de suporte e precisar de suporte técnico, preencha um pedido de suporte para nos contactar.

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

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