Hızlı Başlangıç: Azure Cosmos DB SQL API hesabı kullanarak Xamarin ile ToDo uygulaması oluşturmaQuickstart: Build a todo app with Xamarin using Azure Cosmos DB SQL API account

Azure Cosmos DB, Microsoft'un genel olarak dağıtılmış çok modelli veritabanı hizmetidir.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. 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.You can quickly create and query document, key/value, and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Azure Cosmos DB.

Not

CosmosDB de dahil birçok Azure teklifini gösteren tamamen kurallı örnek bir Xamarin uygulaması için örnek koda GitHub’da buradan erişilebilir.Sample code for an entire canonical sample Xamarin app showcasing multiple Azure offerings, including CosmosDB, can be found on GitHub here. Bu uygulama, coğrafi olarak dağınık kişilerin görüntülenmesini sergileyerek bu kişilerin konumlarını güncelleştirmesine olanak sağlar.This app demonstrates viewing geographically dispersed contacts, and allowing those contacts to update their location.

Bu hızlı başlangıç belgesinde Azure portalını kullanarak bir Azure Cosmos DB SQL API hesabını, belge veritabanını ve koleksiyonunu nasıl oluşturacağınız anlatılmıştır.This quickstart demonstrates how to create an Azure Cosmos DB SQL API account, document database, and collection using the Azure portal. Daha sonra SQL .NET API ile Xamarin üzerinde derlenmiş bir todo liste web uygulamasını Xamarin.Forms ve MVVM mimari deseni kullanarak derleyip dağıtacaksınız.You'll then build and deploy a todo list web app built on the SQL .NET API and Xamarin utilizing Xamarin.Forms and the MVVM architectural pattern.

iOS’ta çalışan Xamarin todo uygulaması

ÖnkoşullarPrerequisites

Windows üzerinde geliştirme yapıyorsanız ve henüz Visual Studio 2019 yüklü değilse, ücretsiz Visual Studio 2019 Community Edition' ı indirip kullanabilirsiniz.If you are developing on Windows and don’t already have Visual Studio 2019 installed, you can download and use the free Visual Studio 2019 Community Edition. Visual Studio kurulumu sırasında Azure geliştirme ve .NET ile Mobil Dağıtım iş yüklerini etkinleştirdiğinizden emin olun.Make sure that you enable Azure development and Mobile Development with .NET workloads during the Visual Studio setup.

Mac kullanıyorsanız, Mac için Visual Studio’yu ücretsiz olarak indirebilirsiniz.If you are using a Mac, you can download the free Visual Studio for Mac.

Yoksa bir Azure aboneliği, oluşturun bir ücretsiz bir hesap başlamadan önce.If you don't have an Azure subscription, create a free account before you begin.

Azure Cosmos DB’yi ücretsiz olarak bir Azure aboneliği olmadan, ücretsiz ve herhangi bir taahhütte bulunmadan deneyebilirsiniz.You can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments. Dilerseniz https://localhost:8081 URI’si ile birlikte Azure Cosmos DB Emulator da kullanabilirsiniz.Or, you can use the Azure Cosmos DB Emulator with a URI of https://localhost:8081. Birincil Anahtar, Kimlik doğrulama istekleri bölümünde sağlanır.The Primary Key is provided in Authenticating requests.

Veritabanı hesabı oluşturmaCreate a database account

  1. Azure Portal oturum açın.Sign in to the Azure portal.

  2. Kaynak oluştur > Veritabanları > Azure Cosmos DB seçeneğini belirleyin.Select Create a resource > Databases > Azure Cosmos DB.

    Azure portalındaki Veritabanları bölmesi

  3. Üzerinde Azure Cosmos DB hesabı oluştur sayfasında, yeni Azure Cosmos hesabı için temel ayarları girin.On the Create Azure Cosmos DB Account page, enter the basic settings for the new Azure Cosmos account.

    AyarSetting DeğerValue AçıklamaDescription
    AbonelikSubscription Abonelik adıSubscription name Bu Azure Cosmos hesap için kullanmak istediğiniz Azure aboneliğini seçin.Select the Azure subscription that you want to use for this Azure Cosmos account.
    Kaynak GrubuResource Group Kaynak grubu adıResource group name Bir kaynak grubu seçin ya da seçin Yeni Oluştur, ardından yeni bir kaynak grubu için benzersiz bir ad girin.Select a resource group, or select Create new, then enter a unique name for the new resource group.
    Hesap AdıAccount Name Benzersiz bir ad girinEnter a unique name Azure Cosmos hesabınızı tanımlamak için bir ad girin.Enter a name to identify your Azure Cosmos account. Girdiğiniz kimliğe documents.azure.com eklenerek URI'niz oluşturulacağından benzersiz bir kimlik kullanın.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    Kimlik yalnızca küçük harf, sayı ve kısa çizgi (-) karakterini içerebilir.The ID can only contain lowercase letters, numbers, and the hyphen (-) character. 3-31 karakter uzunluğunda olmalıdır.It must be between 3-31 characters in length.
    APIAPI Çekirdek (SQL)Core (SQL) API, oluşturulacak hesap türünü belirler.The API determines the type of account to create. Azure Cosmos DB, beş API sunar: Çekirdek (SQL) ve MongoDB, Gremlin graf verilerini, Azure tablosu ve Cassandra belge veriler için.Azure Cosmos DB provides five APIs: Core (SQL) and MongoDB for document data, Gremlin for graph data, Azure Table, and Cassandra. Şu anda, her bir API için ayrı bir hesap oluşturmanız gerekir.Currently, you must create a separate account for each API.

    Seçin çekirdek (SQL) SQL söz dizimini kullanarak bir belge veritabanı ve sorgu oluşturmak için.Select Core (SQL) to create a document database and query by using SQL syntax.

    SQL API'si hakkında daha fazla bilgi.Learn more about the SQL API.
    KonumLocation Kullanıcılarınıza en yakın bölgeyi seçinSelect the region closest to your users Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin.Select a geographic location to host your Azure Cosmos DB account. Bunları verilere en hızlı erişim sağlamak için kullanıcılarınıza en yakın konumu kullanın.Use the location that is closest to your users to give them the fastest access to the data.

    Azure Cosmos DB için yeni hesap sayfası

  4. İncele ve oluştur’u seçin.Select Review + create. Atlayabilirsiniz ve etiketleri bölümler.You can skip the Network and Tags sections.

  5. Hesap ayarları gözden geçirin ve ardından Oluştur.Review the account settings, and then select Create. Hesabı oluşturmak için birkaç dakika sürer.It takes a few minutes to create the account. Portal sayfasında görüntülenecek bekleyin dağıtımınız tamamlandıktan.Wait for the portal page to display Your deployment is complete.

    Azure portalındaki Bildirimler bölmesi

  6. Seçin kaynağa Git Azure Cosmos DB hesap sayfasına gidin.Select Go to resource to go to the Azure Cosmos DB account page.

    Azure Cosmos DB hesap sayfası

Kapsayıcı eklemeAdd a container

Artık, bir veritabanı ve kapsayıcı oluşturmak için Azure portalında Veri Gezgini aracını kullanabilirsiniz.You can now use the Data Explorer tool in the Azure portal to create a database and container.

  1. Seçin Veri Gezgini > yeni kapsayıcı.Select Data Explorer > New Container.

    Ekle kapsayıcı alanı en sağda görüntülenir, görmek için sağa kaydırmanız gerekebilir.The Add Container area is displayed on the far right, you may need to scroll right to see it.

    Azure portalındaki Veri Gezgini, kapsayıcı Ekle bölmesi

  2. İçinde kapsayıcısı Ekle sayfasında, yeni bir kapsayıcı için ayarları girin.In the Add container page, enter the settings for the new container.

    AyarSetting Önerilen değerSuggested value AçıklamaDescription
    Veritabanı KimliğiDatabase ID GörevlerTasks Girin ToDoList yeni bir veritabanı adı olarak.Enter ToDoList as the name for the new database. Veritabanı adı 1 ila 255 karakter içermeli ve içeremezler /, \\, #, ?, veya bir boşluk.Database names must contain from 1 through 255 characters, and they cannot contain /, \\, #, ?, or a trailing space. Denetleme sağlama veritabanı aktarım hızını seçeneği, bu veritabanındaki tüm kapsayıcılar arasında veritabanına sağlanan işleme paylaşmak olanak tanır.Check the Provision database throughput option, it allows you to share the throughput provisioned to the database across all the containers within the database. Bu seçenek ile maliyet tasarrufları da yardımcı olur.This option also helps with cost savings.
    Aktarım hızıThroughput 400400 Aktarım hızını 400 istek birimi (RU/sn) saniyede bırakılacak.Leave the throughput at 400 request units per second (RU/s). Daha sonra gecikme süresini azaltmak isterseniz aktarım hızının ölçeğini artırabilirsiniz.If you want to reduce latency, you can scale up the throughput later.
    Kapsayıcı kimliğiContainer ID ÖğelerItems Girin öğeleri yeni kapsayıcınız için adı.Enter Items as the name for your new container. Kapsayıcı kimlikleri aynı karakter gereksinimleri veritabanı adlarına sahip.Container IDs have the same character requirements as database names.
    Bölüm anahtarıPartition key /kategori/category Bu makalede açıklanan örnek kullanır /Category bölüm anahtarı olarak.The sample described in this article uses /category as the partition key.

    Önceki ayarlara ek olarak, isteğe bağlı olarak ekleyebilirsiniz benzersiz anahtarlar kapsayıcısı için.In addition to the preceding settings, you can optionally add Unique keys for the container. Bu örnekte bu alanı boş bırakalım.Let's leave the field empty in this example. Benzersiz anahtarlar sayesinde geliştiriciler veritabanına bir veri bütünlüğü katmanı ekleyebilir.Unique keys provide developers with the ability to add a layer of data integrity to the database. Bir kapsayıcı oluştururken bir benzersiz anahtar ilkesi oluşturarak, bölüm anahtarı başına bir veya daha fazla değerlerin benzersiz olmasını sağlamak.By creating a unique key policy while creating a container, you ensure the uniqueness of one or more values per partition key. Daha fazla bilgi edinmek için Azure Cosmos DB'de benzersiz anahtarlar makalesine bakın.To learn more, refer to the Unique keys in Azure Cosmos DB article.

    Tamam’ı seçin.Select OK. Veri Gezgini yeni veritabanını ve kapsayıcı görüntüler.The Data Explorer displays the new database and container.

Örnek verileri eklemeAdd sample data

Şimdi Veri Gezgini'ni kullanarak yeni koleksiyonunuza veri ekleyebilirsiniz.You can now add data to your new collection using Data Explorer.

  1. Yeni veritabanı, Veri Gezgini'nin Koleksiyonlar bölmesinde görüntülenir.In Data Explorer, the new database appears in the Collections pane. Görevler veritabanını genişletin, Öğeler koleksiyonunu genişletin, Belgeler'e ve ardından Yeni Belge'ye tıklayın.Expand the Tasks database, expand the Items collection, click Documents, and then click New Documents.

    Azure portalındaki Veri Gezgini'nde yeni belge oluşturma

  2. Şimdi koleksiyona aşağıdaki yapıya sahip bir belge ekleyin.Now add a document to the collection with the following structure.

    {
        "id": "1",
        "category": "personal",
        "name": "groceries",
        "description": "Pick up apples and strawberries.",
        "isComplete": false
    }
    
  3. JSON öğesini Belgeler sekmesine ekledikten sonra Kaydet'e tıklayın.Once you've added the json to the Documents tab, click Save.

    Azure portalında JSON verilerini kopyalayın ve Veri Gezgini'ne kaydedin

  4. id özelliği için benzersiz bir değer eklediğiniz yerde bir veya daha fazla belge oluşturun ve kaydedin ve diğer özellikleri uygun şekilde değiştirin.Create and save one more document where you insert a unique value for the id property, and change the other properties as you see fit. Azure Cosmos DB, verilerinizin bir şemaya uygun olmasını şart koşmadığı için yeni belgelerinizin yapısını istediğiniz şekilde oluşturabilirsiniz.Your new documents can have any structure you want as Azure Cosmos DB doesn't impose any schema on your data.

Verilerinizi sorgulayınQuery your data

Almak ve verilerinizi filtrelemek için veri Gezgini'ndeki sorguları kullanabilirsiniz.You can use queries in Data Explorer to retrieve and filter your data.

  1. Üst kısmındaki belgeleri sekmesinde veri Gezgini'nde, varsayılan sorguyu inceleyin SELECT * FROM c.At the top of the Documents tab in Data Explorer, review the default query SELECT * FROM c. Bu sorguyu alır ve kimliği sırayla koleksiyondaki tüm belgeleri görüntüler.This query retrieves and displays all documents in the collection in ID order.

    Veri Gezgini’ndeki varsayılan sorgu: SELECT * FROM c

  2. Sorguyu değiştirmek için seçin filtreyi Düzenle, varsayılan sorguyla değiştirin ORDER BY c._ts DESCve ardından Filtre Uygula.To change the query, select Edit Filter, replace the default query with ORDER BY c._ts DESC, and then select Apply Filter.

    ORDER BY c._ts DESC ekleyerek ve Filtre Uygula’ya tıklayarak varsayılan sorguyu değiştirin

    Şimdi ikinci belgeniz, zaman damgası göre azalan sırayla düzenleyin belgeleri ilk listelenen değiştirilmiş sorguyu görüntüler.The modified query displays the documents in descending order based on their time stamp, so now your second document is listed first.

    ORDER BY c._ts DESC sorgu ve Filtre Uygula'i tıklatarak değiştirildi

Tanıdık SQL söz dizimi, desteklenen herhangi biri girebilirsiniz SQL sorguları sorgu koşulu kutusuna içinde.If you're familiar with SQL syntax, you can enter any supported SQL queries in the query predicate box. Veri Gezgini, saklı yordamlar, UDF'ler ve Tetikleyiciler için sunucu tarafı iş mantığı oluşturma için de kullanabilirsiniz.You can also use Data Explorer to create stored procedures, UDFs, and triggers for server-side business logic.

Veri Gezgini, apı'lerdeki tüm yerleşik programlı veri erişim özelliklere için kolayca Azure portal erişmenizi sağlar.Data Explorer provides easy Azure portal access to all of the built-in programmatic data access features available in the APIs. Portal ayrıca aktarım hızı ölçeklendirme, anahtarları ve bağlantı dizelerini almak ve ölçümleri ve SLA'ları, Azure Cosmos DB hesabınız için gözden geçirmek için kullanın.You also use the portal to scale throughput, get keys and connection strings, and review metrics and SLAs for your Azure Cosmos DB account.

Örnek uygulamayı kopyalamaClone the sample application

Şimdi Xamarin SQL API uygulamasını GitHub 'dan kopyalayalım, kodu gözden geçirin, API anahtarlarını edinin ve çalıştırın.Now let's clone the Xamarin SQL API app from GitHub, review the code, obtain the API keys, and run it. Verilerle program aracılığıyla çalışmanın ne kadar kolay olduğunu göreceksiniz.You'll see how easy it is to work with data programmatically.

  1. Bir komut istemini açın, git-samples adlı yeni bir klasör oluşturun ve komut istemini kapatın.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. 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 cd komutunu kullanın.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın.Run the following command to clone the sample repository. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-sql-xamarin-getting-started.git
    
  4. Ardından Visual Studio’da samples/xamarin/ToDoItems klasöründen ToDoItems.sln dosyasını açın.Then open the ToDoItems.sln file from the samples/xamarin/ToDoItems folder in Visual Studio.

API anahtarlarınızı edinmeObtain your API keys

Azure portalına geri dönerek API anahtarı bilgilerini alın ve uygulamaya kopyalayın.Go back to the Azure portal to get your API key information and copy it into the app.

  1. Azure portalında, Azure Cosmos DB SQL API hesabınızın sol taraftaki gezinti menüsünden Anahtarlar'a ve ardından Okuma/Yazma Anahtarları'na tıklayın.In the Azure portal, in your Azure Cosmos DB SQL API account, in the left navigation click Keys, and then click Read-write Keys. Ekranın sağ tarafındaki kopyalama düğmelerini kullanarak URI ve Birincil Anahtar değerlerini kopyalayarak sonraki adımda APIKeys.cs dosyasına yapıştırın.You'll use the copy buttons on the right side of the screen to copy the URI and Primary Key into the APIKeys.cs file in the next step.

    Azure portalında erişim anahtarı görüntüleme ve kopyalama, Anahtarlar dikey penceresi

  2. Visual Studio 2019 veya Mac için Visual Studio ' de, APIKeys.cs dosyasını Azure-DocumentDB-DotNet/Samples/Xamarin/Todoıtems/Todoıtems. Core/yardımcılar klasöründe açın.In either Visual Studio 2019 or Visual Studio for Mac, open the APIKeys.cs file in the azure-documentdb-dotnet/samples/xamarin/ToDoItems/ToDoItems.Core/Helpers folder.

  3. Portaldaki URI değerinizi kopyalayın (kopyalama düğmesini kullanarak) ve APIKeys.cs dosyasındaki CosmosEndpointUrl değişkeninin değeri yapın.Copy your URI value from the portal (using the copy button) and make it the value of the CosmosEndpointUrl variable in APIKeys.cs.

    public static readonly string CosmosEndpointUrl = "{Azure Cosmos DB account URL}";

  4. Ardından portaldaki BİRİNCİL ANAHTAR değerinizi kopyalayıp APIKeys.cs dosyasına Cosmos Auth Key değeri olarak yapıştırın.Then copy your PRIMARY KEY value from the portal and make it the value of the Cosmos Auth Key in APIKeys.cs.

    public static readonly string CosmosAuthKey = "{Azure Cosmos DB secret}";

Önemli

Bu hızlı başlangıç tanıtım amacıyla Azure Cosmos DB kimlik doğrulama anahtarını doğrudan yazar.This quick start hard codes the Azure Cosmos DB authentication key for the sake of demonstration purposes. Bir kimlik doğrulama anahtarını üretim uygulamasında kullanırken doğrudan yazmak önerilmez.It's not recommended to hard code an authentication key when you are using it in a production app. Bir kaynak belirteci kullanarak Azure Cosmos DB’ye nasıl güvenli bir şekilde erişileceğini öğrenmek için Azure Cosmos DB ile kullanıcıların kimliklerini doğrulama makalesini görüntüleyin.To learn how to access Azure Cosmos DB in a securely by using a resource token, view the Authenticating users with Azure Cosmos DB article.

Kodu gözden geçirinReview the code

Bu çözüm, Azure Cosmos DB SQL API ve Xamarin.Forms kullanarak bir ToDo uygulaması oluşturma işlemini gösterir.This solution demonstrates how to create a ToDo app using the Azure Cosmos DB SQL API and Xamarin.Forms. Uygulamada iki sekme bulunur; birinci sekme henüz tamamlanmamış todo öğelerini gösteren bir liste görünümü içerir.The app has two tabs, the first tab contains a list view showing todo items that are not yet complete. İkinci sekme tamamlanmış todo öğelerini gösterir.The second tab displays todo items that have been completed. Birinci sekmede tamamlanmamış todo öğelerini görüntülemeye ek olarak yeni todo öğeleri ekleyebilir, var olanları düzenleyebilir ve öğeleri tamamlandı olarak işaretleyebilirsiniz.In addition to viewing not completed todo items in the first tab, you can also add new todo items, edit existing ones, and mark items as completed.

Azure portalında JSON verilerini kopyalayın ve Veri Gezgini'ne kaydedin

ToDoItems çözümündeki kod şunları içerir:The code in the ToDoItems solution contains:

  • Todoıtems. Core: Bu, Azure Cosmos DB içindeki Todo öğelerini tutan bir Xamarin. Forms projesi ve paylaşılan uygulama mantığı kodu tutan bir .NET Standard projem.ToDoItems.Core: This is a .NET Standard project holding a Xamarin.Forms project and shared application logic code that maintains todo items within Azure Cosmos DB.
  • Todoıtems. Android: Bu proje Android uygulamasını içerir.ToDoItems.Android: This project contains the Android app.
  • Todoıtems. iOS: Bu proje iOS uygulamasını içerir.ToDoItems.iOS: This project contains the iOS app.

Şimdi uygulamanın Azure Cosmos DB ile nasıl iletişim kurduğuna hızlıca göz atalım.Now let's take a quick review of how the app communicates with Azure Cosmos DB.

  • Microsoft.Azure.DocumentDb.Core NuGet paketinin tüm projelere eklenmesi gerekir.The Microsoft.Azure.DocumentDb.Core NuGet package is required to be added to all projects.

  • azure-documentdb-dotnet/samples/xamarin/ToDoItems/ToDoItems.Core/Models klasöründeki ToDoItem sınıfı, yukarıda oluşturulan Items koleksiyonundaki belgeleri modeller.The ToDoItem class in the azure-documentdb-dotnet/samples/xamarin/ToDoItems/ToDoItems.Core/Models folder models the documents in the Items collection created above. Özellik adlarının büyük/küçük harfe duyarlı olduğunu unutmayın.Note that property naming is case-sensitive.

  • azure-documentdb-dotnet/samples/xamarin/ToDoItems/ToDoItems.Core/Services klasöründeki CosmosDBService sınıfı, Azure Cosmos DB ile iletişimi kapsüller.The CosmosDBService class in the azure-documentdb-dotnet/samples/xamarin/ToDoItems/ToDoItems.Core/Services folder encapsulates the communication to Azure Cosmos DB.

  • CosmosDBService sınıfında bir DocumentClient tür değişkeni bulunur.Within the CosmosDBService class there is a DocumentClient type variable. DocumentClient, Azure Cosmos DB hesabına göre istekleri yapılandırıp yürütmek için kullanılır ve 31. satırda örneği oluşturulur:The DocumentClient is used to configure and execute requests against the Azure Cosmos DB account, and is instantiated on line 31:

    docClient = new DocumentClient(new Uri(APIKeys.CosmosEndpointUrl), APIKeys.CosmosAuthKey);
    
  • Bir belge koleksiyonu sorgulanırken, buradaki CosmosDBService.GetToDoItems işlevinde görüldüğü gibi DocumentClient.CreateDocumentQuery<T> yöntemi kullanılır:When querying a collection for documents, the DocumentClient.CreateDocumentQuery<T> method is used, as seen here in the CosmosDBService.GetToDoItems function:

    public async static Task<List<ToDoItem>> GetToDoItems()
    {
        var todos = new List<ToDoItem>();
    
        var todoQuery = docClient.CreateDocumentQuery<ToDoItem>(
                                UriFactory.CreateDocumentCollectionUri(databaseName, collectionName),
                                .Where(todo => todo.Completed == false)
                                .AsDocumentQuery();
    
        while (todoQuery.HasMoreResults)
        {
            var queryResults = await todoQuery.ExecuteNextAsync<ToDoItem>();
    
            todos.AddRange(queryResults);
        }
    
        return todos;
    }
    

    CreateDocumentQuery<T>, önceki bölümde oluşturulan koleksiyona işaret eden bir URI alır.The CreateDocumentQuery<T> takes a URI that points to the collection created in the previous section. Ayrıca, bir Where yan tümcesi gibi LINQ işleçleri belirtebilirsiniz.And you are also able to specify LINQ operators such as a Where clause. Bu durumda yalnızca tamamlanmamış todo öğeleri döndürülür.In this case only todo items that are not completed are returned.

    CreateDocumentQuery<T> işlevi zaman uyumlu olarak yürütülür ve bir IQueryable<T> döndürür.The CreateDocumentQuery<T> function is executed synchronously, and returns an IQueryable<T>. Ancak, AsDocumentQuery yöntemi IQueryable<T> değerini zaman uyumsuz olarak yürütülebilen bir IDocumentQuery<T> nesnesine dönüştürür.However, the AsDocumentQuery method converts the IQueryable<T> to an IDocumentQuery<T> object which can be executed asynchronously. Böylece, mobil uygulamalar için kullanıcı arabirimi iş parçacığı engellenmez.Thus not blocking the UI thread for mobile applications.

    IDocumentQuery<T>.ExecuteNextAsync<T> işlevi Azure Cosmos DB’den sonuç sayfasını alır ve bu sayfa, döndürülecek başka sonuçların kalıp kalmadığını görmek üzere HasMoreResults tarafından denetlenir.The IDocumentQuery<T>.ExecuteNextAsync<T> function retrieves the page of results from Azure Cosmos DB, which HasMoreResults checking to see if additional results remain to be returned.

İpucu

Azure Cosmos DB koleksiyonları ve belgeleri üzerinde çalışan birkaç işlev, koleksiyon veya belgenin adresini belirten bir parametre olarak URI alır.Several functions that operate on Azure Cosmos DB collections and documents take an URI as a parameter which specifies the address of the collection or document. Bu URI URIFactory sınıfı kullanılarak oluşturulur.This URI is constructed using the URIFactory class. Veritabanı, koleksiyon ve belge URI'lerinin tümü bu sınıfla oluşturulabilir.URIs for databases, collections, and documents can all be created with this class.

  • 107. satırdaki ComsmosDBService.InsertToDoItem işlevi yeni bir belge ekleme işlemini gösterir:The ComsmosDBService.InsertToDoItem function on line 107 demonstrates how to insert a new document:

    public async static Task InsertToDoItem(ToDoItem item)
    {
        ...
        await docClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), item);
        ...
    }
    

    Belge toplama URI’sinin yanı sıra eklenecek öğe belirtilir.The document collection URI is specified as well as the item to be inserted.

  • 124. satırdaki CosmosDBService.UpdateToDoItem işlevi, var olan bir belgeyi yeni bir belgeyle değiştirme işlemini gösterir:The CosmosDBService.UpdateToDoItem function on line 124 demonstrates how to replace an existing document with a new one:

    public async static Task UpdateToDoItem(ToDoItem item)
    {
        ...
        var docUri = UriFactory.CreateDocumentUri(databaseName, collectionName, item.Id);
    
        await docClient.ReplaceDocumentAsync(docUri, item);
    }
    

    Burada, değiştirilecek belgeyi benzersiz bir şekilde tanımlamak için yeni bir URI gerekir ve kullanarak UriFactory.CreateDocumentUri veritabanı ve koleksiyon adlarını ve belge kimliğini geçirerek elde edilir.Here a new URI is needed to uniquely identify the document to replace and is obtained by using UriFactory.CreateDocumentUri and passing it the database and collection names and the ID of the document.

    DocumentClient.ReplaceDocumentAsync, URI tarafından tanımlanan belgeyi parametre olarak belirtilen bir belgeyle değiştirir.The DocumentClient.ReplaceDocumentAsync replaces the document identified by the URI with the one specified as a parameter.

  • Bir öğenin silindiği, 115. satırdaki CosmosDBService.DeleteToDoItem işlevi ile gösterilir:Deleting an item is demonstrated with the CosmosDBService.DeleteToDoItem function on line 115:

    public async static Task DeleteToDoItem(ToDoItem item)
    {
        ...
        var docUri = UriFactory.CreateDocumentUri(databaseName, collectionName, item.Id);
    
        await docClient.DeleteDocumentAsync(docUri);
    }
    

    Oluşturulan ve DocumentClient.DeleteDocumentAsync işleve geçirilen benzersiz belge URI 'sini yeniden aklınızda edin.Again note the unique document URI being created and passed to the DocumentClient.DeleteDocumentAsync function.

Uygulamayı çalıştırmaRun the app

Bu adımlarla uygulamanıza Azure Cosmos DB ile iletişim kurması için gereken tüm bilgileri eklemiş oldunuz.You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

Aşağıdaki adımlarda, Mac için Visual Studio hata ayıklayıcısı kullanılarak uygulamayı çalıştırma işlemi gösterilecektir.The following steps will demonstrate how to run the app using the Visual Studio for Mac debugger.

Not

Android sürümündeki bir uygulama da tamamen aynı şekilde kullanılır ve her türlü değişiklik aşağıdaki adımlarda belirtilir.Usage of the Android version app is exactly the same, any differences will be called out in the steps below. Windows üzerinde Visual Studio hatalarını ayıklamak isterseniz buna yönelik belgeler iOS için burada ve Android için burada bulunabilir.If you wish to debug with Visual Studio on Windows, documentation todo so can be found for iOS here and Android here.

  1. İlk olarak vurgulanan açılır listeye tıklayarak ve iOS için ToDoItems.iOS, Android için ToDoItems.Android öğesini seçerek hedeflemek istediğiniz platformu seçin.First select the platform you wish to target by clicking on the dropdown highlighted and selecting either ToDoItems.iOS for iOS or ToDoItems.Android for Android.

    Mac için Visual Studio'da hata ayıklamak için platform seçme

  2. Uygulamada hata ayıklamaya başlamak için cmd+Enter tuşlarına basın veya oynat düğmesine tıklayın.To start debugging the app, either press cmd+Enter or click the play button.

    Mac için Visual Studio'da hata ayıklamayı başlatma

  3. iOS simülatörü veya Android öykünücüsü başlatma işlemini tamamladığında, uygulama iOS için alt ekranda ve Android için üst ekranda 2 sekme gösterir.When the iOS simulator or Android emulator finishes launching, the app will display 2 tabs at the bottom of the screen for iOS and the top of the screen for Android. Birinci sekme tamamlanmamış todo öğelerini, ikinci sekme ise tamamlanmış todo öğelerini gösterir.The first shows todo items which are not completed, the second shows todo items which are completed.

    ToDo uygulamasının başlatma ekranı

  4. iOS’ta bir todo öğesini tamamlamak için sola kaydırın > Tamamla düğmesine dokunun.To complete a todo item on iOS, slide it to the left > tap on the Complete button. Android’de bir todo öğesini tamamlamak için öğeye uzun basın > ardından tamamla düğmesine dokunun.To complete a todo item on Android, long press the item > then tap on the complete button.

    Todo öğesini tamamlama

  5. Bir todo öğesini düzenlemek için > öğeye dokunun > yeni değerler girmenize olanak tanıyan yeni bir ekran görüntülenir.To edit a todo item > tap on the item > a new screen appears letting you enter new values. Kaydet düğmesine dokunduğunuzda değişiklikler Azure Cosmos DB’de kalıcı hale gelir.Tapping the save button will persist the changes to Azure Cosmos DB.

    Todo öğesini düzenleme

  6. Bir todo öğesi eklemek için > giriş ekranının sağ üst köşesindeki Ekle düğmesine dokunun > yeni ve boş bir düzenleme sayfası görüntülenir.To add a todo item > tap on the Add button on the upper right of the home screen > a new, blank, edit page will appear.

    Todo öğesi ekleme

Azure portalında SLA'ları gözden geçirmeReview SLAs in the Azure portal

Azure portalı, Cosmos DB hesabı aktarım hızını, depolama, kullanılabilirlik, gecikme süresi ve tutarlılık izler.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Grafikler ile ilgili ölçümler için bir Azure Cosmos DB hizmet düzeyi sözleşmesi (SLA) gerçek performans karşılaştırıldığında SLA değeri gösterir.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Bu paketi ölçümleri saydam, SLA izleme sağlar.This suite of metrics makes monitoring your SLAs transparent.

Ölçümler ve SLA'ları gözden geçirmek için:To review metrics and SLAs:

  1. Seçin ölçümleri Cosmos DB hesabınızın Gezinti menüsünde.Select Metrics in your Cosmos DB account's navigation menu.

  2. Bir sekme gibi seçin gecikme, sağ taraftaki bir zaman çerçevesi'ni seçin.Select a tab such as Latency, and select a timeframe on the right. Karşılaştırma gerçek ve SLA grafikleri satırlarda.Compare the Actual and SLA lines on the charts.

    Azure Cosmos DB ölçüm paketi

  3. Diğer sekmelerdeki ölçümleri gözden geçirin.Review the metrics on the other tabs.

Kaynakları temizlemeClean up resources

Azure Cosmos DB hesabı ve web uygulaması ile işiniz bittiğinde, daha fazla ücret ödememeniz oluşturduğunuz Azure kaynaklarını silebilirsiniz.When you're done with your web app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. Kaynakları silmek için:To delete the resources:

  1. Azure portalının en sol tarafındaki Kaynak gruplarını seçin.In the Azure portal, select Resource groups on the far left. Soldaki menü daraltılmışsa, seçin genişletme düğmesi genişletin.If the left menu is collapsed, select Expand button to expand it.

  2. Bu Hızlı Başlangıç için oluşturduğunuz kaynak grubunu seçin.Select the resource group you created for this quickstart.

    Azure portalında ölçümler

  3. Yeni pencerede seçin kaynak grubunu Sil.In the new window, select Delete resource group.

    Azure portalında ölçümler

  4. Sonraki penceresinde adını, kaynak grubunu silin ve ardından Sil.In the next window, type the name of the resource group to delete, and then select Delete.

Sonraki adımlarNext steps

Bu hızlı başlangıçta, bir Azure Cosmos hesabı oluşturmayı, Veri Gezgini kullanarak bir kapsayıcı oluşturmayı ve Xamarin uygulaması derleyip dağıtmayı öğrendiniz.In this quickstart, you've learned how to create an Azure Cosmos account, create a container using the Data Explorer, and build and deploy a Xamarin app. Artık Azure Cosmos hesabınıza ek veri aktarabilirsiniz.You can now import additional data to your Azure Cosmos account.