次の方法で共有


クイック スタート: NoSQL でデータ API ビルダーを使用する

このクイック スタートでは、Azure Cosmos DB for NoSQL エミュレーターを対象とする一連のデータ API ビルダー構成ファイルをビルドします。

前提条件

ヒント

または、すべての開発者の前提条件が既にインストールされている GitHub Codespaces でこのクイックスタートを開きます。 独自の Azure サブスクリプションを持ち込むだけです。 GitHub アカウントには、ストレージとコア時間のエンタイトルメントが無償で含まれています。 詳細については、 GitHub アカウントの含まれているストレージとコア時間に関するページを参照してください。

GitHub Codespace で開く

Data API ビルダー CLI をインストールする

Microsoft.DataApiBuilder NuGet から .NET ツールとしてパッケージをインストールします。

  1. を使用して、 引数を指定dotnet tool installして 最新バージョンの をMicrosoft.DataApiBuilder--globalインストールします。

    dotnet tool install --global Microsoft.DataApiBuilder
    

    注意

    パッケージが既にインストールされている場合は、 を使用して dotnet tool updateパッケージを更新します。

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. 引数を使用して--global、ツールが インストールdotnet tool listされていることを確認します。

    dotnet tool list --global
    

ローカル データベースを構成する

まず、ローカル エミュレーターを実行します。 その後、サンプル データを含む新しいコンテナーをシードできます。

  1. Docker Hubからコンテナー イメージのmcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest最新のコピーを取得します。

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. ポート 8081 とポート範囲 10250から 10255 を発行して、Docker コンテナーを起動します。

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. エミュレーターの自己署名証明書をダウンロードする

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Linux 用の Bash ステップまたは Windows の PowerShell 手順を使用して、自己署名証明書をインストールします。

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. 優先するデータ管理環境を使用して、ローカル データベースに接続します。 たとえば、 Azure Data StudioVisual Studio Code 用の Azure Databases 拡張機能などがありますが、これらに限定されません。

    ヒント

    エミュレーターの既定の接続文字列は ですAccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

  6. bookshelfしいデータベースとauthorsコンテナーをCreateします。

  7. この基本的な JSON データを使用してコンテナーをシードします。

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

    ヒント

    データのシード処理に使用される方法は、主にデータ管理ツールに依存します。 Azure Data Studio の場合は、この JSON 配列を .json ファイルとして保存し、 インポート 機能を使用できます。

構成ファイルを作成する

DAB CLI を使用してベースライン構成ファイルをCreateします。 次に、現在の資格情報を使用して開発構成ファイルを追加します。

  1. このスキーマ コンテンツを使用して、schema.graphql という名前の新しいファイルをCreateします。

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. を使用して、一般的な構成ファイルをCreatedab initします。 エミュレーターの--connection-string既定の接続文字列を使用して 引数を追加します。

    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. を使用して Author エンティティを dab add追加します。

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

ローカル データベースを使用して API をテストする

次に、Data API ビルダー ツールを起動して、開発中に構成ファイルがマージされていることを検証します。

  1. を使用して dab start 、ツールを実行し、エンティティの API エンドポイントを作成します。

    dab start
    
  2. ツールの出力には、実行中の API に移動するために使用するアドレスを含める必要があります。

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

    ヒント

    この例では、アプリケーションはポート 5000 で実行されていますlocalhost。 実行中のアプリケーションのアドレスとポートが異なる場合があります。

  3. この操作に移動して実行して、GraphQL エンドポイントに/graphql移動します。

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

    ヒント

    この例では、URL は になります https://localhost:5000/graphql。 この URL には、Web ブラウザーを使用して移動できます。

次のステップ