Azure Cosmos DB .NET SDK: download e note sulla versione

Download dell'SDKNuGet
Documentazione sull'APIDocumentazione di riferimento API .NET
EsempiEsempi di codice .NET
Attività inizialiIntroduzione ad Azure Cosmos DB .NET SDK
Esercitazione sull'app WebSviluppo di applicazioni Web con Azure Cosmos DB
Framework attualmente supportatoMicrosoft .NET Framework 4.5

Note sulla versione

1.15.0

  • Aggiunta del supporto per la definizione di JsonSerializerSettings personalizzate durante la creazione di un'istanza di DocumentClient.

1.14.1

  • Risolto un problema che interessava i computer x64 che non supportano l'istruzione SSE4 e generano una SEHException durante l'esecuzione di query nell'API di DocumentDB di Azure Cosmos DB.

1.14.0

  • Aggiunta del supporto per la funzionalità di unità richiesta al minuto (UR/m).
  • Aggiunta del supporto per un nuovo livello di coerenza denominato ConsistentPrefix.
  • Aggiunta del supporto per le metriche delle query per le singole partizioni.
  • Aggiunta del supporto per la limitazione delle dimensioni del token di continuazione per le query.
  • Aggiunta del supporto per una traccia più dettagliata delle richieste non riuscite.
  • Alcuni miglioramenti delle prestazioni nell'SDK.

1.13.4

  • Stesse funzionalità della versione 1.13.3. Alcune modifiche interne.

1.13.3

  • Stesse funzionalità della versione 1.13.2. Alcune modifiche interne.

1.13.2

  • Risolto un problema per cui il valore PartitionKey in FeedOptions veniva ignorato per le query di aggregazione.
  • Risolto un problema nella gestione trasparente delle partizioni durante l'esecuzione dell'ordinamento per query della partizione trasversale intermedia.

1.13.1

  • Correzione di un problema che ha causato deadlock in alcune API asincrone, se usate in un contesto ASP.NET.

1.13.0

  • Correzioni per rendere l'SDK più resiliente per il failover automatico in determinate condizioni.

1.12.2

  • Correzione di un problema che occasionalmente causa un'eccezione WebException, ovvero l'impossibilità di risolvere il nome remoto.
  • Aggiunta del supporto per la lettura diretta di un documento con tipo includendo nuovi overload all'API ReadDocumentAsync.

1.12.1

  • Aggiunta del supporto LINQ per le query di aggregazione (COUNT, MIN, MAX, SUM e AVG).
  • Correzione per un problema di perdita di memoria per l'oggetto ConnectionPolicy provocata dall'uso del gestore eventi.
  • Correzione per un problema relativo al mancato funzionamento di UpsertAttachmentAsync in caso di uso di ETag.
  • Correzione di un problema relativo al mancato funzionamento della continuazione della query di tipo order-by tra partizioni in caso di ordinamento in un campo di tipo stringa.

1.12.0

  • Aggiunta del supporto per le query di aggregazione (COUNT, MIN, MAX, SUM e AVG). Vedere Supporto dell'aggregazione.
  • Velocità effettiva minima ridotta nelle raccolte partizionate da 10.100 UR/s a 2.500 UR/s.

1.11.4

  • Correzione di un problema che causava l'esito negativo di alcune query tra partizioni nel processo host a 32 bit.
  • Correzione di un problema che impediva l'aggiornamento del contenitore della sessione con il token per le richieste con esito negativo in modalità gateway.
  • Correzione di un problema che causava, in alcuni casi, l'esito negativo di una query con chiamate definite dall'utente nella proiezione.
  • Correzioni alle prestazioni lato client per aumentare la velocità effettiva di lettura e scrittura delle richieste.

1.11.3

  • Correzione di un problema che impediva l'aggiornamento del contenitore della sessione con il token per le richieste con esito negativo.
  • Aggiunta del supporto per consentire il funzionamento dell'SDK in un processo host a 32 bit. Si noti che se si usano query tra partizioni, è consigliabile usare l'elaborazione dell'host a 64 bit per migliorare le prestazioni.
  • Prestazioni migliorate per gli scenari che riguardano query con un numero elevato di valori della chiave di partizione in un'espressione IN.
  • Varie statistiche popolate sulla quota di risorse in ResourceResponse per le richieste di lettura della raccolta documenti quando è impostata l'opzione di richiesta PopulateQuotaInfo.

1.11.1

  • Risoluzione secondaria per i problemi di prestazioni relativi all'API CreateDocumentCollectionIfNotExistsAsync introdotta nella versione 1.11.0.
  • Risoluzione dei problemi delle prestazioni nell'SDK per scenari che comportano un livello molto elevato di richieste simultanee.

1.11.0

  • Supporto per nuove classi e metodi per elaborare il feed di modifiche dei documenti in una raccolta.
  • Supporto per la continuazione della query tra partizioni e miglioramenti delle prestazioni per le query tra partizioni.
  • Aggiunta dei metodi CreateDatabaseIfNotExistsAsync e CreateDocumentCollectionIfNotExistsAsync.
  • Supporto di LINQ per le funzioni di sistema: IsDefined, IsNull e IsPrimitive.
  • Correzione per l'inserimento automatico nel Cestino degli assembly Microsoft.Azure.Documents.ServiceInterop.dll e DocumentDB.Spatial.Sql.dll nella cartella Cestino dell'applicazione quando si usa il pacchetto Nuget con progetti che includono strumenti project.json.
  • Supporto per l'emissione di tracce ETW lato client che possono essere utili in scenari di debug.

1.10.0

  • Aggiunto il supporto per la connettività diretta delle raccolte partizionate.
  • Miglioramento delle prestazioni per il livello di coerenza con obsolescenza associata.
  • Aggiunta Polygon e LineString DataTypes quando si specifica il criterio di indicizzazione per la raccolta criteri per le query spaziali di geo-fencing.
  • Aggiunto il supporto LINQ per StringEnumConverter, IsoDateTimeConverter e UnixDateTimeConverter durante la traduzione dei predicati.
  • Varie correzioni di bug dell'SDK.

1.9.5

  • Risolto un problema che causava l'eccezione NotFoundException seguente: la sessione di lettura non è disponibile per il token della sessione di input. In alcuni casi questa eccezione si è verificata durante l'esecuzione di query per l'area di lettura di un account geograficamente distribuito.
  • L'esposizione della proprietà ResponseStream nella classe ResourceResponse consente l'accesso diretto al flusso sottostante proveniente da una risposta.

1.9.4

  • Modificate le classi ResourceResponse, FeedResponse, StoredProcedureResponse e MediaResponse per l'implementazione dell'interfaccia pubblica corrispondente in modo che possano essere simulate per la distribuzione basata su test (TDD).
  • Risolto un problema che causava un'intestazione di chiave di partizione non valida con l'uso di un oggetto JsonSerializerSettings personalizzato per la serializzazione dei dati.

1.9.3

  • Risoluzione di un problema che provocava l'esito negativo con errore delle query con esecuzione prolungata. Al momento il token di autorizzazione non è valido.
  • Risoluzione di un problema che rimuoveva l'oggetto SqlParameterCollection originale dalle query top/order-by tra partizioni.

1.9.2

  • Aggiunta del supporto per le query parallele nelle raccolte partizionate.
  • Aggiunta del supporto ORDER BY e TOP tra partizioni per le raccolte partizionate.
  • Correzione di riferimenti mancanti a DocumentDB.Spatial.Sql.dll e Microsoft.Azure.Documents.ServiceInterop.dll, necessari quando si fa riferimento a un progetto di Azure Cosmos DB con riferimento al pacchetto Nuget Azure Cosmos DB.
  • Correzione della possibilità di usare parametri di tipi diversi per le funzioni definite dall'utente in LINQ.
  • Risoluzione di un bug per gli account replicati a livello globale in cui le chiamate Upsert sono state indirizzate verso posizioni di lettura invece di posizioni di scrittura.
  • Aggiunta di metodi mancanti all'interfaccia IDocumentClient:
    • il metodo UpsertAttachmentAsync che accetta mediaStream e opzioni come parametri
    • il metodo CreateAttachmentAsync che accetta opzioni come parametro
    • il metodo CreateOfferQuery che accetta querySpec come parametro.
  • Rivelazione di classi pubbliche esposte nell'interfaccia IDocumentClient.

1.8.0

  • Aggiunta del supporto per gli account di database con più aree.
  • Aggiunta del supporto per la ripetizione dei tentativi delle richieste limitate. L'utente può personalizzare il numero di tentativi e il tempo di attesa massimo configurando la proprietà ConnectionPolicy.RetryOptions.
  • Aggiunta di una nuova interfaccia IDocumentClient che definisce le firme di tutti i metodi e di tutte le proprietà DocumenClient. Come parte di questa modifica, anche i metodi di estensione che creano IQueryable e IOrderedQueryable sono stati modificati in metodi sulla stessa classe DocumentClient.
  • Aggiunta dell'opzione di configurazione per impostare ServicePoint.ConnectionLimit per un URI dell'endpoint di Azure Cosmos DB specifico. Usare ConnectionPolicy.MaxConnectionLimit per modificare il valore predefinito, impostato su 50.
  • IPartitionResolver e la relativa implementazione sono stati deprecati. Il supporto per IPartitionResolver è ora obsoleto. È consigliabile usare le raccolte partizionate per un'archiviazione e una velocità effettiva superiori.

1.7.1

  • Aggiunta di un overload al metodo ExecuteStoredProcedureAsync basato su URI che accetta RequestOptions come parametro.

1.7.0

  • Aggiunta del supporto per la durata (TTL) relativa ai documenti.

1.6.3

  • Correzione di un bug nel pacchetto Nuget di .NET SDK per creare il pacchetto come parte di una soluzione del servizio cloud di Azure.

1.6.2

1.5.3

  • [Correzione] Se si eseguono query nell'endpoint Azure Cosmos DB viene generato il messaggio seguente: "System.Net.Http.HttpRequestException: Errore durante la copia del contenuto in un flusso".

1.5.2

  • Supporto LINQ espanso, tra cui nuovi operatori per il paging, espressioni condizionali e confronto di intervalli.
    • Operatore Take per abilitare il comportamento SELECT TOP in LINQ
    • Operatore CompareTo per abilitare i confronti di intervallo di stringa
    • Operatori Conditional (?) e Coalesce (??)
  • [Corretto] ArgumentOutOfRangeException durante l'unione della proiezione del modello con Where-In in una query LINQ. N. 81

1.5.1

  • [Corretto] Se Select non è l'ultima espressione il provider LINQ presuppone che non ci sia alcuna proiezione e produce SELECT * in modo non corretto. #58

1.5.0

  • Implementazione di Upsert, aggiunti metodi UpsertXXXAsync
  • Miglioramenti delle prestazioni per tutte le richieste
  • Supporto del provider LINQ per metodi condizionali, coalesce e CompareTo per le stringhe
  • [Corretto] Provider LINQ --> Implementa il metodo Contains nell'elenco per generare lo stesso codice SQL generato in IEnumerable e Matrice
  • [Corretto] BackoffRetryUtility usa nuovamente lo stesso HttpRequestMessage anziché crearne uno nuovo in un tentativo successivo
  • [Obsoleto] UriFactory.CreateCollection --> Ora deve usare UriFactory.CreateDocumentCollection

1.4.1

  • [Corretto] Problemi di localizzazione quando si usano impostazioni cultura diverse dalla lingua inglese, ad esempio nl-NL e così via.

1.4.0

  • Aggiunto il routing basato su IP
    • Nuovo helper UriFactory per agevolare la costruzione di collegamenti alle risorse basati su ID
    • Nuovi overload su DocumentClient da eseguire nell'URI
  • Aggiunti IsValid() and IsValidDetailed() in LINQ per i dati geospaziali
  • Migliorato il supporto del provider LINQ:
    • Matematica : Abs, Acos, Asin, Atan, Ceiling, Cos, Exp, Floor, Log, Log10, Pow, Round, Sign, Sin, Sqrt, Tan, Truncate
    • Stringa : Concat, Contains, EndsWith, IndexOf, Count, ToLower, TrimStart, Replace, Reverse, TrimEnd, StartsWith, SubString, ToUpper
    • Matrice : Concat, Contains, Count
    • IN

1.3.0

  • Aggiunto il supporto per la modifica dei criteri di indicizzazione.
    • Nuovo metodo ReplaceDocumentCollectionAsync in DocumentClient
    • Nuova proprietà IndexTransformationProgress in ResourceResponse per tenere traccia dello stato percentuale delle modifiche ai criteri di indice
    • DocumentCollection.IndexingPolicy è ora modificabile
  • Aggiunto il supporto per query e indicizzazione spaziali.
    • Nuovo spazio dei nomi Microsoft.Azure.Documents.Spatial per la serializzazione/deserializzazione di tipi di dati spaziali come point e polygon
    • Nuova classe SpatialIndex per l'indicizzazione dei dati GeoJSON archiviati in Cosmos DB
  • [Corretto] Query SQL non corretta generata da un'espressione LINQ #38.

1.2.0

  • Aggiunta una dipendenza su Newtonsoft.Json 5.0.7.
  • Apportate modifiche per il supporto di Order By:

    • Supporto del provider LINQ per OrderBy() o OrderByDescending()
    • IndexingPolicy per il supporto di Order By

      Possibile modifica importante

      Se è presente un codice che effettua il provisioning delle raccolte con criteri di indicizzazione personalizzati, è necessario che il codice venga aggiornato in modo da supportare la nuova classe IndexingPolicy. Se non sono presenti criteri di indicizzazione, tale modifica non avrà alcun impatto.

1.1.0

  • Aggiunto il supporto per il partizionamento dei dati con IPartitionResolver e le nuove classi HashPartitionResolver e RangePartitionResolver.
  • Aggiunta la serializzazione di DataContract.
  • Aggiunto il supporto per GUID nel provider LINQ.
  • Aggiunto il supporto per UDF in LINQ.

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.

Le nuove caratteristiche e funzionalità e le ottimizzazioni vengono aggiunte solo all'SDK corrente. È quindi consigliabile eseguire sempre l'aggiornamento alla versione più recente dell'SDK quanto prima.

Qualsiasi richiesta inviata ad Azure Cosmos DB con un SDK ritirato viene rifiutata dal servizio.


Versione Data di rilascio Data di ritiro
1.15.0 30 giugno 2017 ---
1.14.1 23 maggio 2017 ---
1.14.0 10 maggio 2017 ---
1.13.4 09 maggio 2017 ---
1.13.3 06 maggio 2017 ---
1.13.2 19 aprile 2017 ---
1.13.1 29 marzo 2017 ---
1.13.0 24 marzo 2017 ---
1.12.2 20 marzo 2017 ---
1.12.1 14 marzo 2017 ---
1.12.0 15 febbraio 2017 ---
1.11.4 06 febbraio 2017 ---
1.11.3 26 gennaio 2017 ---
1.11.1 21 dicembre 2016 ---
1.11.0 08 dicembre 2016 ---
1.10.0 27 settembre 2016 ---
1.9.5 1° settembre 2016 ---
1.9.4 24 agosto 2016 ---
1.9.3 15 agosto 2016 ---
1.9.2 23 luglio 2016 ---
1.8.0 14 giugno 2016 ---
1.7.1 06 maggio 2016 ---
1.7.0 26 aprile 2016 ---
1.6.3 08 aprile 2016 ---
1.6.2 29 marzo 2016 ---
1.5.3 19 febbraio 2016 ---
1.5.2 14 dicembre 2015 ---
1.5.1 23 novembre 2015 ---
1.5.0 05 ottobre 2015 ---
1.4.1 25 agosto 2015 ---
1.4.0 13 agosto 2015 ---
1.3.0 05 agosto 2015 ---
1.2.0 06 luglio 2015 ---
1.1.0 30 aprile 2015 ---
1.0.0 08 aprile 2015 ---

domande frequenti

1. In che modo i clienti verranno avvisati circa l'SDK in fase di ritiro?

Microsoft invierà una notifica anticipata 12 mesi prima fine del supporto dell'SDK in fase di ritiro per agevolare la transizione a un SDK supportato. I clienti verranno anche informati tramite vari canali di comunicazione, ad esempio il portale di gestione di Azure, il centro sviluppatori e comunicazioni dirette indirizzate agli amministratori dei servizi indicati.

2. I clienti potranno creare applicazioni usando la versione di DocumentDB SDK "in fase di ritiro" durante il periodo di 12 mesi?

Sì, durante il periodo di tolleranza di 12 mesi ai clienti sarà garantito l'accesso completo per creare, distribuire e modificare applicazioni tramite la versione di DocumentDB SDK "in fase di ritiro". Durante il periodo di tolleranza di 12 mesi, i clienti sono invitati a eseguire la migrazione a una versione supportata più recente di DocumentDB SDK.

3. I clienti potranno creare e modificare applicazioni usando una versione di DocumentDB SDK ritirata dopo il periodo di notifica di 12 mesi?

Dopo il periodo di notifica di 12 mesi, l'SDK verrà ritirato. La piattaforma DocumentDB non consentirà alcun tentativo di accesso a DocumentDB da applicazioni che usano una versione di SDK ritirata. Inoltre, Microsoft non fornirà più il supporto tecnico per la versione di SDK ritirata.

4. Cosa accade alle applicazioni in esecuzione del cliente che usano una versione non supportata di DocumentDB SDK?

Qualsiasi tentativo di connessione al servizio DocumentDB con una versione di SDK ritirata verrà rifiutato.

5. Le nuove funzioni e funzionalità verranno applicate anche a tutti gli SDK non ritirati?

Le nuove funzioni e funzionalità verranno aggiunte solo alle nuove versioni. Se si usa una versione di SDK precedente non ritirata, le richieste inviate a DocumentDB continueranno a funzionare come in precedenza ma non sarà possibile accedere alle nuove funzionalità.

6. 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, l'utente ha a disposizione 12 mesi per aggiornare l'applicazione. Se, per qualunque motivo, non è possibile completare l'aggiornamento dell'applicazione entro questo periodo di tempo, contattare il team di Cosmos DB e richiedere assistenza prima della data prevista per il ritiro.

Vedere anche

Per altre informazioni su Cosmos DB, vedere la pagina del servizio Microsoft Azure Cosmos DB.