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

APLICA-SE A: NoSQL

Este é o SDK Java v2 original da Sincronização do Azure Cosmos DB para API para NoSQL que suporta operações síncronas.

Importante

Este não é o SDK Java mais recente do Azure Cosmos DB! Considere utilizar o SDK Java v4 do Azure Cosmos DB para o seu projeto. Para atualizar, siga as instruções no guia Migrate to Azure Cosmos DB Java SDK v4 (Migrar para o SDK Java v4 do Azure Cosmos DB ) e no Guia reactor vs RxJava .

Importante

A 29 de fevereiro de 2024, o SDK Java v2.x da Sincronização do Azure Cosmos DB será descontinuado; o SDK e todas as aplicações que utilizam o SDK continuarão a funcionar; O Azure Cosmos DB deixará simplesmente de fornecer mais manutenção e suporte para este SDK. Recomendamos que siga as instruções acima para migrar para o SDK Java v4 do Azure Cosmos DB.

Ligações
Transferência do SDK Maven
Documentação da API Documentação de referência da API Java
Contribuir para o SDK GitHub
Introdução Introdução ao SDK Java
Tutorial da aplicação Web Desenvolvimento de aplicações Web com o Azure Cosmos DB
Runtime mínimo suportado Java Development Kit (JDK) 7+

Notas de versão

2.6.5

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

2.6.4

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

2.6.3

  • Foi corrigida uma política de repetição quando GoneException está encapsulada – IllegalStateException esta alteração é necessária para garantir que a cache do Gateway é atualizada no 410 para que o conector do Spark (para o Spark 2.4) possa utilizar uma política de repetição personalizada para permitir que as consultas sejam bem-sucedidas durante as divisões de partições

2.6.2

  • Foi adicionada uma nova política de repetição para tentar novamente nos Tempos Limite de Leitura
  • Dependência atualizada com.fasterxml.jackson.core/jackson-databind para 2.9.10.8
  • Dependência atualizada org.apache.httpcomponents/httpclient para 4.5.13

2.6.1

  • Corrigimos um erro no processamento de uma consulta através do interop do serviço.

2.6.0

  • Foi adicionado suporte para consultar o feed de alterações a partir de um ponto anterior no tempo.

2.5.1

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

2.5.0

  • Foi adicionado suporte para a configuração personalizada de repetição 449.

2.4.7

  • Corrige o problema de tempo limite do conjunto de ligações.
  • Corrige a atualização do token de autenticação em repetições internas.

2.4.6

  • Foi atualizada a etiqueta de política de réplica do lado do cliente correta na databaseAccount e fez leituras de configuração databaseAccount a partir da cache.

2.4.5

  • Evite repetir o erro do intervalo de chaves de partição inválido, se o utilizador fornecer pkRangeId.

2.4.4

  • Atualizações otimizadas da cache do intervalo de chaves de partição.
  • Corrige o cenário em que o SDK não entretém a sugestão de divisão de partições do servidor e resulta na atualização incorreta das caches de encaminhamento do lado do cliente.

2.4.2

  • Atualizações otimizadas da cache da coleção.

2.4.1

  • Foi adicionado suporte para obter a mensagem de exceção interna da cadeia de diagnóstico do pedido.

2.4.0

  • Foi introduzida a api de versão em PartitionKeyDefinition.

2.3.0

  • Foi adicionado suporte de tempo limite separado para o modo direto.

2.2.3

  • Consumir uma mensagem de erro nula do serviço e produzir a exceção do cliente do documento.

2.2.2

  • Melhoramento da ligação do socket, adicionando a predefinição SoKeepAlive verdadeiro.

2.2.0

  • Suporte de cadeia de diagnóstico de pedido adicionado.

2.1.3

  • Erro corrigido em PartitionKey do Hash V2.

2.1.2

  • Foi adicionado suporte para índices compostos.
  • Foi corrigido um erro no gestor de pontos finais global para forçar a atualização.
  • Foi corrigido o erro para upserts com pré-condições no modo direto.

2.1.1

  • Foi corrigido o erro na cache de endereços do gateway.

2.1.0

  • Suporte de escrita de várias regiões adicionado para o modo direto.
  • Foi adicionado suporte para processar IOExceptions emitidos como exceções ServiceUnavailable, a partir de um proxy.
  • Foi corrigido um erro na política de repetição de deteção de pontos finais.
  • Foi corrigido um erro para garantir que as exceções de ponteiro nulos não são emitidas em BaseDatabaseAccountConfigurationProvider.
  • Corrigimos um erro para garantir que o QueryIterator não devolve nulos.
  • Foi corrigido um erro para garantir que a PartitionKey grande é permitida

2.0.0

  • Suporte de escrita de várias regiões adicionado para o modo de gateway.

1.16.4

  • Foi corrigido um erro em Intervalos de Chaves de Partição de Leitura para uma consulta.

1.16.3

  • Corrigimos um erro ao definir o tamanho do cabeçalho do token de continuação no modo DirectHttps.

1.16.2

  • Suporte de ativação pós-falha de transmissão em fluxo adicionado.
  • Foi adicionado suporte para metadados personalizados.
  • Lógica de processamento de sessões melhorada.
  • Corrigimos um erro na cache do intervalo de chaves de partição.
  • Corrigimos um erro NPE no modo direto.

1.16.1

  • Foi adicionado suporte para o Índice Exclusivo.
  • Foi adicionado suporte para limitar o tamanho do token de continuação nas opções de feed.
  • Foi corrigido um erro na Serialização Json (carimbo de data/hora).
  • Foi corrigido um erro na Serialização Json (enum).
  • Dependência em com.fasterxml.jackson.core:jackson-databind atualizada para 2.9.5.

1.16.0

  • Conjunto de Ligações melhorado para o Modo Direto.
  • Melhoramento do Prefetch melhorado para a consulta de partição cruzada não ordenada.
  • Geração de UUID melhorada.
  • Lógica de consistência da sessão melhorada.
  • Foi adicionado suporte para o multipólgono.
  • Foi adicionado suporte às Estatísticas do Intervalo de Chaves de Partição para Coleção.
  • Foi corrigido um erro no suporte de várias regiões.

1.15.0

1.14.0

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

1.13.0

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

1.12.0

  • Correções críticas de erros para o processamento de pedidos durante as divisões de partições.
  • Foi corrigido um problema com os níveis de consistência Strong e BoundedStaleness.

1.11.0

  • Foi adicionado suporte para um novo nível de consistência denominado ConsistentPrefix.
  • Corrigimos um erro na coleção de leitura no modo de sessão.

1.10.0

  • Suporte ativado para coleção particionada com até 2500 RU/seg e dimensionamento em incrementos de 100 RU/seg.
  • Foi corrigido um erro na assemblagem nativa que pode causar a exceção NullRef em algumas consultas.

1.9.6

  • Foi corrigido um erro na configuração do motor de consulta que pode causar exceções para consultas no modo de Gateway.
  • Foram corrigidos alguns erros no contentor de sessão que podem causar uma exceção "Recurso do proprietário não encontrado" para pedidos imediatamente após a criação da coleção.

1.9.5

  • Foi adicionado suporte para consultas de agregação (COUNT, MIN, MAX, SUM e AVG). Veja Suporte de agregação.
  • Foi adicionado suporte para o feed de alterações.
  • Foi adicionado suporte para informações de quota de coleção através de RequestOptions.setPopulateQuotaInfo.
  • Foi adicionado suporte para o registo do script de procedimento armazenado através de RequestOptions.setScriptLoggingEnabled.
  • Foi corrigido um erro em que a consulta no modo DirectHttps poderia deixar de responder quando se deparava com falhas de limitação.
  • Corrigimos um erro no modo de consistência da sessão.
  • Foi corrigido um erro que pode causar NullReferenceException em HttpContext quando a taxa de pedidos é elevada.
  • Desempenho melhorado do modo DirectHttps.

1.9.4

  • Foi adicionado suporte de proxy baseado em instâncias de cliente simples com a API ConnectionPolicy.setProxy().
  • Foi adicionada a API DocumentClient.close() para encerrar corretamente a instância do DocumentClient.
  • Melhor desempenho da consulta no modo de conectividade direta ao derivar o plano de consulta da assemblagem nativa em vez do Gateway.
  • Defina FAIL_ON_UNKNOWN_PROPERTIES = falso para que os utilizadores não precisem de definir JsonIgnoreProperties na sua POJO.
  • Registo refatorizado para utilizar o SLF4J.
  • Foram corrigidos outros erros no leitor de consistência.

1.9.3

  • Corrigimos um erro na gestão da ligação para evitar fugas de ligação no modo de conectividade direta.
  • Foi corrigido um erro na consulta TOP em que poderia gerar a exceção NullReference.
  • Melhor desempenho ao reduzir o número de chamadas de rede para as caches internas.
  • Foi adicionado código de estado, ActivityID e URI de Pedido no DocumentClientException para uma melhor resolução de problemas.

1.9.2

  • Foi corrigido um problema na gestão da ligação para estabilidade.

1.9.1

  • Foi adicionado suporte para o nível de consistência BoundedStaleness.
  • Foi adicionado suporte para conectividade direta para operações CRUD para coleções particionadas.
  • Foi corrigido um erro ao consultar uma base de dados com o SQL.
  • Foi corrigido um erro na cache de sessão onde o token de sessão pode ser definido incorretamente.

1.9.0

  • Foi adicionado suporte para consultas paralelas entre partições.
  • Foi adicionado suporte para consultas TOP/ORDER BY para coleções particionadas.
  • Foi adicionado suporte para uma consistência forte.
  • Foi adicionado suporte para pedidos baseados em nomes ao utilizar a conectividade direta.
  • Corrigido para que o ActivityId se mantenha consistente em todas as repetições de pedidos.
  • Corrigimos um erro relacionado com a cache de sessão ao recriar uma coleção com o mesmo nome.
  • Foram adicionados Polygon e LineString DataTypes ao especificar a política de indexação de coleções para consultas espaciais de geo-esgrima.
  • Foram corrigidos problemas com o Java Doc para Java 1.8.

1.8.1

  • Foi corrigido um erro em PartitionKeyDefinitionMap para colocar em cache coleções de partições individuais e não fazer pedidos de chave de partição de obtenção extra.
  • Foi corrigido um erro para não repetir quando é fornecido um valor de chave de partição incorreto.

1.8.0

  • Foi adicionado o suporte para contas de bases de dados de várias regiões.
  • Foi adicionado suporte para repetição automática em pedidos limitados com opções para personalizar as tentativas de repetição máximas e o tempo máximo de espera de repetição. Veja RetryOptions e ConnectionPolicy.getRetryOptions().
  • Código de criação de partições personalizado baseado em IPartitionResolver preterido. Utilize coleções particionadas para um maior armazenamento e débito.

1.7.1

  • Foi adicionado suporte de política de repetição para limitação de taxa.

1.7.0

  • Foi adicionado suporte de tempo de vida (TTL) para documentos.

1.6.0

1.5.1

  • Foi corrigido um erro em HashPartitionResolver para gerar valores hash em little-endian para ser consistente com outros SDKs.

1.5.0

  • Adicione resoluções de partições de Intervalo hash & para ajudar com a fragmentação de aplicações em várias partições.

1.4.0

  • Implementar Upsert. Novos métodos upsertXXX adicionados para suportar a funcionalidade Upsert.
  • Implemente o Encaminhamento Baseado em ID. Sem alterações à 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 o Índice Geoespacial
  • Valida a propriedade ID para todos os recursos. Os IDs dos recursos não podem conter ?, /, #, , carateres ou terminar com um espaço.
  • Adiciona o novo cabeçalho "progresso da transformação do índice" a ResourceResponse.

1.1.0

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

1.0.0

  • SDK em Disponibilidade Geral

Datas de lançamento e de descontinuação

A Microsoft enviará uma notificação com uma antecedência de pelo menos 12 meses antes da descontinuação de um SDK, para tornar a transição para uma versão mais recente/suportada mais suave. As novas funcionalidades e otimizações só são adicionadas ao SDK atual, como tal, recomenda-se que atualize sempre 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 deixará de fazer correções de erros, adicionar novas funcionalidades e fornecer suporte para as 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 deixará de fazer correções de erros, adicionar novas funcionalidades e fornecer suporte para as versões 0.x do SDK Java do Azure Cosmos DB para API para NoSQL. Se preferir não atualizar, os pedidos enviados a partir da versão 0.x do SDK continuarão a ser servidos pelo serviço do Azure Cosmos DB.

Versão Data da versão: Data de Extinçã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 3 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 20 de fevereiro de 2020 29 de fevereiro de 2024
2.4.6 24 de janeiro de 2020 29 de fevereiro de 2024
2.4.5 10 de novembro de 2019 29 de fevereiro de 2024
2.4.4 24 de outubro de 2019 29 de fevereiro de 2024
2.4.2 26 de setembro de 2019 29 de fevereiro de 2024
2.4.1 18 de julho de 2019 29 de fevereiro de 2024
2.4.0 04 de maio de 2019 29 de fevereiro de 2024
2.3.0 24 de abril de 2019 29 de fevereiro de 2024
2.2.3 16 de abril de 2019 29 de fevereiro de 2024
2.2.2 05 de abril de 2019 29 de fevereiro de 2024
2.2.0 27 de mar de 2019 29 de fevereiro de 2024
2.1.3 13 de mar de 2019 29 de fevereiro de 2024
2.1.2 09 de mar de 2019 29 de fevereiro de 2024
2.1.1 13 de dezembro de 2018 29 de fevereiro de 2024
2.1.0 20 de novembro de 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 30 de maio de 2020
1.16.3 9 de setembro de 2018 30 de maio de 2020
1.16.2 29 de junho de 2018 30 de maio de 2020
1.16.1 16 de maio de 2018 30 de maio de 2020
1.16.0 15 de março de 2018 30 de maio de 2020
1.15.0 14 de novembro de 2017 30 de maio de 2020
1.14.0 28 de outubro de 2017 30 de maio de 2020
1.13.0 25 de agosto de 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 21 de fevereiro de 2017 30 de maio de 2020
1.9.5 31 de janeiro de 2017 30 de maio de 2020
1.9.4 24 de novembro de 2016 30 de maio de 2020
1.9.3 30 de outubro de 2016 30 de maio de 2020
1.9.2 28 de outubro de 2016 30 de maio de 2020
1.9.1 26 de outubro de 2016 30 de maio de 2020
1.9.0 3 de outubro de 2016 30 de maio de 2020
1.8.1 30 de junho de 2016 30 de maio de 2020
1.8.0 14 de junho de 2016 30 de maio de 2020
1.7.1 30 de abril de 2016 30 de maio de 2020
1.7.0 27 de abril de 2016 30 de maio de 2020
1.6.0 29 de março de 2016 30 de maio de 2020
1.5.1 31 de dezembro de 2015 30 de maio de 2020
1.5.0 4 de dezembro de 2015 30 de maio de 2020
1.4.0 5 de outubro de 2015 30 de maio de 2020
1.3.0 5 de outubro de 2015 30 de maio de 2020
1.2.0 05 de agosto de 2015 30 de maio de 2020
1.1.0 9 de julho de 2015 30 de maio de 2020
1.0.1 12 de maio de 2015 30 de maio de 2020
1.0.0 7 de abril de 2015 30 de maio de 2020
0.9.5-pré-lançamento 09 de mar de 2015 29 de fevereiro de 2016
0.9.4-pré-lançamento 17 de fevereiro de 2015 29 de fevereiro de 2016
0.9.3-pré-lançamento 13 de janeiro de 2015 29 de fevereiro de 2016
0.9.2-pré-lançamento 19 de dezembro de 2014 29 de fevereiro de 2016
0.9.1-pré-lançamento 19 de dezembro de 2014 29 de fevereiro de 2016
0.9.0-pré-lançamento 10 de dezembro de 2014 29 de fevereiro de 2016

FAQ

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 pedir que as funcionalidades sejam adicionadas a um SDK ou conector?

As novas funcionalidades nem sempre são adicionadas a todos os SDKs ou conectores imediatamente. Se não for suportada uma funcionalidade que gostaria de adicionar, adicione feedback ao nosso fórum da comunidade.

Ver também

Para saber mais sobre o Azure Cosmos DB, consulte a página de serviço do Microsoft Azure Cosmos DB .