Megosztás a következőn keresztül:


Rövid útmutató: Az Azure Cosmos DB for Table használata a Pythonhoz készült Azure SDK-val

Ebben a rövid útmutatóban üzembe helyez egy alapszintű Azure Cosmos DB for Table alkalmazást a Pythonhoz készült Azure SDK használatával. Az Azure Cosmos DB for Table egy séma nélküli adattár, amely lehetővé teszi, hogy az alkalmazások strukturált táblaadatokat tároljanak a felhőben. Megtudhatja, hogyan hozhat létre táblákat, sorokat, és hogyan hajthat végre alapvető feladatokat az Azure Cosmos DB-erőforrásban a Pythonhoz készült Azure SDK használatával.

API-referenciadokumentáció Kódtár forráskódcsomagja | (PyPI) | Azure Developer CLI |

Előfeltételek

  • Azure Developer CLI
  • Docker Desktop
  • Python 3.12

Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.

A projekt inicializálása

Az Azure Developer CLI (azd) használatával hozzon létre egy Azure Cosmos DB for Table-fiókot, és helyezzen üzembe egy tárolóalapú mintaalkalmazást. A mintaalkalmazás az ügyfélkódtárat használja a mintaadatok kezelésére, létrehozására, olvasására és lekérdezésére.

  1. Nyisson meg egy terminált egy üres könyvtárban.

  2. Ha még nincs hitelesítve, jelentkezzen be az Azure Developer CLI-be a használatával azd auth login. Kövesse az eszköz által megadott lépéseket a parancssori felületre való hitelesítéshez az ön által előnyben részesített Azure-hitelesítő adatokkal.

    azd auth login
    
  3. A projekt inicializálására használható azd init .

    azd init --template cosmos-db-table-python-quickstart
    
  4. Az inicializálás során konfiguráljon egy egyedi környezetnevet.

  5. Az Azure Cosmos DB-fiók üzembe helyezése a következő használatával azd up: . A Bicep-sablonok egy minta webalkalmazást is üzembe helyeznek.

    azd up
    
  6. A kiépítési folyamat során válassza ki az előfizetést, a kívánt helyet és a célerőforrás-csoportot. Várja meg, amíg a kiépítési folyamat befejeződik. A folyamat körülbelül öt percet vehet igénybe.

  7. Az Azure-erőforrások kiépítése után a kimenet tartalmazza a futó webalkalmazás URL-címét.

    Deploying services (azd deploy)
    
      (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
    
  8. A konzol URL-címével keresse meg a webalkalmazást a böngészőben. Figyelje meg a futó alkalmazás kimenetét.

Képernyőkép a futó webalkalmazásról.

Telepítse az ügyfélkódtárat

Az ügyfélkódtár csomagként azure-data-tables a PyPi-on keresztül érhető el.

  1. Nyisson meg egy terminált, és keresse meg a /src mappát.

    cd ./src
    
  2. Ha még nincs telepítve, telepítse a csomagot a azure-data-tables következővel pip install: .

    pip install azure-data-tables
    
  3. Nyissa meg és tekintse át az src/requirements.txt fájlt a azure-data-tables bejegyzés meglétének ellenőrzéséhez.

Objektummodell

Név Leírás
TableServiceClient Ez a típus az elsődleges ügyféltípus, és a fiókszintű metaadatok vagy adatbázisok kezelésére szolgál.
TableClient Ez a típus a fiókon belüli tábla ügyfélét jelöli.

Kódpéldák

A sablonban lévő mintakód egy nevű táblát cosmicworks-productshasznál. A cosmicworks-products táblázat olyan részleteket tartalmaz, mint a név, a kategória, a mennyiség, az ár, az egyedi azonosító és az egyes termékek értékesítési jelzője. A tároló egy egyedi azonosítót használ sorkulcsként és kategóriaként partíciókulcsként.

Az ügyfél hitelesítése

Ez a minta létrehoz egy új típusú példányt TableServiceClient .

credential = DefaultAzureCredential()

client = TableServiceClient(endpoint="<azure-cosmos-db-table-account-endpoint>", credential=credential)

Táblázat lekérése

Ez a minta a TableClient típus egy példányát hozza létre a GetTableClient típus függvényével TableServiceClient .

table = client.get_table_client("<azure-cosmos-db-table-name>")

Entitás létrehozása

Új entitások táblabeli létrehozásának legegyszerűbb módja egy új objektum létrehozása, amely biztosítja a kötelező RowKey és PartitionKey a tulajdonságok megadását.

new_entity = {
    "RowKey": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
    "PartitionKey": "gear-surf-surfboards",
    "Name": "Yamba Surfboard",
    "Quantity": 12,
    "Sale": False,
}

Entitás létrehozása a táblában a következő használatával upsert_entity: .

created_entity = table.upsert_entity(new_entity)

Entitás lekérése

Egy adott entitást lekérhet egy táblából a következő használatával get_entity: .

existing_entity = table.get_entity(
    row_key="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
    partition_key="gear-surf-surfboards",
)

Entitások lekérdezése

Miután beszúrt egy entitást, lekérdezést is futtathat az adott szűrőnek megfelelő összes entitás lekéréséhez egy sztring OData-szűrő használatával query_entities .

category = "gear-surf-surfboards"
# Ensure the value is OData-compliant by escaping single quotes
safe_category = category.replace("'", "''")
filter = f"PartitionKey eq '{safe_category}'"
entities = table.query_entities(query_filter=filter)

A lekérdezés lapszámozott eredményeit ciklus for használatával elemezheti.

for entity in entities:
    # Do something

Az erőforrások eltávolítása

Ha már nincs szüksége a mintaalkalmazásra vagy erőforrásokra, távolítsa el a megfelelő üzembe helyezést és az összes erőforrást.

azd down