Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, Azure DocumentDB kümesine bağlanmak için bir Python konsol uygulaması oluşturma işleminde size yol gösterir. Geliştirme ortamınızı yapılandırıyor, Python için Azure SDK'sından paketi kullanarak azure.identity kimlik doğrulaması yapıyor ve belge oluşturma, sorgulama ve güncelleştirme gibi işlemler gerçekleştirebilirsiniz.
Prerequisites
Azure aboneliği
- Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun
Mevcut bir Azure DocumentDB kümesi
- Kümeniz yoksa yeni bir küme oluşturun
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Kimlik verilen
rootrolünüzle küme için yapılandırılan Microsoft Entra kimlik doğrulaması.- Microsoft Entra kimlik doğrulamasını etkinleştirmek için yapılandırma kılavuzunu gözden geçirin.
Python'ın en son sürümü.
Konsol uygulamanızı yapılandırma
Ardından, yeni bir konsol uygulaması projesi oluşturun ve kümenizde kimlik doğrulaması yapmak için gerekli kitaplıkları içeri aktarın.
Projeniz için yeni bir dizin oluşturun ve bir sanal ortam ayarlayın.
mkdir mongodb-app cd mongodb-app python -m venv .venvSanal ortamı etkinleştirin.
# On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activateUygulamanız için yeni bir Python dosyası oluşturun.
touch app.pyAzure kimlik doğrulaması kitaplığını
azure.identityyükleyin.pip install azure.identitypymongoPython sürücüsünü yükleyin.pip install pymongo
Kümeye bağlanma
Şimdi kitaplığını Azure.IdentityTokenCredential kullanarak kümenize bağlanmak için bir kullanın. Resmi MongoDB sürücüsünün, kümeye bağlanırken kullanılmak üzere Microsoft Entra'dan belirteçleri almak için uygulanması gereken özel bir arabirimi vardır.
Python dosyanızın en üstündeki gerekli modülleri içeri aktarın.
from azure.identity import DefaultAzureCredential from pymongo import MongoClient from pymongo.auth_oidc import OIDCCallback, OIDCCallbackContext, OIDCCallbackResultMongoDB OpenID Connect (OIDC) geri çağırma arabirimini uygulayan özel bir sınıf oluşturun.
class AzureIdentityTokenCallback(OIDCCallback): def __init__(self, credential): self.credential = credential def fetch(self, context: OIDCCallbackContext) -> OIDCCallbackResult: token = self.credential.get_token( "https://ossrdbms-aad.database.windows.net/.default").token return OIDCCallbackResult(access_token=token)Küme adı değişkeninizi ayarlayın.
clusterName = "<azure-documentdb-cluster-name>"DefaultAzureCredential örneğini oluşturun ve kimlik doğrulama özelliklerini ayarlayın.
credential = DefaultAzureCredential() authProperties = {"OIDC_CALLBACK": AzureIdentityTokenCallback(credential)}Microsoft Entra kimlik doğrulaması ile yapılandırılmış bir MongoDB istemcisi oluşturun.
client = MongoClient( f"mongodb+srv://{clusterName}.global.mongocluster.cosmos.azure.com/", connectTimeoutMS=120000, tls=True, retryWrites=True, authMechanism="MONGODB-OIDC", authMechanismProperties=authProperties ) print("Client created")
Yaygın işlemler gerçekleştirme
Son olarak veritabanları, koleksiyonlar ve belgelerle ortak görevleri gerçekleştirmek için resmi kitaplığı kullanın. Burada, koleksiyonlarınızı ve öğelerinizi yönetmek için MongoDB veya DocumentDB ile etkileşimde bulunurken kullandığınız sınıfları ve yöntemleri kullanırsınız.
Veritabanınıza bir referans alın.
database = client.get_database("<database-name>") print("Database pointer created")Koleksiyonunuza bir referans alın.
collection = database.get_collection("<container-name>") print("Collection pointer created")Bir belge oluşturun ve ile
collection.update_onekoleksiyona ekleyin.new_document = { "_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "category": "gear-surf-surfboards", "name": "Yamba Surfboard", "quantity": 12, "price": 850.00, "clearance": False, } filter = { "_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", } payload = { "$set": new_document } result = collection.update_one(filter, payload, upsert=True)Koleksiyondan belirli bir belgeyi almak için kullanın
collection.find_one.filter = { "_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "category": "gear-surf-surfboards" } existing_document = collection.find_one(filter) print(f"Read document _id:\t{existing_document['_id']}")Filtreyle
collection.findeşleşen birden çok belgeyi sorgula.filter = { "category": "gear-surf-surfboards" } matched_documents = collection.find(filter) for document in matched_documents: print(f"Found document:\t{document}")