Azure Cosmos DB per NoSQL Java SDK (legacy): note sulla versione e risorse
SI APPLICA A: NoSQL
Questo articolo illustra Azure Cosmos DB Sync Java SDK v2 per l'API per NoSQL. Questa API supporta solo operazioni sincrone.
Importante
Questa non corrisponde alla versione più recente di Java SDK per Azure Cosmos DB. È consigliabile usare Azure Cosmos DB Java SDK v4 per il progetto. Per eseguire l'aggiornamento, seguire le istruzioni della guida alla migrazione a Azure Cosmos DB Java SDK v4 e la guida relativa al confronto tra Reactor e RxJava.
Avviso
A partire dal 29 febbraio 2024, Azure Cosmos DB Sync Java SDK v2.x è ora ritirato. Azure Cosmos DB non fornisce più manutenzione o supporto per questo SDK dopo il ritiro. Seguire le istruzioni riportate qui per eseguire la migrazione ad Azure Cosmos DB Java SDK v4.
Collegamenti | |
---|---|
Download dell'SDK | Maven |
Documentazione sull'API | Documentazione di riferimento API Java |
Contribuire all'SDK | GitHub |
Operazioni preliminari | Introduzione a SDK Java |
Esercitazione sull'app Web | Sviluppo di applicazioni Web con Azure Cosmos DB |
Runtime minimo supportato | Java Development Kit (JDK) 7+ |
Note sulla versione
Ecco le note sulla versione per ogni versione dell'SDK.
2.6.5
- Rimozione della dipendenza
com.google.guava/guava
di test a causa di vulnerabilità di sicurezza - Dipendenza aggiornata
com.fasterxml.jackson.core/jackson-databind
alla versione 2.14.0 - Dipendenza aggiornata
commons-codec/commons-codec
alla versione 1.15 - Dipendenza aggiornata
org.json/json
a 20180130
2.6.4
- Correzione dei criteri di ripetizione dei tentativi per i timeout di lettura
2.6.3
- Correzione di un criterio di ripetizione dei tentativi quando
GoneException
viene eseguito il wrapping inIllegalStateException
. Questa modifica è necessaria per assicurarsi che la cache del gateway venga aggiornata su 410, in modo che il connettore Spark (per Spark 2.4) possa usare un criterio di ripetizione dei tentativi personalizzato per consentire l'esito positivo delle query durante le suddivisioni delle partizioni
2.6.2
- Aggiunta di un nuovo criterio di ripetizione dei tentativi per riprovare nei timeout di lettura
- Dipendenza aggiornata
com.fasterxml.jackson.core/jackson-databind
alla versione 2.9.10.8 - Dipendenza aggiornata
org.apache.httpcomponents/httpclient
alla versione 4.5.13
2.6.1
- Correzione di un bug per la gestione di una query tramite l'interoperabilità del servizio.
2.6.0
- Aggiunta del supporto per l'esecuzione di query sul feed di modifiche dal punto nel tempo.
2.5.1
- Risolve il problema della cache delle partizioni primarie nella query documentCollection.
2.5.0
- Aggiunta del supporto per la configurazione personalizzata 449 di ripetizione dei tentativi.
2.4.7
- È stato corretto un problema di timeout del pool di connessioni.
- È stato corretto l'aggiornamento del token di autenticazione per tentativi interni.
2.4.6
- È stato aggiornato il tag dei criteri di replica corretto sul lato client in databaseAccount e sono state effettuate letture della configurazione di databaseAccount dalla cache.
2.4.5
- Se l'utente fornisce pkRangeId, questa versione evita di riprovare in caso di errore dell'intervallo di chiavi di partizione non valido
2.4.4
- Sono stati ottimizzati gli aggiornamenti della cache degli intervalli di chiavi di partizione.
- È stato corretto lo scenario per cui l'SDK non trattiene l'hint di suddivisione della partizione dal server e si verifica quindi un errore nell'aggiornamento delle cache di routing sul lato client.
2.4.2
- Sono stati ottimizzati gli aggiornamenti della cache di raccolta.
2.4.1
- È stato aggiunto il supporto per recuperare il messaggio di eccezione interna generato dalla stringa di diagnostica della richiesta.
2.4.0
- È stata introdotta l'API della versione in PartitionKeyDefinition.
2.3.0
- È stato aggiunto il supporto di un timeout separato per la modalità diretta.
2.2.3
- Viene usato ora il messaggio di errore null dal servizio e viene generata un'eccezione client del documento.
2.2.2
- È stata migliorata la connessione socket ed è stato aggiunto il valore predefinito true per SoKeepAlive.
2.2.0
- È stato aggiunto il supporto per la stringa di diagnostica della richiesta.
2.1.3
- È stato corretto un bug in PartitionKey per hash V2.
2.1.2
- È stato aggiunto il supporto per indici composti.
- È stato corretto un bug in Endpoint Manager globale in modo da forzare l'aggiornamento.
- Correzione del bug per le operazioni upsert con precondizioni in modalità diretta.
2.1.1
- È stato corretto un bug nella cache degli indirizzi gateway.
2.1.0
- Supporto delle scritture in più aree aggiunto per la modalità diretta.
- Aggiunta del supporto per la gestione
IOExceptions
generata comeServiceUnavailable
eccezioni, da un proxy. - Risolto un bug nei criteri di ripetizione dei tentativi di individuazione degli endpoint.
- Correzione di un bug per assicurarsi che le eccezioni del puntatore Null non vengano generate in BaseDatabaseAccountConfigurationProvider.
- Correzione di un bug per assicurarsi che QueryIterator non restituisca valori Null.
- Correzione di un bug per assicurarsi che PartitionKey di grandi dimensioni sia consentito.
2.0.0
- Aggiunta del supporto per le scritture in più aree per la modalità gateway.
1.16.4
- Risolto un bug negli intervalli di chiavi di partizione di lettura per una query.
1.16.3
- Risolto un bug nell'impostazione delle dimensioni dell'intestazione dei token di continuazione in modalità DirectHttps.
1.16.2
- Aggiunta del supporto per il failover di streaming.
- Aggiunta del supporto per i metadati personalizzati.
- Logica di gestione delle sessioni migliorata.
- Correzione di un bug nella cache dell'intervallo di chiavi di partizione.
- Correzione di un
NullPointerException
bug (NPE) in modalità diretta.
1.16.1
- Aggiunta del supporto per indice univoco.
- Aggiunta del supporto per limitare la dimensione del token di continuazione nelle opzioni di feed.
- Correzione di un bug nella serializzazione Json (timestamp).
- Correzione di un bug nella serializzazione Json (enumerazione).
- Dipendenza su com.fasterxml.jackson.core:jackson-databind.aggiornata a 2.9.5.
1.16.0
- Funzionalità migliorata per il pool di connessioni per la modalità diretta.
- Miglioramento del prelettura migliorato per query tra partizioni non ordinate.
- Funzionalità migliorata per la generazione UUID.
- Funzionalità migliorata per la logica di coerenza di sessione.
- Aggiunta di supporto per multipoligoni.
- Aggiunta del supporto per le statistiche dell'intervallo di chiavi di partizione per la raccolta.
- Correzione di un bug in modalità di supporto per più aree.
1.15.0
- Miglioramento delle prestazioni di serializzazione Json.
- Questa versione dell'SDK richiede la versione più recente dell'emulatore di Azure Cosmos DB.
1.14.0
- Modifiche interne per le librerie Friend di Microsoft.
1.13.0
- Risolto un problema durante la lettura di singoli intervalli di chiavi di partizione.
- Risolto un problema nell'analisi di ResourceID che interessa il database con nomi brevi.
- Risolto una problema causato dalla codifica di chiavi di partizione.
1.12.0
- Correzioni di bug importanti per richiedere l'elaborazione durante le suddivisioni delle partizioni.
- Risolto un problema relativo ai livelli di coerenza Strong e BoundedStaleness.
1.11.0
- Aggiunta del supporto per nuovi livelli di coerenza denominati ConsistentPrefix.
- Risolto un bug nella raccolta in modalità di sessione di lettura.
1.10.0
- Supporto abilitato per la raccolta partizionata con valore ridotto di 2.500 UR/s e riduzione con incrementi di 100 UR/s.
- Corregge un bug nell'assembly nativo, che può causare un'eccezione NullRef in alcune query.
1.9.6
- Correzione di un bug nella configurazione del motore di query che potrebbe causare eccezioni per le query in modalità gateway.
- Correzione di alcuni bug nel contenitore di sessioni che potrebbero causare un'eccezione "Risorsa proprietario non trovata" per le richieste immediatamente dopo la creazione della raccolta.
1.9.5
- Aggiunta del supporto per le query di aggregazione (COUNT, MIN, MAX, SUM e AVG).
- Aggiunta del supporto per la modifica del feed.
- Aggiunta del supporto per informazioni sulla quota della raccolta tramite RequestOptions.setPopulateQuotaInfo.
- Aggiunta del supporto per la registrazione dello script della procedura archiviata tramite RequestOptions.setScriptLoggingEnabled.
- Correzione di un bug per cui la query in modalità DirectHttps potrebbe smettere di rispondere quando si verificano errori di limitazione.
- Risoluzione di un bug in modalità di coerenza di sessione.
- Corregge un bug, che potrebbe causare NullReferenceException in HttpContext quando la frequenza delle richieste è elevata.
- Miglioramento delle prestazioni della modalità DirectHttps.
1.9.4
- Aggiunta del supporto del proxy basato su istanza di client semplice con l'API ConnectionPolicy.setProxy().
- Aggiunta dell'API DocumentClient.close() per chiudere correttamente un'istanza di DocumentClient.
- Miglioramento delle prestazioni delle query nella modalità di connettività diretta, tramite derivazione del piano di query dall'assembly nativo invece che dal gateway.
- Impostare FAIL_ON_UNKNOWN_PROPERTIES = false in modo che gli utenti non debbano definire JsonIgnoreProperties nell'oggetto PoJO (Plain Old Java Object).
- Refactoring della registrazione per usare SLF4J.
- Risoluzione di altri bug nel lettore di coerenza.
1.9.3
- Risoluzione di un bug nella gestione della connessione per impedire perdite di connessione nella modalità di connettività diretta.
- Correzione di un bug nella query TOP in cui potrebbe generare un'eccezione NullReference.
- Prestazioni migliorate riducendo il numero di chiamate di rete per le cache interne.
- Aggiunta di codice di stato, ActivityID e URI della richiesta in DocumentClientException per una migliore risoluzione dei problemi.
1.9.2
- Risoluzione di un problema nella gestione della connessione per una migliore stabilità.
1.9.1
- Aggiunta del supporto per il livello di coerenza BoundedStaleness.
- Aggiunta del supporto per la connettività diretta per le operazioni CRUD delle raccolte partizionate.
- Risoluzione di un bug in una query di un database con SQL.
- Correzione di un bug nella cache della sessione in cui il token di sessione potrebbe essere impostato in modo non corretto.
1.9.0
- Aggiunta del supporto per le query in parallelo nelle raccolte partizionate.
- Aggiunta del supporto per le query TOP/ORDER BY nelle raccolte partizionate.
- Aggiunta del supporto per la coerenza assoluta.
- Aggiunta del supporto per le richieste basate su nomi quando si utilizza la connettività diretta.
- Correzione rendere ActivityId coerente tra tutti i tentativi di richiesta.
- Correzione del bug correlato alla cache di sessione quando si ricrea una raccolta con lo stesso nome.
- Aggiunta Polygon e LineString DataTypes quando si specifica il criterio di indicizzazione per la raccolta criteri per le query spaziali di geo-fencing.
- Risoluzione dei problemi con Java Doc per Java 1.8.
1.8.1
- Risolto un bug in PartitionKeyDefinitionMap per memorizzare nella cache le raccolte a partizione singola ed evitare richieste aggiuntive di chiavi di partizione da recuperare.
- Risolto un bug per non eseguire un nuovo tentativo se viene fornito un valore di chiave di partizione errato.
1.8.0
- Aggiunta del supporto per gli account di database con più aree.
- Aggiunta del supporto per la ripetizione automatica delle richieste limitate con la possibilità di personalizzare il numero massimo di tentativi e il relativo tempo di attesa massimo. Per altre informazioni, vedere RetryOptions e ConnectionPolicy.getRetryOptions().
- IPartitionResolver basato su codice di partizionamento personalizzato è stato deprecato. Usare raccolte partizionate per una maggiore velocità effettiva e archiviazione.
1.7.1
- Aggiunta del supporto dei criteri per i tentativi per la limitazione di velocità.
1.7.0
- Aggiunta del supporto per la durata (TTL) relativa ai documenti.
1.6.0
- Implementazione delle raccolte partizionate e dei livelli di prestazioni definiti dall'utente.
1.5.1
- Correzione di un bug in HashPartitionResolver per generare valori hash in little-endian in modo che siano coerenti con altri software development kit (SDK).
1.5.0
- Aggiungi resolver per partizioni hash e a intervalli come supporto per applicazioni di partizionamento orizzontale in più partizioni.
1.4.0
- Implementazione di Upsert. Nuovi metodi upsertXXX aggiunti per supportare la funzionalità Upsert.
- Implementazione del routing basato su ID. Nessuna modifica API pubblica, tutte modifiche interne.
1.3.0
- Versione ignorata per riportare il numero di versione in allineamento con altri SDK
1.2.0
- Supporta l'indice geospaziale.
- Convalida della proprietà ID per tutte le risorse. Gli ID per le risorse non possono contenere
?
,/
,#
,\
, , o terminare con uno spazio. - Aggiunge la nuova intestazione "stato di trasformazione dell'indice" a ResourceResponse.
1.1.0
- Implementa criteri di indicizzazione V2
1.0.0
- SDK con disponibilità generale
Date di rilascio e di ritiro
Microsoft invia una notifica almeno 12 mesi prima del ritiro di un SDK per agevolare la transizione a una versione più recente o supportata. Nuove caratteristiche, funzionalità e ottimizzazioni vengono aggiunte solo all'SDK corrente. È consigliabile eseguire sempre l'aggiornamento alla versione più recente dell'SDK il prima possibile.
Avviso
Dopo il 30 potrebbe 2020, Azure Cosmos DB non eseguirà più correzioni di bug, aggiungerà nuove funzionalità e fornirà il supporto per le versioni 1.x di Azure Cosmos DB Java SDK per l'API per NoSQL. Se si preferisce non eseguire l'aggiornamento, le richieste inviate dalla versione 1.x dell'SDK continueranno a essere gestite dal servizio Azure Cosmos DB.
Dopo il 29 febbraio 2016, Azure Cosmos DB non eseguirà più correzioni di bug, aggiungerà nuove funzionalità e fornirà supporto alle versioni 0.x di Azure Cosmos DB Java SDK per l'API per NoSQL. Se si preferisce non eseguire l'aggiornamento, le richieste inviate dalla versione 0.x dell'SDK continueranno a essere gestite dal servizio Azure Cosmos DB.
Versione | Data di rilascio | Data di ritiro |
---|---|---|
2.6.1 | 17 dicembre 2020 | 29 febbraio 2024 |
2.6.0 | 16 luglio 2020 | 29 febbraio 2024 |
2.5.1 | 3 giugno 2020 | 29 febbraio 2024 |
2.5.0 | 12 maggio 2020 | 29 febbraio 2024 |
2.4.7 | 20 febbraio 2020 | 29 febbraio 2024 |
2.4.6 | 24 gennaio 2020 | 29 febbraio 2024 |
2.4.5 | 10 novembre 2019 | 29 febbraio 2024 |
2.4.4 | 24 ottobre 2019 | 29 febbraio 2024 |
2.4.2 | 26 settembre 2019 | 29 febbraio 2024 |
2.4.1 | 18 luglio 2019 | 29 febbraio 2024 |
2.4.0 | 04 maggio 2019 | 29 febbraio 2024 |
2.3.0 | 24 aprile 2019 | 29 febbraio 2024 |
2.2.3 | 16 aprile 2019 | 29 febbraio 2024 |
2.2.2 | 05 aprile 2019 | 29 febbraio 2024 |
2.2.0 | 27 marzo 2019 | 29 febbraio 2024 |
2.1.3 | 13 marzo 2019 | 29 febbraio 2024 |
2.1.2 | 09 marzo 2019 | 29 febbraio 2024 |
2.1.1 | 13 dicembre 2018 | 29 febbraio 2024 |
2.1.0 | 20 novembre 2018 | 29 febbraio 2024 |
2.0.0 | 21 settembre 2018 | 29 febbraio 2024 |
1.16.4 | 10 settembre 2018 | 30 maggio 2020 |
1.16.3 | 9 settembre 2018 | 30 maggio 2020 |
1.16.2 | 29 giugno 2018 | 30 maggio 2020 |
1.16.1 | 16 maggio 2018 | 30 maggio 2020 |
1.16.0 | 15 marzo 2018 | 30 maggio 2020 |
1.15.0 | 14 novembre 2017 | 30 maggio 2020 |
1.14.0 | 28 ottobre 2017 | 30 maggio 2020 |
1.13.0 | 25 agosto 2017 | 30 maggio 2020 |
1.12.0 | 11 luglio 2017 | 30 maggio 2020 |
1.11.0 | 10 maggio 2017 | 30 maggio 2020 |
1.10.0 | sabato 11 marzo 2017 | 30 maggio 2020 |
1.9.6 | 21 febbraio 2017 | 30 maggio 2020 |
1.9.5 | 31 gennaio 2017 | 30 maggio 2020 |
1.9.4 | 24 novembre 2016 | 30 maggio 2020 |
1.9.3 | 30 ottobre 2016 | 30 maggio 2020 |
1.9.2 | 28 ottobre 2016 | 30 maggio 2020 |
1.9.1 | 26 ottobre 2016 | 30 maggio 2020 |
1.9.0 | 03 ottobre 2016 | 30 maggio 2020 |
1.8.1 | 30 giugno 2016 | 30 maggio 2020 |
1.8.0 | 14 giugno 2016 | 30 maggio 2020 |
1.7.1 | 30 aprile 2016 | 30 maggio 2020 |
1.7.0 | 27 aprile 2016 | 30 maggio 2020 |
1.6.0 | 29 marzo 2016 | 30 maggio 2020 |
1.5.1 | giovedì 31 dicembre 2015 | 30 maggio 2020 |
1.5.0 | 04 dicembre 2015 | 30 maggio 2020 |
1.4.0 | 05 ottobre 2015 | 30 maggio 2020 |
1.3.0 | 05 ottobre 2015 | 30 maggio 2020 |
1.2.0 | 05 agosto 2015 | 30 maggio 2020 |
1.1.0 | 09 luglio 2015 | 30 maggio 2020 |
1.0.1 | 12 maggio 2015 | 30 maggio 2020 |
1.0.0 | 07 aprile 2015 | 30 maggio 2020 |
0.9.5-prelease | 09 marzo 2015 | 29 febbraio 2016 |
0.9.4-prelease | 17 febbraio 2015 | 29 febbraio 2016 |
0.9.3-prelease | 13 gennaio 2015 | 29 febbraio 2016 |
0.9.2-prelease | 19 dicembre 2014 | 29 febbraio 2016 |
0.9.1-prelease | 19 dicembre 2014 | 29 febbraio 2016 |
0.9.0-prelease | 10 dicembre 2014 | 29 febbraio 2016 |
Domande frequenti
In che modo si viene avvisati del ritiro degli SDK?
Microsoft invierà un preavviso di 12 mesi prima fine del supporto dell'SDK in fase di ritiro per agevolare la transizione a un SDK supportato. Verrà inviata una notifica tramite diversi canali di comunicazione, ossia il portale di Azure, gli aggiornamenti di Azure e la comunicazione diretta con gli amministratori del servizio assegnati.
È possibile creare applicazioni usando una versione di Azure Cosmos DB SDK che sta per essere ritirata durante il periodo di 12 mesi?
Sì, durante il periodo di preavviso di 12 mesi sarà possibile creare, distribuire e modificare applicazioni usando la versione di Azure Cosmos DB SDK che sta per essere ritirata. Durante il periodo di preavviso di 12 mesi, è consigliabile eseguire la migrazione a una versione più recente supportata di Azure Cosmos DB SDK.
Dopo la data di ritiro, che cosa succede alle applicazioni che usano una versione di Azure Cosmos DB SDK non supportata?
Dopo la data di ritiro, Azure Cosmos DB non eseguirà più correzioni dei bug, non aggiungerà nuove funzionalità, né fornirà supporto per le versioni ritirate dell'SDK. Se si preferisce non eseguire l'aggiornamento, le richieste inviate dalle versioni ritirate dell'SDK continueranno a essere gestite dal servizio Azure Cosmos DB.
Quali versioni dell'SDK avranno le funzionalità e gli aggiornamenti più recenti?
Le nuove funzionalità e gli aggiornamenti verranno aggiunti solo alla versione secondaria più recente della versione principale più recente supportata dell'SDK. È consigliabile usare sempre la versione più recente per sfruttare le nuove funzionalità, i miglioramenti delle prestazioni e le correzioni dei bug. Se si usa una versione di SDK precedente, non ritirata, le richieste inviate ad Azure Cosmos DB continueranno a funzionare, ma non sarà possibile accedere alle nuove funzionalità.
Come si deve procedere se non è possibile aggiornare l'applicazione prima della data del ritiro?
Si consiglia di effettuare l'aggiornamento alla versione di SDK più recente quanto prima. Una volta che un SDK è stato contrassegnato per il ritiro, si avranno a disposizione 12 mesi per aggiornare l'applicazione. Se non si è in grado di eseguire l'aggiornamento entro la data di ritiro, le richieste inviate dalle versioni ritirate dell'SDK continueranno a essere gestite da Azure Cosmos DB, quindi le applicazioni in esecuzione continueranno a funzionare. Tuttavia, Azure Cosmos DB non eseguirà più correzioni dei bug, non aggiungerà nuove funzionalità, né non fornirà supporto per le versioni ritirate dell'SDK.
Se si ha un piano di supporto e si richiede supporto tecnico, contattare Microsoft inviando un ticket di supporto.
Come è possibile richiedere l'aggiunta di funzionalità a un SDK o a un connettore?
Le nuove funzionalità non vengono sempre aggiunte immediatamente a ogni SDK o connettore. Se non è supportata una funzionalità che si vuole aggiungere, aggiungere commenti e suggerimenti al forum della community.