SQL API-hoz készült Azure Cosmos DB Python SDK: Kibocsátási megjegyzések és erőforrások

A KÖVETKEZŐKRE VONATKOZIK: SQL API

Oldal Hivatkozás
SDK letöltése PyPI
API-dokumentáció A Python API referenciadokumentációja
SDK telepítési útmutatója Python SDK telepítési útmutatója
Első lépések A Python SDK első lépése
Az aktuálisan támogatott platform Python 2.7 és Python 3.6+

Kiadási előzmények

4.2.0

Hibajavítások

  • Kijavítva a hiba, amely miatt a folytatási jogkivonat nem query_iterable, amikor a program oldalról lapra lekért eredményeket ad vissza.
  • Kijavítva a hiba, amely miatt a dokumentum olvasása és törlése nem adott meg erőforrás-jogkivonatokat.

Új funkciók

  • A Változáscsatorna partitionKey lekérdezése közbeni átadás támogatása hozzáadva.

4.1.0

  • Elalasztó figyelmeztetés hozzáadva a "lusta" indexelési módhoz. A háttér már nem teszi lehetővé tárolók létrehozását ezzel a móddal, hanem konzisztensre fogja őket állítani.

Új funkciók

  • Az elemzési tár TTL beállításának lehetősége új tároló létrehozásakor hozzáadva.

Hibajavítások

  • Ki van javítva a támogatása bemeneti get_client dicts API-khoz.
  • Javítottuk a Python 2/3 kompatibilitását a lekérdezési iterátorokban.
  • Ki van javítva a típusmutató hibája.
  • Kijavítva a hiba, amely miatt a beállításfejlécek nem voltak hozzáadva upsert_item függvényhez.
  • Kijavítva a hiba, amely akkor lépett fel, amikor egy elem nem sztringazonosítót használ. Mostantól a TypeErrort emeli ki az AttributeError helyett.

4.0.0

  • Stabil kiadás.
  • A HttpLoggingPolicy hozzá van adva a folyamathoz, hogy lehetővé tegye egy egyéni naplózónak való átadást a kérés- és válaszfejlécek számára.

4.0.0b6

  • A média API-k synchronized_request hiba kijavítva.
  • El lett távolítva a ConnectionPolicyből a MediaReadMode és a MediaRequestTimeout, mivel a médiakérések nem támogatottak.

4.0.0b5

  • az azure.cosmos.errors modul elavult, és az azure.cosmos.exceptions váltotta fel

  • A hozzáférési feltétel paraméterei ( , , ) a és a paraméter helyett access_condition if_match if_none_match match_condition etag elavultak.

  • Az útválasztási térkép szolgáltatójának hibajavítása.

  • A Distinct( eltérők) és a Offset (Eltolás) lekérdezés támogatása hozzáadva.

  • Az alapértelmezett dokumentumlekérdezés végrehajtási környezete mostantól a következőre van használva:

    • Változáscsatorna-lekérdezések
    • egypartíciós lekérdezések ( partitionkey , a lehetőségek között partitionKeyRangeId található)
    • Nem dokumentum jellegű lekérdezések
  • Több partíció összesítésére vonatkozó hibák, amelyeknél a partíciók közötti lekérdezés engedélyezése igaz értékre van állítva, de nincs "value" kulcsszó

  • Lekéri a lekérdezésterv végpontját más forgatókönyvekhez a lekérdezésterv lekéréséhez

  • __repr__Cosmos-entitásobjektumok támogatása hozzáadva.

  • Frissített dokumentáció.

4.0.0b4

  • Az összes művelethez hozzá van adva egy kulcsszó-argumentum támogatása, amely másodpercben adja meg az abszolút időtúllépést, amelyen belül a műveletet timeout végre kell adni. Ha túllépi az időtúllépési értéket, a azure.cosmos.errors.CosmosClientTimeoutError érték lesz megemelve.

  • Új hozzáadva az ConnectionRetryPolicy újrapróbálkozási viselkedés kezeléséhez HTTP-kapcsolati hibák esetén.

  • Új konstruktor és műveletenkénti konfigurációs kulcsszavas argumentumok hozzáadva:

    • retry_total – Az újrapróbálkozási kísérletek maximális száma.
    • retry_backoff_max – Az újrapróbálkozási várakozások maximális ideje másodpercben.
    • retry_fixed_interval – Az újrapróbálkozási időköz ezredmásodpercben javítva.
    • retry_read – A szoftvercsatornák olvasási újrapróbálkozási kísérletének maximális száma.
    • retry_connect – A csatlakozási hibák újrapróbálkozási kísérletének maximális száma.
    • retry_status – A hibaállapotkódok újrapróbálkozási kísérletének maximális száma.
    • retry_on_status_codes – Az újrapróbálkozási állapotkódok listája.
    • retry_backoff_factor – Tényező az újrapróbálkozási kísérletek közötti várakozási idő kiszámításához.

4.0.0b3

  • És create_database_if_not_exists() create_container_if_not_exists funkciók hozzáadva a CosmosClienthez és a Database-hez.

4.0.0b2

  • A 4.0.0b2-es verzió a második iteráció a Python nyelvhez ajánlott eljárásoknak megfelelő ügyféloldali kódtár építésében.

Kompatibilitástörő változások

  • Az ügyfélkapcsolat úgy lett adaptálva, hogy felhasználja a-ban definiált azure.core.pipeline HTTP-folyamatot.

  • Az interaktív objektumok mostantól proxykként vannak átnevezve. Ide tartoznak az alábbiak:

    • Database -> DatabaseProxy
    • User -> UserProxy
    • Container -> ContainerProxy
    • Scripts -> ScriptsProxy
  • A CosmosClient konstruktora frissítve lett:

    • A auth paraméter át lett nevezve a következőre: , és mostantól közvetlenül egy hitelesítési credential típust használ. Ez azt jelenti, hogy az elsődleges kulcs értéke, az erőforrás-jogkivonatok szótára vagy az engedélyek listája is átvehet. A régi szótárformátum azonban továbbra is támogatott.

    • A paraméter csak kulcsszós paraméterként lett megadva, és bár továbbra is támogatott, a szabályzat minden egyes attribútuma mostantól explicit kulcsszó-argumentumként connection_policy is átveható:

      • request_timeout
      • media_request_timeout
      • connection_mode
      • media_read_mode
      • proxy_config
      • enable_endpoint_discovery
      • preferred_locations
      • multiple_write_locations
  • Egy új konstruktor lett hozzáadva a parancshoz, amely lehetővé teszi a létrehozást egy kapcsolati sztringen keresztül, amely CosmosClient a Azure Portal.

  • Egyes read_all műveleteket átneveztek list műveletekre:

    • CosmosClient.read_all_databases -> CosmosClient.list_databases
    • Container.read_all_conflicts -> ContainerProxy.list_conflicts
    • Database.read_all_containers -> DatabaseProxy.list_containers
    • Database.read_all_users -> DatabaseProxy.list_users
    • User.read_all_permissions -> UserProxy.list_permissions
  • Az vagy a paramétert felhozó összes művelet átkerült a csak request_options feed_options kulcsszóval megadott paraméterekbe. Emellett, bár ezek a beállítási szótárak továbbra is támogatottak, a szótárban található egyes beállítások mostantól explicit kulcsszó-argumentumokként is támogatottak.

  • A hibahierarchia innen azure.core.AzureError öröklődik:

    • A HTTPFailure új nevet kapott: CosmosHttpResponseError
    • JSONParseFailure el lett távolítva, és a következő váltotta fel: azure.core.DecodeError
    • További hibák hozzáadva adott válaszkódok esetén:
      • CosmosResourceNotFoundError a 404-es állapothoz
      • CosmosResourceExistsError a 409-es állapothoz
      • CosmosAccessConditionFailedError a 412-es állapothoz
  • CosmosClient mostantól futtatható egy környezetkezelőben az ügyfélkapcsolat bezárásának kezelésével.

  • Az iterható válaszok (például a lekérdezési válaszok és a listaválaszok) mostantól azure.core.paging.ItemPaged típusúak. A fetch_next_block metódust egy másodlagos iterátor váltotta fel, amelyet a metódus by_page elért.

4.0.0b1

A 4.0.0b1-es verzió az első olyan felhasználóbarát ügyféloldali kódtár létrehozása, amely megfelel a Python nyelvre vonatkozó ajánlott eljárásoknak. További információt erről és az egyéb Azure SDK-kódtárak előzetes kiadásiról itt található: https://aka.ms/azure-sdk-preview1-python .

Használatos változások: Új API-kialakítás

  • A műveletek hatóköre mostantól egy adott ügyfélre terjed ki:

    • CosmosClient: Ez az ügyfél kezeli a fiókszintű műveleteket. Ide tartozik a szolgáltatástulajdonságok kezelése és a fiókokban található adatbázisok listázása.

    • Database: Ez az ügyfél kezeli az adatbázisszintű műveleteket. Ide tartozik a tárolók, felhasználók és tárolt eljárások létrehozása és törlése. A cosmosClient példányból név szerint érhető el.

    • Container: Ez az ügyfél egy adott tároló műveleteit kezeli. Ide tartozik az elemek lekérdezése és beszúrása, valamint a tulajdonságok kezelése.

    • User: Ez az ügyfél egy adott felhasználó műveleteit kezeli. Ide tartozik az engedélyek hozzáadása és törlése, valamint a felhasználói tulajdonságok kezelése.

      Ezek az ügyfelek az ügyfélhierarchiában a metódussal érhetők get_<child>_client el. Az új API-val kapcsolatos részletes információkért tekintse meg a referenciadokumentációt.

  • Az ügyfelekhez nem azonosító, hanem név alapján lehet hozzáférni. A hivatkozások létrehozásához nem kell sztringeket össze concatened.

  • Az egyes modulokból már nem kell típusokat és metódusokat importálni. A nyilvános API felület közvetlenül a csomagban érhető azure.cosmos el.

  • Az egyes kéréstulajdonságok kulcsszavas argumentumokként is megszabadhatóak különálló példányok RequestOptions összeépítése helyett.

3.0.2

  • A MultiPolygon Datatype támogatása hozzáadva
  • Hibajavítás a munkamenet-olvasási újrapróbálkozási szabályzatban
  • Hibajavítás a 64-es sztringek dekódolása közbeni helytelen kitöltési problémákhoz

3.0.1

  • Hibajavítás a LocationCache-ban
  • Hibajavítási végpont újrapróbálkozási logikája
  • A dokumentáció kijavítva

3.0.0

  • Többrégió írási támogatása hozzáadva
  • Névváltozások
    • DocumentClient – CosmosClient
    • Gyűjtemény tárolóba
    • Dokumentum–elem
    • Csomagnév frissítve az "azure-cosmos" névre
    • Névtér frissítve az "azure.cosmos" névtérre

2.3.3

  • Proxy támogatása hozzáadva
  • A változáscsatorna olvasásának támogatása hozzáadva
  • Gyűjteménykvóta-fejlécek támogatása hozzáadva
  • Nagy méretű munkamenet-jogkivonatok hibajavítása
  • A ReadMedia API hibajavítása
  • Hibajavítás a partíciókulcs-tartomány gyorsítótárában

2.3.2

  • A csatlakozási problémák alapértelmezett újrabeállítási újrabeállítási támogatása hozzáadva.

2.3.1

  • Frissítve lett a dokumentáció, hogy Azure Cosmos DB Azure DocumentDB helyett hivatkozni.

2.3.0

2.2.1

  • hibajavítás összesített dicthez
  • hibajavítás perjelek levágása az erőforrás-hivatkozásban
  • Unicode-kódolási tesztek

2.2.0

  • A kérelemegység/perc (RU/m) funkció támogatása hozzáadva.
  • Új konzisztenciaszint támogatása ConsistentPrefix néven.

2.1.0

  • Az összesítő lekérdezések (COUNT, MIN, MAX, SUM és AVG) támogatása hozzáadva.
  • Hozzá van adva egy lehetőség az SSL-ellenőrzés letiltására a DocumentDB-Emulator.
  • A függő kérelmek modul korlátozásának eltávolítása, hogy pontosan 2.10.0 legyen.
  • A particionált gyűjtemények minimális átviteli sebességét 10 100 RU/s-ről 2500 RU/s-re csökkentették.
  • A szkriptnaplózás engedélyezése a tárolt eljárás végrehajtása során már támogatott.
  • REST API a 2017. 01. 19. verzióra nőtt.

2.0.1

  • Szerkesztői módosításokat eszközltem a dokumentációs megjegyzésekben.

2.0.0

  • A Python 3.5 támogatása.
  • A kapcsolatkészletezés támogatása a requests modullal.
  • A munkamenet-konzisztencia támogatása.
  • A particionált gyűjtemények TOP/ORDERBY-lekérdezései már támogatottak.

1.9.0

  • Újrapróbálkozási szabályzat támogatása hozzáadva a kérelmek szabályozásához. (A szabályozásos kérelmek túl nagy kérelemarányú kivételt, 429-es hibakódot kapnak.) Alapértelmezés szerint a DocumentDB kilencszer próbálkozik újra minden kéréshez a 429-es hibakód esetén, a válaszfejlécben a retryAfter time (újrapróbálkozási idő) tiszteletben állítva. A ConnectionPolicy objektum RetryOptions tulajdonságának részeként mostantól beállítható egy rögzített újrapróbálkozási időköz, ha figyelmen kívül szeretné hagyni a kiszolgáló által az újrapróbálkozások között visszaadott újrapróbálkozási időt. A DocumentDB mostantól (az újrapróbálkozások számától függetlenül) legfeljebb 30 másodpercet vár az egyes kérelmekre, és a 429-es hibakóddal adja vissza a választ. Ez az idő a ConnectionPolicy objektum RetryOptions tulajdonságában is felülbírálható.

  • A DocumentDB mostantól visszaadja az x-ms-throttle-retry-count és az x-ms-throttle-retry-wait-time-ms válaszfejléceket minden kérésben, amely az újrapróbálkozások számát és a kérés az újrapróbálkozások közötti kumulatív várakozási idejét jelöli.

  • Eltávolítottuk a RetryPolicy osztályt és a megfelelő tulajdonságot (retry_policy), amely elérhetővé lett téve a document_client osztályban, és ehelyett egy RetryOptions osztályt vezettünk be, amely a ConnectionPolicy osztály RetryOptions tulajdonságát teszi elérhetővé, amely felülír néhány alapértelmezett újrapróbálkozási beállítást.

1.8.0

  • A georeplikált adatbázisfiókok támogatása hozzáadva.
  • Tesztjavítások a globális gazdagép és a masterKey egyéni tesztosztályba való áthelyezésére.

1.7.0

  • A time to live (TTL) funkció támogatása hozzáadva a dokumentumokhoz.

1.6.1

  • A kiszolgálóoldali particionálással kapcsolatos hibajavítások, amelyek speciális karaktereket engedélyeznek a partíciókulcs elérési útján.

1.6.0

  • A kiszolgálóoldali particionált gyűjtemények szolgáltatás támogatása hozzáadva.

1.5.0

  • Ügyféloldali horizontális skálázás keretrendszer hozzáadva az SDK-hoz. HashPartionResolver és RangePartitionResolver osztályokat valósított meg.

1.4.2

  • Az Upsert implementációja. Új UpsertXXX metódusok hozzáadva az Upsert funkció támogatásához.
  • Implementálja ID-Based Útválasztást. Nincs nyilvános API-módosítás, minden belső.

1.3.0

  • A kiadás kihagyva, hogy a verziószám igazodva egymáshoz igazodva egymáshoz igazodva ugorva ugorható le.

1.2.0

  • Támogatja a térinformatikai indexet.
  • Ellenőrzi az összes erőforrás azonosító tulajdonságát. Az erőforrások azonosítói nem tartalmazhatnak ?, /, #, \\ karaktereket, és nem végződhet szóközre.
  • Új fejléc "indexátalakítási folyamat" hozzáadása a ResourceResponse erőforráshoz.

1.1.0

  • Megvalósítja a V2 indexelési szabályzatot

1.0.1

  • Támogatja a proxykapcsolatot

Kiadási & kieső dátumok

A Microsoft legalább 12 hónappal az SDK-k kieső leváltása előtt értesítést küld, hogy zökkenőmentes legyen az újabb/támogatott verzióra való áttérés. Új szolgáltatásokkal, funkciókkal és optimalizálásokkal csak az aktuális SDK bővül, ezért azt javasoljuk, hogy a mindig lehető leghamarabb frissítsen a legújabb SDK-verzióra.

Figyelmeztetés

  1. augusztus 31-től a Azure Cosmos DB már nem javít hibajavításokat, és nem nyújt támogatást az Azure Cosmos DB Python SDK for SQL API 1.x és 2.x verzióihoz. Ha nem szeretne frissíteni, az SDK 1.x és 2.x verziójáról küldött kéréseket továbbra is az Azure Cosmos DB kiszolgálja.
Verzió Kiadás dátuma Kivonás dátuma
4.2.0 2020. október 09. ---
4.1.0 2020. aug. 10. ---
4.0.0 2020. május 20. ---
3.0.2 2018. nov. 15. ---
3.0.1 2018. október 4. ---
2.3.3 2018. szeptember 8. 2022. augusztus 31.
2.3.2 2018. május 8. 2022. augusztus 31.
2.3.1 2017. december 21. 2022. augusztus 31.
2.3.0 2017. november 10. 2022. augusztus 31.
2.2.1 2017. szeptember 29. 2022. augusztus 31.
2.2.0 2017. május 10. 2022. augusztus 31.
2.1.0 2017. május 1. 2022. augusztus 31.
2.0.1 2016. október 30. 2022. augusztus 31.
2.0.0 2016. szeptember 29. 2022. augusztus 31.
1.9.0 2016. július 7. 2022. augusztus 31.
1.8.0 2016. június 14. 2022. augusztus 31.
1.7.0 2016. április 26. 2022. augusztus 31.
1.6.1 2016. április 8. 2022. augusztus 31.
1.6.0 2016. március 29. 2022. augusztus 31.
1.5.0 2016. január 3. 2022. augusztus 31.
1.4.2 2015. október 6. 2022. augusztus 31.
1.4.1 2015. október 6. 2022. augusztus 31.
1.2.0 2015. augusztus 6. 2022. augusztus 31.
1.1.0 2015. július 9. 2022. augusztus 31.
1.0.1 2015. május 25. 2022. augusztus 31.
1.0.0 2015. április 7. 2022. augusztus 31.
0.9.4 előzetes 2015. január 14. 2016. február 29.
0.9.3 előzetes 2014. december 9. 2016. február 29.
0.9.2 előzetes 2014. november 25. 2016. február 29.
0.9.1 előzetes 2014. szeptember 23. 2016. február 29.
0.9.0 –előzetes 2014. augusztus 21. 2016. február 29.

GYIK

Hogyan fogok értesülni az SDK kivezetéséről?

A Microsoft értesítést küld 12 hónappal a kivezetett SDK támogatásának vége előtt, megkönnyítve a zökkenőmentes áttérést egy támogatott SDK-ra. Az értesítéseket különböző kommunikációs csatornákon továbbítjuk: az Azure Portalon, Azure-frissítés útján, valamint a hozzárendelt szolgáltatásadminisztrátorok közvetlen értesítésével.

Létrehozhatok alkalmazásokat egy hamarosan kivezetendő Azure Cosmos DB SDK-val ebben a 12 hónapos időszakban?

Igen, a 12 hónapos értesítési időszakban is lehet alkalmazásokat létrehozni, üzembe helyezni és módosítani a hamarosan kivezetendő Azure Cosmos DB SDK-val. Javasoljuk, hogy a 12 hónap folyamán lehetőleg mielőbb térjen át az Azure Cosmos DB SDK újabb, támogatott verziójára.

A kivezetési dátum után mi lesz a már nem támogatott Azure Cosmos DB SDK-t használó alkalmazásokkal?

A kivezetési dátum után az Azure Cosmos DB nem biztosít több hibajavítást, új funkciót és támogatást a kivezetett SDK-verziókhoz. Ha nem frissíti az SDK-t, az Azure Cosmos DB szolgáltatás továbbra is kiszolgálja az SDK kivezetett verziói által küldött kéréseket.

Melyik SDK-verziók kapják meg a legújabb funkciókat és frissítéseket?

Az új funkciók és frissítések csak a legújabb támogatott fő SDK-verzió legújabb alverziójában lesznek hozzáadva. Javasoljuk, hogy mindig használja a legújabb verziót, hogy hozzájusson az új funkciókhoz, teljesítménybeli fejlesztésekhez és hibajavításokhoz. Ha egy régebbi, még nem kivezetett SDK-verziót használ, akkor az Azure Cosmos DB felé küldött kérései továbbra is működni fognak, de nem lesz hozzáférése az új lehetőségekhez.

Mit tegyek, ha nem tudom frissíteni az alkalmazásomat egy megszűnési dátum előtt?

Javasoljuk, hogy mindig a lehető leghamarabb frissítsen a legújabb SDK-verzióra. Miután egy SDK kivezetendő megjelölést kap, 12 hónap áll rendelkezésre az alkalmazás frissítésére. Ha nem tudja elvégezni a frissítést a kivezetési dátumig, az Azure Cosmos DB szolgáltatás továbbra is kiszolgálja az SDK kivezetett verziói által küldött kéréseket, így a futó alkalmazások továbbra is működni fognak. Azonban az Azure Cosmos DB nem biztosít több hibajavítást, új funkciót és támogatást a kivezetett SDK-verziókhoz.

Ha rendelkezik támogatási csomaggal és műszaki támogatásra van szüksége, lépjen kapcsolatba velünk egy támogatási jegy beküldésével.

Következő lépések

A Cosmos DB-ről a Microsoft Azure Cosmos DB szolgáltatás oldalán tekinthet meg további információt.