Partilhar via


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

Neste Início Rápido, vai criar um conjunto de ficheiros de configuração do construtor de API de Dados para direcionar o emulador do Azure Cosmos DB para NoSQL.

Pré-requisitos

Dica

Em alternativa, abra este Início Rápido no GitHub Codespaces com todos os pré-requisitos do programador já instalados. Basta trazer a sua própria subscrição do Azure. As contas do GitHub incluem uma elegibilidade de armazenamento e horas essenciais sem custos. Para obter mais informações, veja o armazenamento incluído e as horas principais das contas do GitHub.

Abrir no GitHub Codespaces

Instalar a CLI do Construtor de API de Dados

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

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

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Nota

    Se o pacote já estiver instalado, irá atualizar o pacote com dotnet tool update.

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

    dotnet tool list --global
    

Configurar a base de dados local

Comece por executar o emulador local. Em seguida, pode propagar um novo contentor com dados de exemplo.

  1. Obtenha a cópia mais recente da imagem de contentor do mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Inicie o contentor do Docker ao publicar 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. Transferir o certificado autoassinado para o emulador

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Instale o certificado autoassinado através dos passos do Bash para Linux ou dos passos do PowerShell para Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Ligue-se à base de dados local com o seu ambiente de gestão de dados preferencial. Os exemplos incluem, mas não estão limitados a: Azure Data Studio e a extensão de Bases de Dados do Azure para Visual Studio Code.

    Dica

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

  6. Create uma nova bookshelf base de dados e authors um contentor.

  7. Propagar o contentor com estes 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 utilizado para propagar dados dependerá em grande parte da ferramenta de gestão de dados. Para o Azure Data Studio, pode guardar esta matriz JSON como um ficheiro .json e, em seguida, utilizar a funcionalidade Importar .

Create ficheiros de configuração

Create um ficheiro de configuração de linha de base com a CLI da DAB. Em seguida, adicione um ficheiro de configuração de desenvolvimento com as suas credenciais atuais.

  1. Create um novo ficheiro com o nome schema.graphql com este conteúdo de esquema.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create um ficheiro de configuração típico com dab init. Adicione o --connection-string argumento com o cadeia de ligação predefinido 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 Autor com dab add.

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

Testar a API com a base de dados local

Agora, inicie a ferramenta de construtor de API de Dados para validar que os ficheiros de configuração são intercalados durante o desenvolvimento.

  1. Utilize dab start para executar a ferramenta e criar pontos finais de API para a sua entidade.

    dab start
    
  2. O resultado da ferramenta deve incluir o endereço a utilizar para navegar para 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, a aplicação está em execução na localhost porta 5000. A sua aplicação em execução pode ter um endereço e porta diferentes.

  3. Aceda ao ponto final do GraphQL ao navegar /graphql e executar esta operação.

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

    Dica

    Neste exemplo, o URL seria https://localhost:5000/graphql. Pode navegar para este URL com o seu browser.

Passo seguinte