Compartilhar via


Início Rápido: Usar o construtor de API de Dados com o NoSQL

Nesta Introdução Rápida, você cria um conjunto de arquivos de configuração para construtor de API de Dados, destinado ao emulador do Azure Cosmos DB para NoSQL.

Pré-requisitos

Dica

Como alternativa, abra este Início Rápido nos Codespaces do GitHub com todos os pré-requisitos do desenvolvedor já instalados. Basta trazer sua própria assinatura do Azure. As contas do GitHub incluem um direito a horas de armazenamento e núcleo sem nenhum custo. Para obter mais informações, confira Horas de armazenamento e núcleo incluídas nas contas do GitHub.

Abrir no GitHub Codespaces

Instalar a CLI do construtor de API de Dados

Instale o Microsoft.DataApiBuilder pacote do NuGet como uma ferramenta .NET.

  1. Use dotnet tool install para instalar a versão mais recente do Microsoft.DataApiBuilder com o argumento --global.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Observação

    Se o pacote já estiver instalado, atualize o pacote usando dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Verifique se a ferramenta está instalada usando dotnet tool list o --global argumento.

    dotnet tool list --global
    

Configurar o banco de dados local

Comece executando o emulador local. Em seguida, você pode semear um novo contêiner usando dados de amostra.

  1. Obtenha a versão mais recente da imagem de contêiner mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest do Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Inicie o contêiner do Docker publicando a porta 8081 e o intervalo de portas 10250-10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Baixar o certificado autoassinado para o emulador

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Instale o certificado autoassinado usando as etapas do Bash para Linux ou as etapas do PowerShell para Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Conecte-se ao banco de dados local usando seu ambiente de gerenciamento de dados preferido. Exemplos incluem, mas não se limitam a: a extensão bancos de dados do Azure para Visual Studio Code.

    Dica

    A cadeia de conexão padrão para o emulador é AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Crie um novo bookshelf banco de dados e authors um contêiner.

  7. Semente o contêiner com esses dados JSON básicos.

    [
      {
        "id": "01",
        "firstName": "Henry",
        "lastName": "Ross"
      },
      {
        "id": "02",
        "firstName": "Jacob",
        "middleName": "A.",
        "lastName": "Hancock"
      },
      {
        "id": "03",
        "firstName": "Sydney",
        "lastName": "Mattos"
      },
      {
        "id": "04",
        "firstName": "Jordan",
        "lastName": "Mitchell"
      },
      {
        "id": "05",
        "firstName": "Victoria",
        "lastName": "Burke"
      },
      {
        "id": "06",
        "firstName": "Vance",
        "lastName": "DeLeon"
      },
      {
        "id": "07",
        "firstName": "Reed",
        "lastName": "Flores"
      },
      {
        "id": "08",
        "firstName": "Felix",
        "lastName": "Henderson"
      },
      {
        "id": "09",
        "firstName": "Avery",
        "lastName": "Howard"
      },
      {
        "id": "10",
        "firstName": "Violet",
        "lastName": "Martinez"
      }
    ]
    

Criar arquivos de configuração

Crie um arquivo de configuração de linha de base usando a CLI do DAB. Em seguida, adicione um arquivo de configuração de desenvolvimento com suas credenciais atuais.

  1. Crie um novo arquivo chamado schema.graphql com esse conteúdo de esquema.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Criar um arquivo de configuração típico usando dab init. Adicione o argumento --connection-string com a cadeia de conexão padrão do emulador.

    dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.graphql --connection-string "AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
    
  3. Adicionar uma entidade Author usando dab add.

    dab add Author --source "authors" --permissions "anonymous:*"
    

Testar a API com o banco de dados local

Agora, inicie a ferramenta construtor de API de Dados para validar se os arquivos de configuração são mesclados durante o desenvolvimento.

  1. Use dab start para utilizar a ferramenta e criar endpoints de API para sua entidade.

    dab start
    
  2. A saída da ferramenta deve incluir o endereço a ser usado para navegar até a API em execução.

          Successfully completed runtime initialization.
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: <http://localhost:5000>
    info: Microsoft.Hosting.Lifetime[0]
    

    Dica

    Neste exemplo, o aplicativo está sendo executado em localhost na porta 5000. Seu aplicativo em execução pode ter um endereço e uma porta diferentes.

  3. Vá para o endpoint GraphQL navegando até /graphql e executando esta operação.

    query {
      authors {
        items {
          id
          firstName
          lastName
        }
      }
    }
    

    Dica

    Neste exemplo, a URL seria https://localhost:5000/graphql. Você pode navegar até essa URL usando seu navegador da Web.

Próxima etapa