Explore o Microsoft .NET SDK v3 para Azure Cosmos DB
Esta unidade se concentra no Azure Cosmos DB .NET SDK v3 for API for NoSQL. (Pacote NuGet Microsoft.Azure.Cosmos .) Se você estiver familiarizado com a versão anterior do SDK do .NET, você pode estar acostumado com os termos coleção e documento.
O repositório GitHub azure-cosmos-dotnet-v3 inclui as soluções de exemplo .NET mais recentes. Você usa essas soluções para executar CRUD (criar, ler, atualizar e excluir) e outras operações comuns em recursos do Azure Cosmos DB.
Como o Azure Cosmos DB dá suporte a vários modelos de API, a versão 3 do SDK do .NET usa os termos genéricos "contêiner" e "item". Um contêiner pode ser uma coleção, gráfico ou tabela. Um item pode ser um documento, borda/vértice ou linha, e é o conteúdo dentro de um contêiner.
Abaixo estão exemplos mostrando algumas das principais operações com as quais você deve estar familiarizado. Para mais exemplos, visite o link do GitHub mostrado anteriormente. Todos os exemplos abaixo usam a versão assíncrona dos métodos.
CosmosClient
Cria um novo CosmosClient
com uma cadeia de conexão. CosmosClient
é thread-safe. Recomenda-se manter uma única instância por tempo de vida do aplicativo que permita o gerenciamento e o desempenho eficientes da CosmosClient
conexão.
CosmosClient client = new CosmosClient(endpoint, key);
Exemplos de base de dados
Criar uma base de dados
O CosmosClient.CreateDatabaseIfNotExistsAsync
verifica se um banco de dados existe e, se não existir, o cria. Somente o banco de dados é usado para verificar se há um banco de dados id
existente.
// An object containing relevant information about the response
DatabaseResponse databaseResponse = await client.CreateDatabaseIfNotExistsAsync(databaseId, 10000);
Ler uma base de dados por ID
Lê um banco de dados do serviço Azure Cosmos DB como uma operação assíncrona.
DatabaseResponse readResponse = await database.ReadAsync();
Eliminar uma base de dados
Exclua um banco de dados como uma operação assíncrona.
await database.DeleteAsync();
Exemplos de contentor
Criar um contentor
O Database.CreateContainerIfNotExistsAsync
método verifica se um contêiner existe e, se não existir, ele o cria. Somente o contêiner é usado para verificar se há um contêiner id
existente.
// Set throughput to the minimum value of 400 RU/s
ContainerResponse simpleContainer = await database.CreateContainerIfNotExistsAsync(
id: containerId,
partitionKeyPath: partitionKey,
throughput: 400);
Obter um contêiner por ID
Container container = database.GetContainer(containerId);
ContainerProperties containerProperties = await container.ReadContainerAsync();
Eliminar um contentor
Exclua um contêiner como uma operação assíncrona.
await database.GetContainer(containerId).DeleteContainerAsync();
Exemplos de itens
Criar um item
Use o Container.CreateItemAsync
método para criar um item. O método requer um objeto serializável JSON que deve conter uma id
propriedade e um partitionKey
arquivo .
ItemResponse<SalesOrder> response = await container.CreateItemAsync(salesOrder, new PartitionKey(salesOrder.AccountNumber));
Ler um item
Use o Container.ReadItemAsync
método para ler um item. O método requer tipo para serializar o item junto com uma id
propriedade e um partitionKey
arquivo .
string id = "[id]";
string accountNumber = "[partition-key]";
ItemResponse<SalesOrder> response = await container.ReadItemAsync(id, new PartitionKey(accountNumber));
Consultar um item
O Container.GetItemQueryIterator
método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL com valores parametrizados. Ele retorna um FeedIterator
arquivo .
QueryDefinition query = new QueryDefinition(
"select * from sales s where s.AccountNumber = @AccountInput ")
.WithParameter("@AccountInput", "Account1");
FeedIterator<SalesOrder> resultSet = container.GetItemQueryIterator<SalesOrder>(
query,
requestOptions: new QueryRequestOptions()
{
PartitionKey = new PartitionKey("Account1"),
MaxItemCount = 1
});
Outros recursos
O repositório GitHub azure-cosmos-dotnet-v3 inclui as soluções de exemplo .NET mais recentes para executar CRUD e outras operações comuns em recursos do Azure Cosmos DB.
Visite este artigo Exemplos do SDK do Azure Cosmos DB.NET V3 (Microsoft.Azure.Cosmos) para a API SQL para obter links diretos para exemplos específicos no repositório GitHub.