hızlı başlangıç: .net SDK ve Azure Cosmos DB mongodb için apı 'si ile bir Xamarin. Forms uygulaması oluşturma
Uygulama hedefı:
MongoDB için Azure Cosmos DB API
Azure Cosmos DB, Microsoft'un genel olarak dağıtılmış çok modelli veritabanı hizmetidir. Bu hizmetle belge, anahtar/değer ve grafik veritabanlarını kolayca oluşturup sorgulayabilir ve tüm bunları yaparken Azure Cosmos DB'nin genel dağıtım ve yatay ölçeklendirme özelliklerinden faydalanabilirsiniz.
bu hızlı başlangıçta, Azure portal kullanarak mongodb, belge veritabanı ve koleksiyon için Azure Cosmos DB apı 'siyle yapılandırılan Cosmos hesabınınnasıl oluşturulacağı gösterilmektedir. Daha sonra MongoDB .net sürücüsünükullanarak bir ToDo uygulaması Xamarin. Forms uygulaması oluşturacaksınız.
Örnek uygulamayı çalıştırmak için önkoşullar
Örneği çalıştırmak için Visual Studio veya Mac için Visual Studio ve geçerli bir Azure CosmosDB hesabı olması gerekir.
henüz Visual Studio yoksa, kurulum ile yüklü .net iş yüküne sahip mobil geliştirmeyle Visual Studio 2019 Community sürümünü indirin.
Mac'te çalışmayı tercih ediyorsanız Mac için Visual Studio'yu indirin ve kurulumu çalıştırın.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
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.
Bu makalede açıklanan örnek, MongoDB.Driver 2.6.1 sürümü ile uyumludur.
Örnek uygulamayı kopyalama
İlk olarak, GitHub örnek uygulamayı indirin. Bu, MongoDB’nin belge depolama modeliyle bir yapılacak işler uygulamasını uygular.
Windows bir komut istemi açın veya Mac 'te terminali açın, git-samples adlı yeni bir klasör oluşturun ve ardından pencereyi kapatın.
md "C:\git-samples"mkdir '$home\git-samples\Git Bash gibi bir Git terminal penceresi açın ve örnek uygulamayı yüklemek üzere yeni bir klasör olarak değiştirmek için
cdkomutunu kullanın.cd "C:\git-samples"Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.
git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-xamarin-getting-started.git
Git kullanmak istemiyorsanız projeyi ZIP dosyası olarak da indirebilirsiniz
Kodu gözden geçirin
Bu adım isteğe bağlıdır. Veritabanı kaynaklarının kodda nasıl oluşturulduğunu öğrenmekle ilgileniyorsanız, aşağıdaki kod parçacıklarını gözden geçirebilirsiniz. Aksi durumda, Bağlantı dizenizi güncelleştirme bölümüne atlayabilirsiniz.
Aşağıdaki kod parçacıkları, şu MongoService yolda bulunan sınıfından alınır: src/tasklist. Core/Services/MongoService. cs.
Mongo İstemcisini başlatın.
MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(APIKeys.ConnectionString)); settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 }; settings.RetryWrites = false; MongoClient mongoClient = new MongoClient(settings);Veritabanı ve koleksiyona bir başvuru alın. Mevcut değilse MongoDB .NET SDK'sı otomatik olarak veritabanını ve koleksiyonu oluşturur.
string dbName = "MyTasks"; string collectionName = "TaskList"; var db = mongoClient.GetDatabase(dbName); var collectionSettings = new MongoCollectionSettings { ReadPreference = ReadPreference.Nearest }; tasksCollection = db.GetCollection<MyTask>(collectionName, collectionSettings);Tüm belgeleri Liste olarak alın.
var allTasks = await TasksCollection .Find(new BsonDocument()) .ToListAsync();Belirli belgeleri sorgulayın.
public async Task<List<MyTask>> GetIncompleteTasksDueBefore(DateTime date) { var tasks = await TasksCollection .AsQueryable() .Where(t => t.Complete == false) .Where(t => t.DueDate < date) .ToListAsync(); return tasks; }Bir görev oluşturun ve koleksiyona ekleyin.
public async Task CreateTask(MyTask task) { await TasksCollection.InsertOneAsync(task); }Bir koleksiyondaki görevi güncelleştirin.
public async Task UpdateTask(MyTask task) { await TasksCollection.ReplaceOneAsync(t => t.Id.Equals(task.Id), task); }Bir koleksiyondan bir görevi silin.
public async Task DeleteTask(MyTask task) { await TasksCollection.DeleteOneAsync(t => t.Id.Equals(task.Id)); }
Bağlantı dizenizi güncelleştirme
Bu adımda Azure portalına dönerek bağlantı dizesi bilgilerinizi kopyalayıp uygulamaya ekleyin.
Azure portalında, Azure Cosmos DB hesabınızın sol taraftaki gezinti menüsünden Bağlantı Dizesi'ne ve ardından Okuma-Yazma Anahtarları'na tıklayın. Ekranın sağ tarafındaki kopyala düğmesini kullanarak sonraki adımlarda bulunan Birincil Bağlantı Dizesini kopyalayın.
TaskList.Core projesinin Helpers dizinindeki APIKeys.cs dosyasını açın.
Portaldan birincil bağlantı dizesi değerinizi kopyalayın (kopyala düğmesini kullanarak) ve APIKeys.cs dosyanızdaki ConnectionString alanının değeri olarak kullanın.
&replicaSet=globaldbBağlantı dizesinden kaldır. Bu değeri sorgu dizesinden kaldırdıysanız bir çalışma zamanı hatası alırsınız.
Önemli
&replicaSet=globaldbÇalışma zamanı hatasından kaçınmak için, anahtar/değer çiftini bağlantı dizesinin sorgu dizesinden kaldırmanız gerekir.
Bu adımlarla uygulamanıza Azure Cosmos DB ile iletişim kurması için gereken tüm bilgileri eklemiş oldunuz.
Uygulamayı çalıştırma
Visual Studio 2019
- Visual Studio'nun Çözüm Gezgini bölümünde her bir projeye sağ tıklayın ve ardından NuGet Paketlerini Yönet'e tıklayın.
- Tüm NuGet paketlerini geri yükle'ye tıklayın.
- TaskList.Android'e sağ tıklayın ve Başlangıç projesi olarak ayarla'yı seçin.
- Uygulamada hata ayıklamaya başlamak için F5'e basın.
- iOS üzerinde çalıştırmak istiyorsanız ilk olarak makinenizin bir Mac'e bağlı olduğundan (talimatlara buradan ulaşabilirsiniz) emin olun.
- TaskList.iOS projesine sağ tıklayın ve Başlangıç projesi olarak ayarla'yı seçin.
- Uygulamada hata ayıklamaya başlamak için F5'e basın.
Mac için Visual Studio
- Platform açılan listesinde çalıştırmak istediğiniz platforma bağlı olarak TaskList.iOS veya TaskList.Android girişini seçin.
- Uygulamada hata ayıklamaya başlamak için Cmd+Enter tuşlarına basın.
Azure portalında SLA'ları gözden geçirme
Bu Azure portal, Cosmos DB aktarım hızı, depolama alanı, kullanılabilirlik, gecikme süresi ve tutarlılığı izler. Bir Azure Cosmos DB Hizmet Düzeyi Sözleşmesi (SLA) ile ilişkili ölçümler, gerçek performansla karşılaştırıldığında SLA değerini gösterir. Bu ölçüm paketi, SLA'larınızı izlemenizi saydam hale gelir.
Ölçümleri ve SLA'ları gözden geçirmek için:
Hesap gezinti Cosmos DB Ölçümler'i seçin.
Gecikme süresi gibi bir sekme seçin ve sağdan bir zaman çerçevesi seçin. Grafiklerde Gerçek ve SLA çizgilerini karşılaştırın.

Diğer sekmelerde ölçümleri gözden geçirme.
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 Azure Cosmos DB hesabı oluşturmayı ve MongoDB API’sini kullanarak bir Xamarin.Forms uygulamasını çalıştırmayı öğrendiniz. Şimdi Cosmos DB hesabınıza ek 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