Preparar

Concluído

Você está criando um aplicativo .NET que importa e consulta dados em um contêiner do Azure Cosmos DB for NoSQL. Aqui, discutimos as metas gerais do projeto e como você implementa a funcionalidade de importação e consulta. Além disso, abordamos como configurar a conta da API para NoSQL de que você precisa.

Illustration of the icon of an Azure Cosmos DB account.

Visão geral do projeto

A meta deste projeto é criar e validar um aplicativo de console .NET que carrega e consulta itens em um contêiner de API para NoSQL. O aplicativo .NET usa o SDK do .NET do Azure Cosmos DB for NoSQL para interagir com uma instância de serviço no Azure. O código do projeto usa lotes transacionais para criar vários itens relacionados simultaneamente. O código do projeto também usa consultas, representadas como cadeias de caracteres, para validar se os itens foram carregados com êxito.

O fluxograma a seguir mostra a lógica de negócios que o aplicativo precisa executar:

Diagram of a flowchart showing steps to create and submit client batches.

As principais tarefas que você precisa executar são:

  1. Criar uma conta do Azure Cosmos DB e recuperar a cadeia de conexão.
  2. Criar um aplicativo console .NET e adicionar uma referência de pacote ao SDK do Microsoft.Azure.Cosmos.
  3. Criar recursos de banco de dados e contêiner.
  4. Adicionar um único item como uma operação simples.
  5. Criar um lote transacional para adicionar quatro itens.
  6. Executar e observar os resultados de uma consulta.

Configuração

Para concluir este projeto, você precisa de uma conta da API para NoSQL.

Criar conta do Azure Cosmos DB for NoSQL

A conta da API for NoSQL é usada para armazenar os dados criados neste projeto e executar consultas. Esta seção apresenta as etapas para criar uma conta usando a CLI do Azure diretamente no terminal do Azure Cloud Shell.

  1. Crie uma nova variável de shell chamada suffix com um número aleatório. Crie uma nova conta de API para NoSQL no grupo de recursos [nome do grupo de recursos de área restrita].

    let suffix=$RANDOM*$RANDOM
    
    az cosmosdb create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name "mslearn-$suffix" \
        --locations "regionName=westus"
    

    Importante

    Esse grupo de recursos já foi criado pela área restrita.

  2. Aguarde até que o comando seja concluído depois que a conta for criada. A criação de uma conta pode levar alguns minutos.

    Dica

    Você pode navegar até a sua nova conta da API para NoSQL usando o portal do Azure.

Obter a cadeia de conexão da conta

Agora que você tem uma conta da API para NoSQL, você pode usar o comando az cosmosdb keys list da CLI do Azure para obter as credenciais da conta. Nesta seção, você filtra a saída do comando para retornar apenas uma única cadeia de conexão.

  1. Primeiro, obtenha o nome da API criada mais recentemente para contas NoSQL.

    let resourceGroup="<rgn>[sandbox resource group name]</rgn>"
    
    az cosmosdb list \
        --resource-group $resourceGroup \
        --query "sort_by([].{name:name,created:systemData.createdAt}, &created)" \
        --output table
    
  2. Agora, obtenha a credencial Primary SQL Connection String da primeira conta da lista de contas criadas recentemente.

    let resourceGroup="<rgn>[sandbox resource group name]</rgn>"
    
    az cosmosdb keys list \
        --resource-group $resourceGroup \
        --name $(az cosmosdb list \
            --resource-group $resourceGroup \
            --query "sort_by([].{name:name,created:systemData.createdAt}, &created)[0].name" \
            --output tsv) \
        --type connection-strings \
        --query "connectionStrings[?description=='Primary SQL Connection String'].connectionString" \
        --output tsv
    
  3. Registre o valor dessa cadeia de conexão. Você usará a cadeia de conexão posteriormente neste projeto para se conectar a essa conta.

Configurar o ambiente de desenvolvimento

Um ambiente de contêiner de desenvolvimento está disponível com todas as dependências necessárias para concluir todos os exercícios deste projeto. Você pode executar o contêiner de desenvolvimento no GitHub Codespaces ou localmente usando o Visual Studio Code.

O GitHub Codespaces executa um contêiner de desenvolvimento gerenciado pelo GitHub com o Visual Studio Code para a Web como a interface do usuário baseada em navegador. Para o ambiente de desenvolvimento mais simples, use o GitHub Codespaces para que você tenha as ferramentas de desenvolvedor e dependências corretas pré-instaladas para concluir esse módulo de treinamento.

Importante

Todas as contas do GitHub podem usar Codespaces por até 60 horas gratuitas por mês com 2 instâncias principais.

  1. Crie um novo codespace do GitHub usando o modelo azure-samples/cosmos-db-dotnet.

    Open in GitHub Codespaces

  2. Na página Criar codespace, examine as configurações do codespace e selecione Criar novo codespace.

  3. Aguarde até que o codespace seja iniciado. Esse processo de inicialização pode levar alguns minutos.

  4. Abra um novo terminal no codespace.

  5. Valide se o .NET 8 está instalado em seu ambiente:

    dotnet --list-sdks
    
  6. Feche o terminal.

Os exercícios restantes neste projeto ocorrem no contexto desse contêiner de desenvolvimento.