Aracılığıyla paylaş


Hızlı Başlangıç: NoSQL ile Veri API oluşturucusu kullanma

Bu Hızlı Başlangıçta, NoSQL için Azure Cosmos DB öykünücüsünün hedefine yönelik bir dizi Data API builder yapılandırma dosyası oluşturacaksınız.

Önkoşullar

İpucu

Alternatif olarak, bu Hızlı Başlangıcı GitHub Codespaces'ta açın ve tüm geliştirici önkoşulları zaten yüklüdür. Kendi Azure aboneliğinizi getirmeniz yeterlidir. GitHub hesapları, depolama ve çekirdek saatleri için hiçbir ücret ödemeden yetkilendirme içerir. Daha fazla bilgi için bkz. GitHub hesapları için dahil edilen depolama ve çekirdek saatler.

GitHub Codespaces'ta aç

Data API builder CLI'sını yükleme

NuGet'ten Microsoft.DataApiBuilder paketini .NET aracı olarak yükleyin.

  1. öğesinin en son sürümünü Microsoft.DataApiBuilder bağımsız değişkeniyle --global yüklemek için kullanındotnet tool install.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Not

    Paket zaten yüklüyse, yerine kullanarak dotnet tool updatepaketi güncelleştirirsiniz.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Aracının bağımsız değişkenini --global kullanarak yüklendiğini dotnet tool list doğrulayın.

    dotnet tool list --global
    

Yerel veritabanını yapılandırma

Yerel öykünücüyü çalıştırarak başlayın. Daha sonra örnek verilerle yeni bir kapsayıcı görebilirsiniz.

  1. kapsayıcı görüntüsünün mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest en son kopyasını Docker Hub alın.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. 8081 numaralı bağlantı noktasını ve 10250-10255 bağlantı noktası aralığını yayımlayarak docker kapsayıcısını başlatın.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Öykünücü için otomatik olarak imzalanan sertifikayı indirme

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Linux için Bash adımlarını veya Windows için PowerShell adımlarını kullanarak otomatik olarak imzalanan sertifikayı yükleyin.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Tercih ettiğiniz veri yönetimi ortamını kullanarak yerel veritabanınıza bağlanın. Örnekler şunlardır ancak bunlarla sınırlı değildir: Azure Data Studio ve Visual Studio Code için Azure Veritabanları uzantısı.

    İpucu

    Öykünücü için varsayılan bağlantı dizesi şeklindedirAccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Yeni bookshelf bir veritabanı ve authors kapsayıcı İçerik Oluşturucu.

  7. Kapsayıcıyı bu temel JSON verileriyle dağıtın.

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

    İpucu

    Verileri görmek için kullanılan yöntem büyük ölçüde veri yönetimi aracına bağlıdır. Azure Data Studio için bu JSON dizisini .json dosyası olarak kaydedebilir ve ardından İçeri Aktarma özelliğini kullanabilirsiniz.

yapılandırma dosyalarını İçerik Oluşturucu

DAB CLI kullanarak bir temel yapılandırma dosyası İçerik Oluşturucu. Ardından, geçerli kimlik bilgilerinizle bir geliştirme yapılandırma dosyası ekleyin.

  1. Bu şema içeriğiyle schema.graphql adlı yeni bir dosya İçerik Oluşturucu.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. kullanarak dab inittipik bir yapılandırma dosyası İçerik Oluşturucu. Öykünücünün --connection-string varsayılan bağlantı dizesi bağımsız değişkenini ekleyin.

    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. kullanarak dab addbir Author varlığı ekleyin.

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

API'yi yerel veritabanıyla test etme

Şimdi, yapılandırma dosyalarınızın geliştirme sırasında birleştirildiğini doğrulamak için Data API oluşturucu aracını başlatın.

  1. Aracı çalıştırmak ve varlığınız için API uç noktaları oluşturmak için kullanın dab start .

    dab start
    
  2. Aracın çıktısı, çalışan API'ye gitmek için kullanılacak adresi içermelidir.

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

    İpucu

    Bu örnekte, uygulama 5000 numaralı bağlantı noktasında üzerinde çalışmaktadırlocalhost. Çalışan uygulamanızın farklı bir adresi ve bağlantı noktası olabilir.

  3. Bu işleme gidip /graphql çalıştırarak GraphQL uç noktasına gidin.

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

    İpucu

    Bu örnekte URL olacaktır https://localhost:5000/graphql. Web tarayıcınızı kullanarak bu URL'ye gidebilirsiniz.

Sonraki adım