Bagikan melalui


Mulai menggunakan Azure Cosmos DB untuk NoSQL menggunakan Python

BERLAKU UNTUK: NoSQL

Artikel ini memperlihatkan kepada Anda cara menyambungkan ke Azure Cosmos DB for NoSQL menggunakan Python SDK. Setelah tersambung, Anda dapat melakukan operasi pada database, kontainer, dan item.

Paket (PyPi) | Sampel | kode | sumber pustaka referensi | API Berikan Umpan Balik

Prasyarat

Menyiapkan proyek Anda

Buat lingkungan tempat Anda dapat menjalankan kode Python.

Dengan lingkungan virtual, Anda dapat menginstal paket Python di lingkungan terisolasi tanpa memengaruhi sisa sistem Anda.

Instal Azure Cosmos DB untuk NoSQL Python SDK di lingkungan virtual.

pip install azure-cosmos

Membuat aplikasi Python

Di lingkungan Anda, buat file app.py baru dan tambahkan kode berikut ke dalamnya:

import json
import os
import sys
import uuid

from azure.core.exceptions import AzureError
from azure.cosmos import CosmosClient, PartitionKey

Kode sebelumnya mengimpor modul yang akan Anda gunakan di sisa artikel.

Menyambungkan ke Azure Cosmos DB for NoSQL

Untuk menyambungkan ke API untuk NoSQL Azure Cosmos DB, buat instans CosmosClient kelas . Kelas ini adalah titik awal untuk melakukan semua operasi terhadap database.

Untuk menyambungkan ke API Anda untuk akun NoSQL menggunakan Microsoft Entra, gunakan prinsip keamanan. Jenis prinsipal yang tepat akan bergantung pada tempat Anda menghosting kode aplikasi. Tabel di bawah ini berfungsi sebagai panduan referensi singkat.

Tempat aplikasi berjalan Prinsip keamanan
Komputer lokal (pengembangan dan pengujian) Identitas pengguna atau perwakilan layanan
Azure Identitas terkelola
Server atau klien di luar Azure Perwakilan layanan

Mengimpor Azure.Identity

Paket identitas azure berisi fungsionalitas autentikasi inti yang dibagikan di antara semua pustaka Azure SDK.

Impor paket identitas azure ke lingkungan Anda.

pip install azure-identity

Membuat CosmosClient dengan implementasi kredensial default

Jika Anda melakukan pengujian pada mesin lokal, atau aplikasi Anda akan berjalan di layanan Azure dengan dukungan langsung untuk identitas terkelola, dapatkan token OAuth dengan membuat instans DefaultAzureCredential.

Di app.py Anda:

  • Dapatkan titik akhir untuk menyambungkan ke akun Anda dan atur sebagai variabel COSMOS_ENDPOINTlingkungan .

  • Impor DefaultAzureCredential dan buat instansnya.

  • Buat instans baru kelas CosmosClient dengan TITIK AKHIR dan kredensial sebagai parameter.

from azure.identity import DefaultAzureCredential

ENDPOINT = os.environ["COSMOS_ENDPOINT"]

credential = DefaultAzureCredential()

client = CosmosClient(ENDPOINT, credential)

Penting

Untuk detail tentang cara menambahkan peran yang benar agar berfungsi DefaultAzureCredential , lihat Mengonfigurasi kontrol akses berbasis peran dengan ID Microsoft Entra untuk akun Azure Cosmos DB Anda. Secara khusus, lihat bagian tentang membuat peran dan menetapkannya ke ID utama.

Bangun aplikasi Anda

Saat Anda membangun aplikasi, kode Anda utamanya akan berinteraksi dengan empat jenis sumber daya:

  • API untuk akun NoSQL, yang merupakan namespace layanan tingkat atas unik untuk data Azure Cosmos DB Anda.

  • Database, yang mengatur kontainer di akun Anda.

  • Kontainer, yang berisi sekumpulan item individual dalam database Anda.

  • Item, yang mewakili dokumen JSON dalam kontainer Anda.

Diagram berikut menunjukkan hubungan antara ketiga sumber daya ini.

Diagram hierarki Azure Cosmos DB termasuk akun, database, kontainer, dan item.

Diagram hierarki memperlihatkan akun Azure Cosmos DB di bagian atas. Akun ini memiliki dua node database turunan. Salah satu node database tersebut memiliki dua node kontainer turunan. Sedangkan, node database lainnya hanya memiliki satu node kontainer turunan. Satu node kontainer tersebut memiliki tiga node item turunan.

Setiap jenis sumber daya diwakili oleh satu atau beberapa kelas Python terkait. Berikut adalah daftar kelas yang paling umum untuk pemrograman sinkron. (Ada kelas serupa untuk pemrograman asinkron di bawah namespace azure.cosmos.aio .)

Kelas Deskripsi
CosmosClient Kelas ini menyediakan representasi logis sisi klien untuk layanan Azure Cosmos DB. Klien ini digunakan untuk mengonfigurasi dan menjalankan permintaan terhadap layanan.
DatabaseProxy Antarmuka ke database yang mungkin, atau mungkin belum ada di layanan. Kelas ini tidak boleh diinstansiasi secara langsung. Sebagai gantinya, Anda harus menggunakan metode cosmosClient get_database_client .
ContainerProxy Antarmuka untuk berinteraksi dengan kontainer Cosmos DB tertentu. Kelas ini tidak boleh diinstansiasi secara langsung. Sebagai gantinya, gunakan metode databaseProxy get_container_client untuk mendapatkan kontainer yang sudah ada, atau metode create_container untuk membuat kontainer baru.

Panduan berikut menunjukkan cara menggunakan masing-masing kelas ini untuk membangun aplikasi Anda.

Panduan Deskripsi
Membuat database Membuat database
Membuat kontainer Membuat kontainer
Contoh item Membaca poin item tertentu

Lihat juga

Langkah berikutnya