SDK Java do Azure Cosmos DB for NoSQL (herdado): notas de versão e recursos
APLICA-SE A: NoSQL
- SDK v3 do .NET
- SDK do .NET v2
- SDK v2 do .NET Core
- SDK do Feed de Alterações do .NET v2
- Node.js
- SDK do Java v4
- SDK do Java Síncrono v2
- SDK do Java Assíncrono v2
- Spring Data v2
- Spring Data v3
- Spring Data v5
- Python
- Go
- REST
- Provedor de recursos REST
- SQL
- Executor em massa – .NET v2
- Executor em massa – Java
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 emIllegalStateException
- 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 comoServiceUnavailable
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
- 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 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
- Implementação de 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 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.