Introdução ao armazenamento de API de Tabela do Azure Cosmos DB e Tabelas do Azure com o SDK .NETGet started with Azure Cosmos DB Table API and Azure Table storage using the .NET SDK

Dica

O conteúdo deste artigo aplica-se ao armazenamento na Tabela do Azure e à API de Tabela do Azure Cosmos DB.The content in this article applies to Azure Table storage and the Azure Cosmos DB Table API. A API de Tabela do Azure Cosmos DB é uma oferta premium do armazenamento de tabelas que oferece tabelas com otimização de débito, distribuição global e índices secundários automáticos.The Azure Cosmos DB Table API is a premium offering for table storage that offers throughput-optimized tables, global distribution, and automatic secondary indexes.

Pode utilizar o armazenamento API da Tabela AZure Cosmos ou Azure Table para armazenar dados NoSQL estruturados na nuvem, fornecendo uma loja chave/atributo com um design de esquemas a menos.You can use the Azure Cosmos DB Table API or Azure Table storage to store structured NoSQL data in the cloud, providing a key/attribute store with a schema less design. Como o Azure Cosmos DB Table API e o armazenamento de mesa são menos esquemas, é fácil adaptar os seus dados à medida que as necessidades da sua aplicação evoluem.Because Azure Cosmos DB Table API and Table storage are schema less, it's easy to adapt your data as the needs of your application evolve. Pode utilizar a Azure Cosmos DB Table API ou o armazenamento da Tabela para armazenar conjuntos de dados flexíveis, tais como dados do utilizador para aplicações web, livros de endereços, informações de dispositivos ou outros tipos de metadados que o seu serviço necessita.You can use Azure Cosmos DB Table API or the Table storage to store flexible datasets such as user data for web applications, address books, device information, or other types of metadata your service requires.

Este tutorial descreve uma amostra que mostra como usar a Microsoft Azure Cosmos DB Table Library para .NET com Azure Cosmos DB Table API e Azure Table storage scenarios.This tutorial describes a sample that shows you how to use the Microsoft Azure Cosmos DB Table Library for .NET with Azure Cosmos DB Table API and Azure Table storage scenarios. Deve utilizar a ligação específica ao serviço Azure.You must use the connection specific to the Azure service. Estes cenários são explorados usando exemplos C# que ilustram como criar tabelas, inserir/atualizar dados, consultar dados e eliminar as tabelas.These scenarios are explored using C# examples that illustrate how to create tables, insert/ update data, query data and delete the tables.

Pré-requisitosPrerequisites

Para concluir este exemplo com êxito, precisa do seguinte:You need the following to complete this sample successfully:

Criar uma conta da API de Tabelas do Azure Cosmos DBCreate an Azure Cosmos DB Table API account

  1. Numa nova janela do browser, inicie sessão no portal do Azure.In a new browser window, sign in to the Azure portal.

  2. No menu esquerdo, selecione Criar um recurso.In the left menu, select Create a resource.

    Criar um recurso no portal do Azure

  3. Na página Nova, selecione Databases > Azure Cosmos DB.On the New page, select Databases > Azure Cosmos DB.

    Criar um recurso no portal do Azure

  4. Na página De Conta DB Create Azure Cosmos, insira as definições para a nova conta DB da Azure Cosmos.On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    DefiniçãoSetting ValorValue DescriçãoDescription
    SubscriçãoSubscription A sua subscriçãoYour subscription Selecione a subscrição do Azure que quer utilizar para esta conta do Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupo de RecursosResource Group Criar novo, em seguida, nome de contaCreate new, then Account Name Selecione Criar novo.Select Create new. Em seguida, insira um novo nome de grupo de recursos para a sua conta.Then enter a new resource group name for your account. Para simplificar, use o mesmo nome que o nome da sua conta DB Azure Cosmos.For simplicity, use the same name as your Azure Cosmos DB account name.
    Nome da ContaAccount Name Um nome exclusivoA unique name Introduza um nome exclusivo para identificar a sua conta do Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account.

    O nome da conta só pode usar letras minúsculas, números e hífens (-), e deve ter entre 3 e 31 caracteres de comprimento.The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI TabelaTable A API determina o tipo de conta a criar.The API determines the type of account to create. A Azure Cosmos DB fornece cinco APIs: Core (SQL) para bases de dados de documentos, Gremlin para bases de dados de gráficos, MongoDB para bases de dados de documentos, Tabela Azure e Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. Deve criar uma conta separada para cada API.You must create a separate account for each API.

    Selecione Azure Table, porque neste arranque rápido está a criar uma tabela que funciona com a Tabela API.Select Azure Table, because in this quickstart you are creating a table that works with the Table API.

    Saiba mais sobre a Tabela API.Learn more about the Table API.
    LocalizaçãoLocation A região mais próxima dos seus utilizadoresThe region closest to your users Selecione a localização geográfica para alojar a sua conta do Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Utilize a localização mais próxima dos seus utilizadores para lhes dar o acesso mais rápido aos dados.Use the location that's closest to your users to give them the fastest access to the data.

    Pode deixar as opções de Escrita de Geo-Redundância e Multi-região no Disable para evitar custos adicionais e saltar as secções de Rede e Tags.You can leave the Geo-Redundancy and Multi-region Writes options at Disable to avoid additional charges, and skip the Network and Tags sections.

  5. Selecione Review+Create.Select Review+Create. Depois de concluída a validação, selecione Criar para criar a conta.After the validation is complete, select Create to create the account.

    Criar um recurso no portal do Azure

  6. A criação da conta demora alguns minutos.It takes a few minutes to create the account. Verá uma mensagem que diz que a sua implantação está em curso.You'll see a message that states Your deployment is underway. Aguarde que a implementação termine e, em seguida, selecione Ir para o recurso.Wait for the deployment to finish, and then select Go to resource.

    Criar um recurso no portal do Azure

Criar um projeto de consola .NETCreate a .NET console project

No Visual Studio, crie uma nova aplicação de consola .NET.In Visual Studio, create a new .NET console application. Os passos seguintes mostram-lhe como criar uma aplicação de consola no Visual Studio 2019.The following steps show you how to create a console application in Visual Studio 2019. Pode utilizar a Biblioteca de MesaS Azure Cosmos DB em qualquer tipo de aplicação .NET, incluindo um serviço de nuvem Azure ou aplicação web, e aplicações de desktop e mobile.You can use the Azure Cosmos DB Table Library in any type of .NET application, including an Azure cloud service or web app, and desktop and mobile applications. Neste guia, utilizamos uma aplicação de consola pela simplicidade.In this guide, we use a console application for simplicity.

  1. Selecione o > novo > projeto de arquivo.Select File > New > Project.

  2. Escolha a App consola (.NET Core) e, em seguida, selecione Seguinte.Choose Console App (.NET Core), and then select Next.

  3. No campo nome do Projeto, insira um nome para a sua aplicação, como CosmosTableSamples.In the Project name field, enter a name for your application, such as CosmosTableSamples. (Pode fornecer um nome diferente quando necessário.)(You can provide a different name as needed.)

  4. Selecione Criar.Select Create.

Todos os exemplos de código desta amostra podem ser adicionados ao método principal do ficheiro Program.cs da sua aplicação de consola.All code examples in this sample can be added to the Main() method of your console application's Program.cs file.

Instale o pacote NuGet necessárioInstall the required NuGet package

Para obter o pacote NuGet, siga estes passos:To obtain the NuGet package, follow these steps:

  1. Clique com o botão direito do rato no projeto no Explorador de Soluções e escolha Gerir Pacotes NuGet.Right-click your project in Solution Explorer and choose Manage NuGet Packages.

  2. Procure online por Microsoft.Azure.Cosmos.Table , Microsoft.Extensions.Configuration , e Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Configuration.Binder selecione Instalar para instalar a Microsoft Azure Cosmos DB Table Library.Search online for Microsoft.Azure.Cosmos.Table, Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.Binder and select Install to install the Microsoft Azure Cosmos DB Table Library.

Configurar a cadeia de ligação de armazenamentoConfigure your storage connection string

  1. A partir do portal Azure,navegue para a sua conta Azure Cosmos ou para a conta de Armazenamento de Mesa.From the Azure portal, navigate to your Azure Cosmos account or the Table Storage account.

  2. Abra o painel de chaves de ligação ou de acesso.Open the Connection String or Access keys pane. Utilize o botão de cópia à direita da janela, para copiar a CADEIA DE LIGAÇÃO PRIMÁRIA.Use the copy button on the right side of the window to copy the PRIMARY CONNECTION STRING.

    Ver e copiar a CADEIA DE LIGAÇÃO PRIMÁRIA no painel Cadeia de Ligação

  3. Para configurar a sua cadeia de conexão, a partir do estúdio visual clique no seu projeto CosmosTableSamples.To configure your connection string, from visual studio right click on your project CosmosTableSamples.

  4. Selecione Adicionar e, em seguida, Novo Item.Select Add and then New Item. Crie um novo ficheiro Settings.js com o tipo de ficheiro como Ficheiro de Configuração JSON do TypeScript.Create a new file Settings.json with file type as TypeScript JSON Configuration File.

  5. Substitua o código no Settings.jsficheiro com o seguinte código e atribua a sua cadeia de ligação primária:Replace the code in Settings.json file with the following code and assign your primary connection string:

    {
    "StorageConnectionString": <Primary connection string of your Azure Cosmos DB account>
    }
    
  6. Clique à direita no seu projeto CosmosTableSamples.Right click on your project CosmosTableSamples. Selecione Adicionar, Novo Item e adicione uma classe chamada AppSettings.cs.Select Add, New Item and add a class named AppSettings.cs.

  7. Adicione o seguinte código ao ficheiro AppSettings.cs.Add the following code to the AppSettings.cs file. Este ficheiro lê a cadeia de ligação a partir de Settings.jsno ficheiro e atribui-a ao parâmetro de configuração:This file reads the connection string from Settings.json file and assigns it to the configuration parameter:

namespace CosmosTableSamples
{
    using Microsoft.Extensions.Configuration;

    public class AppSettings
    {
        public string StorageConnectionString { get; set; }

        public static AppSettings LoadAppSettings()
        {
            IConfigurationRoot configRoot = new ConfigurationBuilder()
                .AddJsonFile("Settings.json")
                .Build();
            AppSettings appSettings = configRoot.Get<AppSettings>();
            return appSettings;
        }
    }
}

Parse e validar os detalhes da ligaçãoParse and validate the connection details

  1. Clique à direita no seu projeto CosmosTableSamples.Right click on your project CosmosTableSamples. Selecione Adicionar, Novo Item e adicione uma classe chamada Common.cs.Select Add, New Item and add a class named Common.cs. Irá escrever código para validar os detalhes da ligação e criar uma tabela dentro desta classe.You will write code to validate the connection details and create a table within this class.

  2. Defina um método CreateStorageAccountFromConnectionString como mostrado abaixo.Define a method CreateStorageAccountFromConnectionString as shown below. Este método analisará os detalhes da cadeia de ligação e validará que o nome da conta e os dados chave da conta fornecidos no ficheiro "Settings.json" são válidos.This method will parse the connection string details and validate that the account name and account key details provided in the "Settings.json" file are valid.

    using System;
    
    namespace CosmosTableSamples
    {
        using System.Threading.Tasks;
        using Microsoft.Azure.Cosmos.Table;
        using Microsoft.Azure.Documents;
    
        public class Common
        {
            public static CloudStorageAccount CreateStorageAccountFromConnectionString(string storageConnectionString)
            {
                CloudStorageAccount storageAccount;
                try
                {
                    storageAccount = CloudStorageAccount.Parse(storageConnectionString);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Invalid storage account information provided. Please confirm the AccountName and AccountKey are valid in the app.config file - then restart the application.");
                    throw;
                }
                catch (ArgumentException)
                {
                    Console.WriteLine("Invalid storage account information provided. Please confirm the AccountName and AccountKey are valid in the app.config file - then restart the sample.");
                    Console.ReadLine();
                    throw;
                }
    
                return storageAccount;
            }
    

Criar uma tabelaCreate a Table

A classe CloudTableClient permite-lhe obter tabelas e entidades armazenadas no Table Storage.The CloudTableClient class enables you to retrieve tables and entities stored in Table storage. Como não temos tabelas na conta API da Tabela Cosmos, vamos adicionar o CreateTableAsync método à classe Common.cs para criar uma tabela:Because we don’t have any tables in the Cosmos DB Table API account, let’s add the CreateTableAsync method to the Common.cs class to create a table:

public static async Task<CloudTable> CreateTableAsync(string tableName)
{
    string storageConnectionString = AppSettings.LoadAppSettings().StorageConnectionString;

    // Retrieve storage account information from connection string.
    CloudStorageAccount storageAccount = CreateStorageAccountFromConnectionString(storageConnectionString);

    // Create a table client for interacting with the table service
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient(new TableClientConfiguration());

    Console.WriteLine("Create a Table for the demo");

    // Create a table client for interacting with the table service 
    CloudTable table = tableClient.GetTableReference(tableName);
    if (await table.CreateIfNotExistsAsync())
    {
        Console.WriteLine("Created Table named: {0}", tableName);
    }
    else
    {
        Console.WriteLine("Table {0} already exists", tableName);
    }

    Console.WriteLine();
    return table;
}

Se obtém um erro de "exceção indisponíveis de serviço 503", é possível que as portas necessárias para o modo de conectividade sejam bloqueadas por uma firewall.If you get a "503 service unavailable exception" error, it's possible that the required ports for the connectivity mode are blocked by a firewall. Para corrigir este problema, abra as portas necessárias ou utilize a conectividade do modo gateway, como indicado no seguinte código:To fix this issue, either open the required ports or use the gateway mode connectivity as shown in the following code:

tableClient.TableClientConfiguration.UseRestExecutorForCosmosEndpoint = true;

Definir a entidadeDefine the entity

As entidades mapeiam para objetos C# utilizando uma classe personalizada derivada da TableEntity.Entities map to C# objects by using a custom class derived from TableEntity. Para adicionar uma entidade a uma tabela, crie uma classe que define as propriedades de entidade.To add an entity to a table, create a class that defines the properties of your entity.

Clique à direita no seu projeto CosmosTableSamples.Right click on your project CosmosTableSamples. Selecione Adicionar, Nova Pasta e nomeie-a como Modelo.Select Add, New Folder and name it as Model. Dentro da pasta Modelo adicione uma classe chamada CustomerEntity.cs e adicione-lhe o seguinte código.Within the Model folder add a class named CustomerEntity.cs and add the following code to it.

namespace CosmosTableSamples.Model
{
    using Microsoft.Azure.Cosmos.Table;

    public class CustomerEntity : TableEntity
    {
        public CustomerEntity()
        {
        }

        public CustomerEntity(string lastName, string firstName)
        {
            PartitionKey = lastName;
            RowKey = firstName;
        }

        public string Email { get; set; }

        public string PhoneNumber { get; set; }
    }
}

Este código define uma classe de entidade que usa o primeiro nome do cliente como chave de linha e apelido como chave de partição.This code defines an entity class that uses the customer's first name as the row key and last name as the partition key. Em conjunto, a chave da fila e a partição da entidade identificam-na de forma exclusiva na tabela.Together, an entity's partition and row key uniquely identify it in the table. As entidades com a mesma chave de partição podem ser questionadas mais rapidamente do que as entidades com diferentes chaves de partição, mas a utilização de chaves de partição diversificadas permite uma maior escalabilidade de operações paralelas.Entities with the same partition key can be queried faster than entities with different partition keys but using diverse partition keys allows for greater scalability of parallel operations. As entidades a serem armazenadas em tabelas têm de ter um tipo suportado, por exemplo derivadas da classe TableEntity.Entities to be stored in tables must be of a supported type, for example derived from the TableEntity class. As propriedades de entidade que pretende armazenar numa tabela têm de ser propriedades públicas do tipo e suportar a introdução e a definição de valores.Entity properties you'd like to store in a table must be public properties of the type, and support both getting and setting of values. Além disso, o tipo de entidade tem de expor um construtor sem parâmetros.Also, your entity type must expose a parameter-less constructor.

Inserir ou fundir uma entidadeInsert or merge an entity

O exemplo de código a seguir cria um objeto de entidade e adiciona-o à tabela.The following code example creates an entity object and adds it to the table. O método InsertOrMerge dentro da classe TableOperation é utilizado para inserir ou fundir uma entidade.The InsertOrMerge method within the TableOperation class is used to insert or merge an entity. O métodoCloudTable.Exebonito Async é chamado para executar a operação.The CloudTable.ExecuteAsync method is called to execute the operation.

Clique à direita no seu projeto CosmosTableSamples.Right click on your project CosmosTableSamples. Selecione Adicionar, Novo Item e adicione uma classe chamada SamplesUtils.cs.Select Add, New Item and add a class named SamplesUtils.cs. Esta classe armazena todo o código necessário para a realização de operações CRUD nas entidades.This class stores all the code required to perform CRUD operations on the entities.

public static async Task<CustomerEntity> InsertOrMergeEntityAsync(CloudTable table, CustomerEntity entity)
{
    if (entity == null)
    {
        throw new ArgumentNullException("entity");
    }

    try
    {
        // Create the InsertOrReplace table operation
        TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(entity);

        // Execute the operation.
        TableResult result = await table.ExecuteAsync(insertOrMergeOperation);
        CustomerEntity insertedCustomer = result.Result as CustomerEntity;

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of InsertOrMerge Operation: " + result.RequestCharge);
        }

        return insertedCustomer;
    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Obter uma entidade de uma partiçãoGet an entity from a partition

Pode obter a entidade a partir de uma partição utilizando o método Recuperar sob a classe TableOperation.You can get entity from a partition by using the Retrieve method under the TableOperation class. O exemplo de código a seguir obtém a chave de partição, o e-mail e o número de telefone de uma entidade cliente.The following code example gets the partition key row key, email and phone number of a customer entity. Este exemplo também imprime as unidades de pedido consumidas para consulta da entidade.This example also prints out the request units consumed to query for the entity. Para consultar uma entidade, apencha o seguinte código para SamplesUtils.cs ficheiro:To query for an entity, append the following code to SamplesUtils.cs file:

public static async Task<CustomerEntity> RetrieveEntityUsingPointQueryAsync(CloudTable table, string partitionKey, string rowKey)
{
    try
    {
        TableOperation retrieveOperation = TableOperation.Retrieve<CustomerEntity>(partitionKey, rowKey);
        TableResult result = await table.ExecuteAsync(retrieveOperation);
        CustomerEntity customer = result.Result as CustomerEntity;
        if (customer != null)
        {
            Console.WriteLine("\t{0}\t{1}\t{2}\t{3}", customer.PartitionKey, customer.RowKey, customer.Email, customer.PhoneNumber);
        }

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of Retrieve Operation: " + result.RequestCharge);
        }

        return customer;
    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Eliminar uma entidadeDelete an entity

Pode facilmente eliminar uma entidade depois de a ter obtido através do mesmo padrão mostrado para atualizar uma entidade.You can easily delete an entity after you have retrieved it by using the same pattern shown for updating an entity. O código seguinte obtém e elimina uma entidade de cliente.The following code retrieves and deletes a customer entity. Para eliminar uma entidade, apencha o seguinte código para SamplesUtils.cs ficheiro:To delete an entity, append the following code to SamplesUtils.cs file:

public static async Task DeleteEntityAsync(CloudTable table, CustomerEntity deleteEntity)
{
    try
    {
        if (deleteEntity == null)
        {
            throw new ArgumentNullException("deleteEntity");
        }

        TableOperation deleteOperation = TableOperation.Delete(deleteEntity);
        TableResult result = await table.ExecuteAsync(deleteOperation);

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of Delete Operation: " + result.RequestCharge);
        }

    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Executar as operações CRUD em dados de amostraExecute the CRUD operations on sample data

Depois de definir os métodos para criar entidades de mesa, inserção ou fusão, execute estes métodos nos dados da amostra.After you define the methods to create table, insert or merge entities, run these methods on the sample data. Para tal, clique em clique no seu projeto CosmosTableSamples.To do so, right click on your project CosmosTableSamples. Selecione Adicionar, Novo Item e adicione uma classe nomeada BasicSamples.cs e adicione-lhe o seguinte código.Select Add, New Item and add a class named BasicSamples.cs and add the following code to it. Este código cria uma tabela, acrescenta-lhe entidades.This code creates a table, adds entities to it.

Se não quiser eliminar a entidade e a mesa no final do projeto, comente os await table.DeleteIfExistsAsync() SamplesUtils.DeleteEntityAsync(table, customer) e métodos a partir do seguinte código.If don't want to delete the entity and table at the end of the project, comment the await table.DeleteIfExistsAsync() and SamplesUtils.DeleteEntityAsync(table, customer) methods from the following code. É melhor comentar estes métodos e validar os dados antes de apagar a tabela.It's best to comment out these methods and validate the data before you delete the table.

using System;

namespace CosmosTableSamples
{
    using System.Threading.Tasks;
    using Microsoft.Azure.Cosmos.Table;
    using Model;

    class BasicSamples
    {
        public async Task RunSamples()
        {
            Console.WriteLine("Azure Cosmos DB Table - Basic Samples\n");
            Console.WriteLine();

            string tableName = "demo" + Guid.NewGuid().ToString().Substring(0, 5);

            // Create or reference an existing table
            CloudTable table = await Common.CreateTableAsync(tableName);

            try
            {
                // Demonstrate basic CRUD functionality 
                await BasicDataOperationsAsync(table);
            }
            finally
            {
                // Delete the table
                await table.DeleteIfExistsAsync();
            }
        }

        private static async Task BasicDataOperationsAsync(CloudTable table)
        {
            // Create an instance of a customer entity. See the Model\CustomerEntity.cs for a description of the entity.
            CustomerEntity customer = new CustomerEntity("Harp", "Walter")
            {
                Email = "Walter@contoso.com",
                PhoneNumber = "425-555-0101"
            };

            // Demonstrate how to insert the entity
            Console.WriteLine("Insert an Entity.");
            customer = await SamplesUtils.InsertOrMergeEntityAsync(table, customer);

            // Demonstrate how to Update the entity by changing the phone number
            Console.WriteLine("Update an existing Entity using the InsertOrMerge Upsert Operation.");
            customer.PhoneNumber = "425-555-0105";
            await SamplesUtils.InsertOrMergeEntityAsync(table, customer);
            Console.WriteLine();

            // Demonstrate how to Read the updated entity using a point query 
            Console.WriteLine("Reading the updated Entity.");
            customer = await SamplesUtils.RetrieveEntityUsingPointQueryAsync(table, "Harp", "Walter");
            Console.WriteLine();

            // Demonstrate how to Delete an entity
            Console.WriteLine("Delete the entity. ");
            await SamplesUtils.DeleteEntityAsync(table, customer);
            Console.WriteLine();
        }
    }
}

O código anterior cria uma tabela que começa com "demo" e o GUID gerado é anexado ao nome da mesa.The previous code creates a table that starts with “demo” and the generated GUID is appended to the table name. Em seguida, adiciona uma entidade cliente com o primeiro e último nome como "Harp Walter" e posteriormente atualiza o número de telefone deste utilizador.It then adds a customer entity with first and last name as “Harp Walter” and later updates the phone number of this user.

Neste tutorial, criou um código para realizar operações básicas da CRUD nos dados armazenados na conta API da tabela.In this tutorial, you built code to perform basic CRUD operations on the data stored in Table API account. Também pode efetuar operações avançadas, tais como – dados de inserção de lotes, consulta de todos os dados dentro de uma partição, consultar uma série de dados dentro de uma partição, Listar tabelas na conta cujos nomes começam com o prefixo especificado.You can also perform advanced operations such as – batch inserting data, query all the data within a partition, query a range of data within a partition, Lists tables in the account whose names begin with the specified prefix. You can download the complete sample form azure-cosmos-table-dotnet-core-getting-started GitHub repository.You can download the complete sample form azure-cosmos-table-dotnet-core-getting-started GitHub repository. A classe AdvancedSamples.cs tem mais operações que pode realizar nos dados.The AdvancedSamples.cs class has more operations that you can perform on the data.

Executar o projetoRun the project

Do seu projeto CosmosTableSamples.From your project CosmosTableSamples. Abra a classe denominada Program.cs e adicione-lhe o seguinte código para ligar para os BasicSamples quando o projeto for executado.Open the class named Program.cs and add the following code to it for calling BasicSamples when the project runs.

using System;

namespace CosmosTableSamples
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Azure Cosmos Table Samples");
            BasicSamples basicSamples = new BasicSamples();
            basicSamples.RunSamples().Wait();

            AdvancedSamples advancedSamples = new AdvancedSamples();
            advancedSamples.RunSamples().Wait();

            Console.WriteLine();
            Console.WriteLine("Press any key to exit");
            Console.Read();
        }
    }
}

Agora construa a solução e pressione F5 para executar o projeto.Now build the solution and press F5 to run the project. Quando o projeto for executado, verá a seguinte saída na solicitação de comando:When the project is run, you will see the following output in the command prompt:

Ver e copiar a CADEIA DE LIGAÇÃO PRIMÁRIA no painel Cadeia de Ligação

Se receber um erro que diga Settings.jsno ficheiro não pode ser encontrado ao executar o projeto, pode resolvê-lo adicionando a seguinte entrada de XML nas definições do projeto.If you receive an error that says Settings.json file can’t be found when running the project, you can resolve it by adding the following XML entry to the project settings. Clique no CosmosTableSamples, selecione CosmosTableSamples.csproj e adicione o seguinte itemGrupo:Right click on CosmosTableSamples, select Edit CosmosTableSamples.csproj and add the following itemGroup:

  <ItemGroup>
    <None Update="Settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

Agora pode inscrever-se no portal Azure e verificar se os dados existem na tabela.Now you can sign into the Azure portal and verify that the data exists in the table.

Ver e copiar a CADEIA DE LIGAÇÃO PRIMÁRIA no painel Cadeia de Ligação

Passos seguintesNext steps

Agora pode proceder ao próximo tutorial e aprender a migrar dados para a conta AZure Cosmos DB Table API.You can now proceed to the next tutorial and learn how to migrate data to Azure Cosmos DB Table API account.