Compartilhar via


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

Neste Início Rápido, você criará um conjunto de arquivos de configuração do Construtor de API de Dados para direcionar o emulador do Azure Cosmos DB for 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 de armazenamento e horas principais sem custo. Para obter mais informações, consulte armazenamento incluído e horas principais para 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 --global argumento .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Observação

    Se o pacote já estiver instalado, você atualizará o pacote usando dotnet tool update.

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

    dotnet tool list --global
    

Configurar o banco de dados local

Comece executando o emulador local. Em seguida, você pode propagar um novo contêiner com dados de exemplo.

  1. Obtenha a cópia mais recente da mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest imagem de contêiner 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. Os exemplos incluem, mas não se limitam a: Azure Data Studio e a extensão de Bancos de Dados do Azure para Visual Studio Code.

    Dica

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

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

  7. Propagar 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"
      }
    ]
    

    Dica

    O método usado para propagar dados dependerá em grande parte da ferramenta de gerenciamento de dados. Para o Azure Data Studio, você pode salvar essa matriz JSON como um arquivo .json e, em seguida, usar o recurso Importar .

Criar arquivos de configuração

Create 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. Create um novo arquivo chamado schema.graphql com esse conteúdo de esquema.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create um arquivo de configuração típico usando dab init. Adicione o --connection-string argumento com o 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. Adicione 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 executar a ferramenta e criar pontos de extremidade 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á em localhost execução na porta 5000. Seu aplicativo em execução pode ter um endereço e uma porta diferentes.

  3. Vá para o ponto de extremidade GraphQL navegando até /graphql e executando essa 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 o navegador da Web.

Próxima etapa