Compartir a través de


Inicio rápido: Uso de Data API Builder con NoSQL

En este inicio rápido, creará un conjunto de archivos de configuración del Generador de API de datos para dirigirse al Azure Cosmos DB para NoSQL emulador.

Prerrequisitos

Sugerencia

Como alternativa, abra este inicio rápido en GitHub Codespaces con todos los requisitos previos del desarrollador ya instalados. Simplemente traiga su propia suscripción de Azure. GitHub cuentas incluyen un derecho de almacenamiento y horas básicas sin costo alguno. Para obtener más información, consulte almacenamiento incluido y horas centrales para cuentas de GitHub.

Abrir en GitHub Codespaces

Instalación de la CLI de Data API Builder

Instale el paquete Microsoft.DataApiBuilder desde NuGet como herramienta de .NET.

  1. Utiliza para instalar la versión más reciente de con el argumento .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Nota:

    Si el paquete ya está instalado, actualice el paquete en su lugar mediante .

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Compruebe que la herramienta está instalada con el parámetro usando .

    dotnet tool list --global
    

Configuración de la base de datos local

Empiece ejecutando el emulador local. A continuación, puede inicializar un nuevo contenedor con datos de ejemplo.

  1. Obtenga la versión más reciente de la imagen de contenedor mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest desde Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Inicie el contenedor de Docker publicando el puerto 8081 y el intervalo de puertos 10250-10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Descarga del certificado autofirmado para el emulador

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Instale el certificado autofirmado mediante los pasos Bash para Linux o los pasos de PowerShell para Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Conéctese a la base de datos local mediante el entorno de administración de datos preferido. Algunos ejemplos son, entre otros: la extensión Azure Databases para Visual Studio Code.

    Sugerencia

    El cadena de conexión predeterminado del emulador es AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==.

  6. Cree una nueva base de datos y un contenedor.

  7. Inicializar el contenedor con estos datos 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"
      }
    ]
    

Creación de archivos de configuración

Cree un archivo de configuración de línea base mediante la CLI de DAB. A continuación, agregue un archivo de configuración de desarrollo con las credenciales actuales.

  1. Cree un nuevo archivo denominado schema.gql con este contenido de esquema.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    

    Nota:

    En este ejemplo, no especifica un argumento. Cuando se omite, DAB asigna el nombre de tipo GraphQL () al nombre de entidad (). Los nombres deben coincidir exactamente y son sensibles a mayúsculas y minúsculas.

  2. Cree un archivo de configuración típico mediante . Agregue el argumento --connection-string con la cadena de conexión predeterminada del emulador.

    dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.gql --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
    
  3. Agregue una entidad Author mediante .

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

API de prueba con la base de datos local

Ahora, inicie la herramienta Generador de API de datos para validar que los archivos de configuración se combinan durante el desarrollo.

  1. Use para ejecutar la herramienta y crear puntos de conexión de API para la entidad.

    dab start
    
  2. La salida de la herramienta debe incluir la dirección que se va a usar para navegar a la API en ejecución.

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

    Sugerencia

    En este ejemplo, la aplicación se ejecuta en el puerto 5000. La aplicación en ejecución puede tener una dirección y un puerto diferentes.

  3. Vaya al punto de conexión de GraphQL; para ello, vaya a y ejecute esta operación.

    Antes de consultar GraphQL, puede validar el inicio abriendo el punto de conexión raíz (). Una respuesta correcta incluye campos como , y .

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

    Sugerencia

    En este ejemplo, la dirección URL es .

    Dado que en este inicio rápido se utiliza la navegación del navegador para abrir Nitro, En el modo de producción, Nitro no se muestra para la navegación en el navegador.

Paso siguiente