hızlı başlangıç: Azure Cosmos DB mongodb için apı 'sini kullanarak .net web apı 'si oluşturma
Uygulama hedefı:
MongoDB için Azure Cosmos DB API
Bu hızlı başlangıçta nasıl yapılacağı gösterilmektedir:
- mongodb hesabı için Azure Cosmos DB apı 'si oluşturma
- MongoDB .net sürücüsünü kullanarak bir ürün kataloğu Web API 'si oluşturma
- Örnek verileri içeri aktar
Örnek uygulamayı çalıştırmak için önkoşullar
- Visual Studio
- .NET 5.0
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz olarak bir Azure hesabı oluşturun. ayrıca, Azure aboneliği olmadan Azure Cosmos DB deneyebilir , ücretsiz ve taahhütlere sahip olabilirsiniz.
zaten Visual Studio yoksa, kurulum ile yüklenen ASP.NET ve web geliştirme iş yüküne sahip Visual Studio 2019 Community sürümünü indirin.
Veritabanı hesabı oluşturma
Yeni bir tarayıcı penceresinde Azure portalında oturum açın.
Sol taraftaki menüde kaynak oluştur' u seçin.
yeni sayfada veritabanları > Azure Cosmos DB' nı seçin.
apı seçeneğini seçin sayfasında mongodb Create için apı Azure Cosmos DB' yi seçin > .
API, oluşturulacak hesap türünü belirler. mongodb için Azure Cosmos DB apı ' yi seçin. bu hızlı başlangıçta mongodb ile birlikte çalışarak bir koleksiyon oluşturacaksınız. daha fazla bilgi için bkz. mongodb için Azure Cosmos DB apı 'sine genel bakış.
Azure Cosmos DB hesabı oluştur sayfasında, yeni Azure Cosmos DB hesabının ayarlarını girin.
Ayar Değer Açıklama Abonelik Abonelik adı Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin. Kaynak Grubu Kaynak grubu adı Bir kaynak grubu seçin veya Yeni oluştur seçeneğini belirleyin ve yeni kaynak grubu için benzersiz bir ad girin. Hesap Adı Benzersiz bir ad girin Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin. Hesap URI 'niz, benzersiz hesap adınızın Mongo.Cosmos.Azure.com eklenir.
Hesap adı yalnızca küçük harf, sayı ve kısa çizgi (-) kullanabilir ve 3 ila 44 karakter uzunluğunda olmalıdır.Konum Kullanıcılarınıza en yakın bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın. Kapasite modu Sağlanan aktarım hızı veya sunucusuz Sağlanan aktarım hızı modunda bir hesap oluşturmak için sağlanan aktarım hızı ' nı seçin. Sunucusuz modda bir hesap oluşturmak Için sunucusuz ' ı seçin.
Note: sunucusuz hesaplar yalnızca MongoDB API sürümleri 4 ve 3,6 tarafından desteklenir. Sürüm, hesabı sağlanan aktarım hızı modunda zorlayacaktır. 3,2ücretsiz katman indirimi Azure Cosmos DB uygula Uygula veya Uygula Azure Cosmos DB ücretsiz katman sayesinde ilk 1000 RU/sn ve 25 GB depolama alanını hesapta ücretsiz olarak alırsınız. Ücretsiz katmanhakkında daha fazla bilgi edinin. Sürüm Gerekli sunucu sürümünü seçin mongodb için Azure Cosmos DB apı 'si sunucu sürümü 4,0, 3,6 ve 3,2 ile uyumludur. Oluşturulduktan sonra bir hesabı yükseltebilir veya indirgeyede olursunuz. Not
Azure aboneliği başına en fazla bir ücretsiz katman Azure Cosmos DB hesabınız olabilir ve hesabı oluştururken kabul etmeniz gerekir. Ücretsiz katman indirimi uygulama seçeneğini görmüyorsanız bu, abonelikteki başka bir hesabın ücretsiz katmanla zaten etkinleştirildiği anlamına gelir.
Genel dağıtım sekmesinde, aşağıdaki ayrıntıları yapılandırın. Bu hızlı başlangıç amacıyla varsayılan değerleri bırakabilirsiniz:
Ayar Değer Açıklama Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölge ile eşleştirerek hesabınızda genel dağıtımı etkinleştirin veya devre dışı bırakın. Daha sonra hesabınıza daha fazla bölge ekleyebilirsiniz. Birden Çok Bölgeli Yazmalar Devre Dışı Bırak Çok bölgeli yazma özelliği, veritabanları ve iş parçacıklarınız için dünya genelindeki sağlanan aktarım hızı avantajlarından yararlanmanıza olanak sağlar. Not
Kapasite modu olarak sunucusuz ' i seçerseniz aşağıdaki seçenekler kullanılamaz:
- Ücretsiz Katman İndirimi Uygula
- Coğrafi yedeklilik
- Birden Çok Bölgeli Yazmalar
İsteğe bağlı olarak, aşağıdaki sekmelerde ek ayrıntılar yapılandırabilirsiniz:
- Ağ - bir sanal ağdan erişimiyapılandırın.
- Yedekleme ilkesi - düzenli veya sürekli yedekleme ilkesi yapılandırın.
- Şifreleme -hizmet tarafından yönetilen anahtar veya müşteri tarafından yönetilen bir anahtarkullanın.
- Etiketler -Etiketler, birden fazla kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanıza ve birleştirilmiş faturalandırmayı görüntülemenize olanak tanıyan ad/değer çiftleridir.
Gözden geçir ve oluştur’u seçin.
Hesabın oluşturulması birkaç dakika sürer. Portalın Tebrikler görüntülemesini bekleyin ! mongodb hesabı için Azure Cosmos DB apı 'niz bir sayfa hazırlayın.
Nesne modelini öğrenme
Uygulamayı oluşturmaya devam etmeden önce, MongoDB API 'sindeki kaynak hiyerarşisine ve bu kaynakları oluşturmak ve bunlara erişmek için kullanılan nesne modeline göz atalım. MongoDB için API, kaynakları aşağıdaki sırayla oluşturur:
- mongodb hesabı için Azure Cosmos DB apı 'si
- Veritabanları
- Koleksiyonlar
- Belgeler
varlıkların hiyerarşisi hakkında daha fazla bilgi edinmek için Azure Cosmos DB kaynak modeli makalesine bakın.
Örnek uygulama şablonunu yükler
Bu örnek, yerel bir kopya oluşturmak için yüklenebilen bir DotNet proje şablonudur. Komut penceresinde aşağıdaki komutları çalıştırın:
mkdir "C:\cosmos-samples"
cd "C:\cosmos-samples"
dotnet new -i Microsoft.Azure.Cosmos.Templates
dotnet new cosmosmongo-webapi
Önceki komutlar:
- Örnek için C:\cosmos-Samples dizinini oluşturun. İşletim sisteminiz için uygun bir klasör seçin.
- Geçerli dizininizi C:\cosmos-Samples klasörüne çevirin.
- Proje şablonunu, DotNet CLı 'dan küresel olarak kullanılabilir hale getirerek yükler.
- Proje şablonunu kullanarak yerel bir örnek uygulama oluşturun.
DotNet CLı 'yı kullanmak istemiyorsanız, proje şablonlarını BIR ZIP dosyası olarak da indirebilirsiniz. Bu örnek Templates/APIForMongoDBQuickstart-WebAPI klasöründe bulunur.
Kodu gözden geçirin
Aşağıdaki adımlar isteğe bağlıdır. Veritabanı kaynaklarının kodda nasıl oluşturulduğunu öğrenmek istiyorsanız aşağıdaki kod parçacıklarını gözden geçirin. Aksi takdirde, uygulama ayarlarını güncelleştirmekiçin ileri atlayın.
Bağlantı kurma
Aşağıdaki kod parçacığı Services/MongoService. cs dosyasından yapılır.
Aşağıdaki sınıf istemciyi temsil eder ve .NET Framework tarafından onu kullanan hizmetlere eklenir:
public class MongoService { private static MongoClient _client; public MongoService(IDatabaseSettings settings) { _client = new MongoClient(settings.MongoConnectionString); } public MongoClient GetClient() { return _client; } }
Ürün Kataloğu veri hizmeti kurulumu
Aşağıdaki kod parçacıkları Hizmetler/ProductService. cs dosyasından alınır.
Aşağıdaki kod, veritabanını ve koleksiyonu alır ve henüz yoksa oluşturur:
private readonly IMongoCollection<Product> _products; public ProductService(MongoService mongo, IDatabaseSettings settings) { var db = mongo.GetClient().GetDatabase(settings.DatabaseName); _products = db.GetCollection<Product>(settings.ProductCollectionName); }Aşağıdaki kod, benzersiz bir ürün tanımlayıcısı olan SKU 'ya göre bir belge alır:
public Task<Product> GetBySkuAsync(string sku) { return _products.Find(p => p.Sku == sku).FirstOrDefaultAsync(); }Aşağıdaki kod bir ürün oluşturur ve onu koleksiyona ekler:
public Task CreateAsync(Product product) { _products.InsertOneAsync(product); }Aşağıdaki kod bir ürünü bulur ve güncelleştirir:
public Task<Product> UpdateAsync(Product update) { return _products.FindOneAndReplaceAsync( Builders<Product>.Filter.Eq(p => p.Sku, update.Sku), update, new FindOneAndReplaceOptions<Product> { ReturnDocument = ReturnDocument.After }); }Benzer şekilde, koleksiyonu kullanarak belgeleri silebilirsiniz . DeleteOne () yöntemi.
Uygulama ayarlarını güncelleştirme
Azure portal, bağlantı dizesi bilgilerini kopyalayın:
Azure portal, sol gezinti bağlantı dizesi seç ' de Cosmos DB hesabınızı seçin ve ardından okuma-yazma anahtarları' nı seçin. Bir sonraki adımda, birincil bağlantı dizesini appSettings. JSON dosyasına kopyalamak için ekranın sağ tarafındaki kopyalama düğmelerini kullanacaksınız.
appsettings.json dosyasını açın.
Portaldan birincil bağlantı dizesi değerini kopyalayın (kopyalama düğmesini kullanarak) ve appSettings. JSON dosyasında Databasesettings. mongoconnectionstring özelliğinin değeri yapın.
AppSettings. JSON dosyasındaki Databasesettings. DatabaseName özelliğindeki veritabanı adı değerini gözden geçirin.
AppSettings. JSON dosyasındaki Databasesettings. productcollectionname özelliğindeki koleksiyon adı değerini gözden geçirin.
Uyarı
Parolaları veya diğer hassas verileri kaynak koduna hiçbir şekilde denetmeyin.
artık uygulamanızı Cosmos DB ile iletişim kurması için gereken tüm bilgileri ile güncelleştirdiniz.
Örnek verileri yükleme
Küçük miktarlarda JSON, CSV veya TSV verilerini kolayca içeri aktaran bir CLı aracı olan mongoımport'u indirin . Bu projenin klasöründe sunulan örnek ürün verilerini yüklemek için mongoımport kullanacağız Data .
Azure portal, bağlantı bilgilerini kopyalayın ve aşağıdaki komuta girin:
mongoimport --host <HOST>:<PORT> -u <USERNAME> -p <PASSWORD> --db cosmicworks --collection products --ssl --jsonArray --writeConcern="{w:0}" --file Data/products.json
Azure portal, mongodb hesabı için Azure Cosmos DB apı 'nizi seçin, sol gezinti bağlantı dizesi' ni seçin ve ardından okuma-yazma anahtarları' nı seçin.
Portaldan ana bilgisayar değerini kopyalayın (kopyalama düğmesini kullanarak) ve yerine girin <HOST> .
Bağlantı noktası değerini portaldan kopyalayın (kopyalama düğmesini kullanarak) ve yerine girin <PORT> .
Portaldan UserName değerini kopyalayın (kopyalama düğmesini kullanarak) ve yerine girin <USERNAME> .
Portaldan Password değerini kopyalayın (kopyalama düğmesini kullanarak) ve yerine girin <PASSWORD> .
Veritabanı adı değerini gözden geçirin ve dışında bir öğe oluşturduysanız güncelleştirin
cosmicworks.Koleksiyon adı değerini gözden geçirin ve dışında bir öğe oluşturduysanız güncelleştirin
products.
Not
Bu adımı atlamak isterseniz, bu Web API projesinin bir parçası olarak sağlanmış POST uç noktasını kullanarak doğru şemaya sahip belgeler oluşturabilirsiniz.
Uygulamayı çalıştırma
Visual Studio, uygulamayı çalıştırmak için CTRL + F5 ' i seçin. Varsayılan tarayıcı uygulamayla birlikte başlatılır.
CLı tercih ediyorsanız, örnek uygulamayı başlatmak için bir komut penceresinde aşağıdaki komutu çalıştırın. Bu komut ayrıca Proje bağımlılıklarını yükleyecek ve projeyi oluşturacak, ancak tarayıcıyı otomatik olarak başlatamacaktır.
dotnet run
Uygulama çalıştırıldıktan sonra, https://localhost:5001/swagger/index.html Web API 'si için Swagger belgelerini görmek ve örnek istekleri göndermek için bölümüne gidin.
Test etmek istediğiniz API 'YI seçin ve "deneyin" seçeneğini belirleyin.
Gerekli parametreleri girin ve "Yürüt" i seçin.
Kaynakları temizleme
Uygulama ve hesap hesabınızla Azure Cosmos DB, daha fazla ücret ödemeden oluşturduğunuz Azure kaynaklarını silebilirsiniz. Kaynakları silmek için:
Arama Azure portal kaynak grupları için arama ve seçimlerini kullanın.
Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.

Kaynak grubunun Genel Bakış sayfasında Kaynak grubunu sil'i seçin.

Sonraki pencerede, silinecek kaynak grubunun adını girin ve Sil'i seçin.
Sonraki adımlar
Bu hızlı başlangıçta, MongoDB hesabı için bir API oluşturmayı, bir veritabanı ve kodla bir koleksiyon oluşturmayı ve bir Web API uygulamasını çalıştırmayı öğrendiniz. Artık veritabanınıza daha fazla veri aktarabilirsiniz.
Azure Cosmos DB bir geçişe yönelik kapasite planlaması yapılmaya çalışılıyor musunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkında bilgi kullanabilirsiniz.
- Varsa, var olan veritabanı kümenizdeki sanal çekirdek ve sunucu sayısı varsa, sanal çekirdekler veya vCPU 'lar kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
- geçerli veritabanı iş yükünüz için tipik istek hızlarını biliyorsanız, Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin