Compartir a través de


Inicio rápido: Uso del generador de API de datos con NoSQL

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

Requisitos previos

Sugerencia

Como alternativa, abra este inicio rápido en GitHub Codespaces con todos los requisitos previos para desarrolladores ya instalados. Basta con traer su propia suscripción de Azure. Las cuentas de GitHub incluyen un derecho de almacenamiento y horas básicas sin costo alguno. Para más información, consulte horas de almacenamiento y núcleo incluidas para las cuentas de GitHub.

Abrir en GitHub Codespaces

Instalación de la CLI de Data API Builder

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

  1. Use dotnet tool install para instalar la versión más reciente de Microsoft.DataApiBuilder con el --global argumento .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Nota

    Si el paquete ya está instalado, actualizará el paquete en su lugar mediante dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Compruebe que la herramienta está instalada con dotnet tool list el --global argumento .

    dotnet tool list --global
    

Configuración de la base de datos local

Para empezar, ejecute el emulador local. A continuación, puede inicializar un nuevo contenedor con datos de ejemplo.

  1. Obtenga la copia más reciente de la mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest imagen de contenedor de 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 de 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. Entre los ejemplos se incluyen, entre otros: Azure Data Studio y la extensión Azure Databases para Visual Studio Code.

    Sugerencia

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

  6. Create una nueva bookshelf base de datos y authors 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"
      }
    ]
    

    Sugerencia

    El método usado para inicializar datos dependerá en gran medida de la herramienta de administración de datos. Para Azure Data Studio, puede guardar esta matriz JSON como un archivo .json y, a continuación, usar la característica Importar .

Creación de archivos de configuración

Create 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. Create un nuevo archivo denominado schema.graphql con este contenido de esquema.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create un archivo de configuración típico mediante dab init. Agregue el argumento con el --connection-string cadena de conexión predeterminado del 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. Agregue una entidad Author mediante dab add.

    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 dab start 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 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 localhost 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 /graphql y ejecute esta operación.

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

    Sugerencia

    En este ejemplo, la dirección URL sería https://localhost:5000/graphql. Puede navegar a esta dirección URL mediante el explorador web.

Paso siguiente