Microsoft Graph データ接続のユーザー選択およびフィルター処理機能
Microsoft Graph データ接続を使用して、データを抽出するユーザーを選択し、返されるデータを制限するフィルターを追加できます。 この記事では、データ接続が提供するユーザーの選択範囲オプションと、データ接続がサポートするフィルター処理について説明します。
複数のユーザーにパイプラインを実行できます。 ユーザーの選択範囲オプションは次のとおりです。
- 組織内のすべてのユーザー
- 組織内の最大 10 グループのユーザー
- Microsoft Entra ユーザー プロパティで構成される述語に基づく一連のユーザー
Azure Synapse または Azure Data Factory のコピー アクティビティの SourceDataSet でユーザーの選択を指定します。 グループのリストで実行するには、typeProperties に新規フィールド allowedGroups を追加し、これをコンマで区切った最大 10 グループのオブジェクト ID のリストに設定します。 既定でグループが指定されていない場合は、組織全体にデータが抽出されます。
テナント全体で実行する述語を指定するには、typeProperties に新規フィールド userScopeFilterUri を追加し、これを述語に設定します。 述語の形式は、Microsoft Graph API のクエリ形式に一致する必要があります。 たとえば、財務部門で働いているユーザーに対して選択範囲を制限する場合は、https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'
を使用できます。 選択を 1 人のユーザーに制限する場合は、https://graph.microsoft.com/v1.0/users?$filter=mail eq 'contosouser1@contoso.com'
を使用できます。
クエリは、クエリを実行している Microsoft 365 の組織内のユーザーのみを返します。 ゲスト ユーザーとユーザー以外のメールボックスは返されません。
DateTime プロパティを使用して、クエリの抽出結果を制限できます。 要求されたデータの種類によっては、DateTime フィルターが必要になる可能性があります。 DateTime フィルターは、Azure Synapse または Azure Data Factory コピー アクティビティの SourceDataSet のプロパティを使用して提供されます。 DateTime フィルターを指定するには、typeProperties に新規フィールド dateFilterColumn を追加して、これを次の表のフィルター処理をサポートするプロパティのいずれかに設定します。 次に、startTime と endTime を追加します。これは、プロパティがフィルター処理される DateTime の値を表します。
次のデータセットには、対応する DateTime プロパティのいずれかに指定するフィルターが必要です。
データセット名 | フィルター処理をサポートしているプロパティ |
---|---|
BasicDataSet_v0.Event_v0 BasicDataSet_v0.Event_v1 |
CreatedDateTime LastModifiedDateTime |
BasicDataSet_v0.Message_v0 BasicDataSet_v0.Message_v1 |
CreatedDateTime LastModifiedDateTime ReceivedDateTime SentDateTime |
BasicDataSet_v0.SentItem_v0 BasicDataSet_v0.SentItem_v1 |
CreatedDateTime LastModifiedDateTime ReceivedDateTime SentDateTime |
注意
BasicDataSet_v0.CalendarView_v0 を要求しているパイプラインにも DateTime フィルターが必要ですが、SourceDataSet に dateFilterColumn が指定されていません。 ただし、startTime と endTime が必要で、startTime の後に開始し、endTime が指定される前に終了するイベントのみです。