Bagikan melalui


Mulai cepat: Menggunakan penyusun API Data dengan NoSQL

Dalam Mulai Cepat ini, Anda membuat sekumpulan file konfigurasi penyusun Api Data untuk menargetkan emulator Azure Cosmos DB for NoSQL.

Prasyarat

Tip

Atau, buka Mulai Cepat ini di GitHub Codespaces dengan semua prasyarat pengembang sudah diinstal. Cukup bawa langganan Azure Anda sendiri. Akun GitHub mencakup hak penyimpanan dan jam inti tanpa biaya. Untuk informasi selengkapnya, lihat penyimpanan yang disertakan dan jam inti untuk akun GitHub.

Buka di GitHub Codespaces

Menginstal CLI penyusun API Data

Microsoft.DataApiBuilder Instal paket dari NuGet sebagai alat .NET.

  1. Gunakan dotnet tool install untuk menginstal versi terbaru dengan Microsoft.DataApiBuilder--global argumen .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Catatan

    Jika paket sudah diinstal, Anda akan memperbarui paket sebagai gantinya menggunakan dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Verifikasi bahwa alat diinstal dengan dotnet tool list menggunakan --global argumen .

    dotnet tool list --global
    

Mengonfigurasi database lokal

Mulailah dengan menjalankan emulator lokal. Kemudian, Anda dapat menyemai kontainer baru dengan data sampel.

  1. Dapatkan salinan terbaru gambar mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest kontainer dari Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Mulai kontainer docker dengan menerbitkan port 8081 dan rentang port 10250-10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Mengunduh sertifikat yang ditandatangani sendiri untuk emulator

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Instal sertifikat yang ditandatangani sendiri menggunakan langkah Bash untuk Linux, atau langkah-langkah PowerShell untuk Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Sambungkan ke database lokal Anda menggunakan lingkungan manajemen data pilihan Anda. Contohnya termasuk, tetapi tidak terbatas pada: Azure Data Studio, dan ekstensi Azure Databases untuk Visual Studio Code.

    Tip

    String koneksi default untuk emulator adalah AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Create database dan authors kontainer barubookshelf.

  7. Seed kontainer dengan data JSON dasar ini.

    [
      {
        "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"
      }
    ]
    

    Tip

    Metode yang digunakan untuk menyemai data sebagian besar akan bergantung pada alat manajemen data. Untuk Azure Data Studio, Anda dapat menyimpan array JSON ini sebagai file .json lalu menggunakan fitur Impor .

Create file konfigurasi

Create file konfigurasi dasar menggunakan DAB CLI. Kemudian, tambahkan file konfigurasi pengembangan dengan kredensial Anda saat ini.

  1. Create file baru bernama schema.graphql dengan konten skema ini.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create file konfigurasi umum menggunakan dab init. --connection-string Tambahkan argumen dengan string koneksi default emulator.

    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. Tambahkan entitas Penulis menggunakan dab add.

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

Menguji API dengan database lokal

Sekarang, mulai alat penyusun Api Data untuk memvalidasi bahwa file konfigurasi Anda digabungkan selama pengembangan.

  1. Gunakan dab start untuk menjalankan alat dan membuat titik akhir API untuk entitas Anda.

    dab start
    
  2. Output alat harus menyertakan alamat yang akan digunakan untuk menavigasi ke API yang sedang berjalan.

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

    Tip

    Dalam contoh ini, aplikasi berjalan di localhost port 5000. Aplikasi Anda yang sedang berjalan mungkin memiliki alamat dan port yang berbeda.

  3. Buka titik akhir GraphQL dengan menavigasi ke /graphql dan menjalankan operasi ini.

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

    Tip

    Dalam contoh ini, URL akan menjadi https://localhost:5000/graphql. Anda dapat menavigasi ke URL ini menggunakan browser web Anda.

Langkah selanjutnya