次の方法で共有


Web API クエリ データ サンプル (PowerShell)

この PowerShell バージョン 7.4.0 サンプルでは、Dataverse Web API を使用して Microsoft Dataverse テーブル行に対してさまざまなクエリ操作を実行する方法を示します。 このサンプルでは、 Web API クエリ データ サンプルで詳しく説明されている Dataverse 操作とコンソール出力を実装します。

このサンプルでは、Dataverse Web API PowerShell ヘルパー関数 を使用して認証を管理し、一般的な操作を実行する再利用可能な関数を提供します。 これらのスクリプトは、次の行で ドット ソーシング を使用して参照されます。

. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1

このサンプルは Windows、Linux、macOS で動作するはずですが、Windows でのみテストされています。

[前提条件]

このサンプルを実行する前に、これらのサンプルで使用される概念とパターンについて説明した次の記事を読む必要があります。

これらの記事には同じ前提条件があります。

以下をインストールするか、インストールされていることを確認する

インストールを検証する

  1. Visual Studio Code を開きます。

  2. [ ターミナル ] メニューの [ 新しいターミナル] を選択します。

  3. Visual Studio Code ナビゲーション ウィンドウで、PowerShell 拡張機能の アイコンを選択します。

  4. Visual Studio Code ターミナル ウィンドウで、次のスクリプトをコピーして貼り付けます:

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Enter キーを押します。 出力は次のようになります。

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

このような結果が表示されない場合は、前提条件をインストールまたは更新してください。

さらに必要なこと

  • Dataverse 環境に有効なユーザー アカウント
  • 接続する Dataverse 環境への URL。 検索方法については、開発者向けリソースを表示 をご覧ください。 次のようになります: https://yourorg.crm.dynamics.com/、これは yourorg.crm が異なります。
  • PowerShell スクリプト言語の基本的な解釈

このサンプルを実行する方法

  1. PowerApps-サンプル リポジトリをクローンまたはダウンロードします。

  2. Visual Studio Code を使って QueryData.ps1 ファイルを開きます

  3. この行を編集して、接続したい環境の URL を使用します。

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (オプション) このサンプルが作成するレコードを削除したくない場合は、$deleteCreatedRecords 変数を $false に設定します。

  5. F5 を押してサンプルを実行します。

  6. サンプルを初めて実行すると、ブラウザ ウィンドウが開きます。 ブラウザ ウィンドウで、認証に使用する資格情報を入力または選択します。

別のユーザーとして接続するには、Disconnect-AzAccount コマンド を実行して、再試行してください。

Code

このサンプルのコードは、PowerApps-Samples/dataverse/webapi/PS/QueryData/QueryData.ps1 にあります。

対象

このサンプルには 11 つのリージョンがあります:

セクション 0: クエリするレコードを作成

操作: 関連する連絡先レコードおよび各連絡先に関連するタスクレコードを含むアカウントレコードを作成します。 これは、デモ全体で使用されるサンプル データです。

セクション 1: 特定のプロパティの選択

オペレーション

  • システム クエリ オプション $select 使用して、特定のプロパティを取得します。
  • 書式設定された値を取得するには、ヘッダー Prefer: odata.include-annotations="*" を含めます。

セクション 2: クエリ関数の使用

オペレーション

  • 結果をフィルター処理するには、 containsendswithstartswith などの標準クエリ関数を使用します。
  • LastXHoursLast7DaysTodayBetweenInなどの Dataverse 固有のクエリ関数を使用します。
  • フィルター演算子と論理演算子 (eqnegtandor) を使用します。
  • フィルター式で丸括弧を使用して優先順位を設定します。

セクション 3: 順序とエイリアス

オペレーション

  • $orderbyを使用してクエリ結果を並べ替えます。
  • $filter$orderbyでパラメーター化されたエイリアスを使用して、クエリを簡略化します。

セクション 4: 結果の制限とカウント

オペレーション

  • $topを使用して、返される結果の数を制限します。
  • $countを使用して、クエリに一致するレコードの合計数を取得します。

セクション 5: ページ割り付け

オペレーション

  • ページ サイズを制御するには、 Prefer: odata.maxpagesize 要求ヘッダーを使用します。
  • @odata.nextLink注釈を使用して、後続の結果ページを取得します。

セクション 6: 結果の拡張

オペレーション

  • $expandを単一値ナビゲーション プロパティと共に使用して、関連レコードを含めます。
  • コレクション値ナビゲーション プロパティで $expand を使用します。
  • 1 つの要求で複数のナビゲーション プロパティで $expand を使用します。
  • 入れ子になった $expand を使用して、複数のレベルの関連レコードを取得します。

セクション 7: 結果の集計

操作: 集計値を計算するには、$apply=aggregateaveragesumminなどの関数でmaxを使用します。

セクション 8: FetchXML クエリ

オペレーション

  • fetchXml クエリ文字列パラメーターと共に FetchXML を使用して要求を送信します。
  • page属性とcount属性を使用して FetchXML でページングを使用します。

セクション 9: 定義済みのクエリの使用

オペレーション

  • savedQuery パラメーターを使用して、保存されたクエリ (システム ビュー) を実行します。
  • userQuery パラメーターを使用してユーザー クエリ(保存されたビュー)を実行します。

セクション 10: サンプル レコードを削除

操作: このサンプルで作成された各レコードへの参照は、作成時にリストに追加されました。 このセクションでは、そのリストをループし、各レコードを削除します。

クリーンアップ

デフォルトでは、このサンプルでは作成されたすべてのレコードが削除されます。 サンプルの完了後に作成されたレコードを表示したい場合は、deleteCreatedRecords 変数を false に変更して、レコードを削除するかどうかを決定するプロンプトが表示されます。

こちらも参照ください

Dataverse Web API を使用する
Web API を使用してデータのクエリを実行する
PowerShell と Visual Studio Code を使用したクイック スタート Web API
Dataverse Web API で PowerShell と Visual Studio Code を使用する
Web API サンプル
Web API クエリ データのサンプル
Web API クエリ データのサンプル (C#)
Web API クエリ データ サンプル (クライアント側 JavaScript)