CData Sync App は、Microsoft Teams データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Microsoft Teams コネクタはCData Sync アプリケーションから使用可能で、Microsoft Teams からデータを取得して、サポートされている任意の同期先に移動できます。
Microsoft Graph API v1.0 経由でMicrosoft Teams データに連携します。
必須プロパティについては、設定タブを参照してください。
通常必須ではない接続プロパティについては、高度な設定タブを参照してください。
Web アプリケーションを介したAzure AD への認証には、 常にカスタムOAuth アプリケーションの作成が必要です。
カスタムOAuthアプリケーションの作成の詳細については、Azure AD アプリケーションの作成 を参照してください。
Azure サービスプリンシパルは、ロールに基づいたアプリケーションベースの認証です。これは、認証がユーザーごとではなく、アプリケーションごとに行われることを意味します。 アプリケーションで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで、割り当てられたロールに基づいて実行されます。 リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
Azure サービスプリンシパル認証の設定方法については、サービスプリンシパルによるAzure AD アプリの作成 を参照してください。
Azure VM 上でMicrosoft Teams を実行しており、マネージドID(MSI)認証情報を自動的に取得して接続したい場合は、AuthScheme を AzureMSI に設定します。
VM に複数のユーザーが割り当てられたマネージドID がある場合は、OAuthClientId も指定する必要があります。
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でMicrosoft Teams に接続する際に使用できます。 Web 経由でMicrosoft Teams に接続するには、ここで説明するようにカスタムアプリケーションの作成が必要です。
しかし、カスタムAzure AD アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、他の認証フロー用にカスタムアプリケーションを作成(独自のAzure AD アプリケーションクレデンシャルを使用)したい場合があります。
カスタムOAuth アプリケーションは、次のような場合に有用です。
このアプリケーションがサポートすべきアカウントの種類を指定します。
Note: この組織ディレクトリ内のアカウントのみ(デフォルト)を選択する場合は、CData Sync App への接続を確立するときにAzureTenant をAzure AD テナントのId に設定する必要があります。そうしないと認証に失敗します。
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でMicrosoft Teams に接続する際に使用できます。 Web 経由でMicrosoft Teams に接続するには、ここで説明するようにカスタムアプリケーションの作成が必要です。
しかし、カスタムAzure AD アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、他の認証フロー用にカスタムアプリケーションを作成(独自のAzure AD アプリケーションクレデンシャルを使用)したい場合があります。
カスタムOAuth アプリケーションは、次のような場合に有用です。
このアプリケーションがサポートすべきアカウントの種類を指定します。
Note: この組織ディレクトリ内のアカウントのみ(デフォルト)を選択する場合は、CData Sync App への接続を確立するときにAzureTenant をAzure AD テナントのId に設定する必要があります。そうしないと認証に失敗します。
Azure サービスプリンシパル認証を使用するには、認証アプリケーションにロールを割り当てる機能を設定したのち、Azure AD テナントにアプリケーションを登録し、新しいサービスプリンシパルを作成する必要があります。 この新しいサービスプリンシパルは、割り当てられたロールベースのアクセス制御を利用して、サブスクリプション内のリソースにアクセスできます。
Note: 埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、 クライアント認証フローで使用することはできません。クライアント資格情報を使用するには、必ずカスタムAzure AD アプリケーションを作成する必要があります。
Azure サービスプリンシパル認証を使用するには、認証アプリケーションにロールを割り当てる機能を設定したのち、Azure AD テナントにアプリケーションを登録し、新しいサービスプリンシパルを作成する必要があります。 この新しいサービスプリンシパルは、割り当てられたロールベースのアクセス制御を利用して、サブスクリプション内のリソースにアクセスできます。
Note: 埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、 クライアント認証フローで使用することはできません。クライアント資格情報を使用するには、必ずカスタムAzure AD アプリケーションを作成する必要があります。
このセクションでは、Microsoft Teams Sync App の高度な機能を厳選して説明します。
Sync App はユーザー定義ビューの使用をサポートします。これは事前設定されたユーザー定義クエリによって内容が決定される仮想テーブルです。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。詳しくは、「接続文字列オプション」にあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
詳しくは、クエリ処理 を参照してください。
デフォルトでは、Sync App はサーバーとのTLS のネゴシエーションを試みます。サーバー証明書は、デフォルトのシステム信頼済み証明書ストアで検証されます。SSLServerCert 接続プロパティを使用して、証明書の検証方法をオーバーライドできます。
別の証明書を指定するには、SSLServerCert 接続プロパティを参照してください。
HTTP プロキシへの認証には、以下のように設定します。
次のプロパティを設定します。
CData Sync App は、Microsoft Teams オブジェクトをリレーショナルテーブルおよびビューとしてモデル化します。 Microsoft Teams オブジェクトは他のオブジェクトとリレーションを持ちます。テーブルでは、これらのリレーションは外部キーを使用して表されます。 次のセクションでは、利用可能なAPI オブジェクトを示し、Microsoft Teams API へのSQL の実行について詳しく説明します。
ほとんどのデータベースオブジェクトのスキーマは、シンプルなテキストベースのコンフィギュレーションファイルで定義されます。
Sync App はMicrosoft Teams のデータを、標準のSQL ステートメントを使用してクエリできるリレーショナルデータベースのテーブルのリストとしてモデル化します。
| Name | Description |
| Apps | Apps table for MSTeams data provider. |
| Channels | Channels table for MSTeams data provider. |
| GroupMembers | GroupMembers table for MSTeams data provider. |
| GroupOwners | GroupOwners table for MSTeams data provider. |
| Groups | Groups table for MSTeams data provider. |
| OpenShifts | Shifts table for MSTeams data provider. |
| Schedules | Schedules table for MSTeams data provider. |
| SchedulingGroups | SchedulingGroups table for MSTeams data provider. |
| Shifts | Shifts table for MSTeams data provider. |
| Teams | Teams table for MSTeams data provider. |
| TeamsInstalledApps | TeamsInstalledApps table for MSTeams data provider. |
| TeamTabs | TeamTabs table for MSTeams data provider. |
| TimeOffReasons | TimesOffReasons table for MSTeams data provider. |
| TimesOff | TimesOff table for MSTeams data provider. |
Apps table for MSTeams data provider.
この操作は、Microsoft Teams ストアと組織のアプリカタログ(テナントアプリカタログ)のアプリを両方含みます。組織のアプリカタログのみからアプリを取得する場合は、distributionMethod にOrganization を指定してください。 Sync App はMicrosoft Teams API を使って、次のカラムと演算子で作成したWHERE 句の条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Apps WHERE DisplayName = 'MailChimp'
SELECT * FROM Apps WHERE DisplayName IN ('OneNote', 'Teams')
SELECT * FROM Apps WHERE Id LIKE '%-3b58-%'
SELECT * FROM Apps WHERE externalId IN (123, 156)
アプリは自身の組織のアプリカタログ(テナントアプリカタログ)からのみ削除できます。アプリレコードを削除するには、WHERE 句にId を指定する必要があります。
DELETE FROM Apps WHERE Id = 'ffdb7239-3b58-46ba-b108-7f90a6d8799b'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
The catalog app's generated app ID. |
| displayName | String | False |
The name of the catalog app provided by the app developer. |
| distributionMethod | String | False |
The method of distribution for the app. |
| externalId | String | False |
The ID of the catalog provided by the app developer in the Microsoft Teams zip app package. |
Channels table for MSTeams data provider.
すべてのチーム内のすべてのチャネルを取得するかTeamId を指定することで、Channels テーブルをクエリします。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。
その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Channels WHERE TeamId IN ('da838338-4e77-4c05-82a6-79d9f0274511', 'da838338-4e77-4c05-82a6-79d9f0274555')
SELECT * FROM Channels WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND Id = '19:[email protected]'
SELECT * FROM Channels WHERE description != 'desc'
Note:テーブルがId カラムでフィルタリングされた場合にのみ、summary カラムに値が入力されます。また、このテーブルのsummary カラムではフィルタリングはできません。
最低でもTeamId およびDisplayName は、チームに新しいチャネルを追加するために必須です。他のフィールドもすべて指定できます。
INSERT INTO Channels (displayName, description, TeamId) VALUES ('a new channel', 'top tasks channel', 'da838338-4e77-4c05-82a6-79d9f0274511')
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
The channel's unique identifier. |
| TeamId | String | False |
The Team Id. |
| CreatedDateTime | Datetime | False |
Timestamp at which the channel was created. |
| Description | String | False |
Optional textual description for the channel. |
| DisplayName | String | False |
Channel name as it will appear to the user in Microsoft Teams. |
| String | False |
The email address for sending messages to the channel. Read-only. | |
| IsFavoriteByDefault | Bool | False |
Indicates whether the channel should automatically be marked 'favorite' for all members of the team. Can only be set programmatically with Create team. Default: false. |
| MembershipType | String | False |
The type of the channel. Can be set during creation and cannot be changed. Default: standard. |
| WebUrl | String | False |
A hyperlink that will go to the channel in Microsoft Teams. This is the URL that you get when you right-click a channel in Microsoft Teams and select Get link to channel. This URL should be treated as an opaque blob, and not parsed. |
GroupMembers table for MSTeams data provider.
チームからすべてを取得するか、GroupId を'=' とIN 演算子で指定することでGroupMembers テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのメンバーのみ返されます。組織の全グループのメンバーを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM GroupMembers WHERE GroupId IN ('4729c5e5-f923-4435-8a41-44423d42ea79', 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1')
SELECT * FROM GroupMembers WHERE GroupId = '4729c5e5-f923-4435-8a41-44423d42ea79'
GroupId およびMemberId フィールドは新しいメンバーをグループに挿入する際には必須です。MemberId はユーザーのId に対応し、Users テーブルをクエリすることでメンバーとして追加したいユーザーのId を取得できます。
INSERT INTO GroupMembers (GroupId, MemberId) VALUES ('acabe397-8370-4c31-aeb7-2d7ae6b8cda1', 'ad9de185-a7af-4ae5-946e-17fc1bf596f0')
GroupId およびMemberId を指定することでグループメンバーを削除できます。
DELETE FROM GroupMembers WHERE GroupId = 'e557c6d9-3d9a-4658-b51a-4f242c2f8ec8' AND MemberId = 'ba074a2a-69be-45d2-8519-2cc5688bca1e'
| Name | Type | ReadOnly | Description |
| GroupId [KEY] | String | False |
The Id of the Group. |
| MemberId [KEY] | String | False |
The User Id of the member listed. |
GroupOwners table for MSTeams data provider.
チームからすべてを取得するか、GroupId を'=' とIN 演算子で指定することでGroupOwners テーブルをクエリします。デフォルトでは、自身がメンバーであるグループの所有者のみ返されます。組織の全グループの所有者を取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM GroupOwners WHERE GroupId IN ('4729c5e5-f923-4435-8a41-44423d42ea79', 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1')
SELECT * FROM GroupOwners WHERE GroupId = '4729c5e5-f923-4435-8a41-44423d42ea79'
ユーザーをグループの所有者に追加できます。所有者とは、グループオブジェクトを変更できる管理者ではないユーザーのことです。GroupId およびOwnerId フィールドは、新しいメンバーをグループに挿入するために必須です。OwnerId はユーザーのId に対応し、Users テーブルをクエリすることで所有者として追加したいユーザーのId を取得できます。
INSERT INTO GroupOwners (GroupId, OwnerId) VALUES ('acabe397-8370-4c31-aeb7-2d7ae6b8cda1', 'ad9de185-a7af-4ae5-946e-17fc1bf596f0')
GroupId およびOwnerId を指定することでグループメンバーを削除できます。
DELETE FROM GroupOwners WHERE GroupId = 'e557c6d9-3d9a-4658-b51a-4f242c2f8ec8' AND OwnerId = 'ba074a2a-69be-45d2-8519-2cc5688bca1e'
| Name | Type | ReadOnly | Description |
| GroupId [KEY] | String | False |
The Id of the Group. |
| OwnerId [KEY] | String | False |
The User Id of the owner listed. |
Groups table for MSTeams data provider.
デフォルトでは、自身がメンバーであるグループのみ返されます。組織の全グループを取得するには、IncludeAllGroups プロパティをtrue に設定してください。Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Groups WHERE Id = 'aee54826-eedb-4145-8e6b-4ec1ac4d82c6'
最低でもDisplayName、MailEnabled、MailNickname、SecurityEnabled が新しいグループを挿入するには必須です。他のフィールドもすべて指定できます。
INSERT INTO Groups (DisplayName, Description, MailEnabled, MailNickname, SecurityEnabled) VALUES ('Test Group', 'Group created from Api', false, 'test123', true)
グループのレコードを更新するには、WHERE 句にId を指定してください。
UPDATE Groups SET Description = 'updated description from api' WHERE Id = 'bc48eaf7-0dc6-45d1-b17a-5b5397466ee1'
グループのレコードを削除するには、WHERE 句にId を指定してください。
DELETE FROM Groups WHERE Id = 'bc48eaf7-0dc6-45d1-b17a-5b5397466ee1'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
The unique identifier for the group. |
| DeletedDateTime | Datetime | False |
Timestamp of when the group was deleted. |
| AllowExternalSenders | Bool | False |
Indicates if people external to the organization can send messages to the group. Default value is false. |
| AssignedLabels | String | False |
The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group. |
| AssignedLicenses | String | False |
The licenses that are assigned to the group. |
| AutoSubscribeNewMembers | Bool | False |
Indicates if new members added to the group will be auto-subscribed to receive email notifications. You can set this property in a PATCH request for the group; do not set it in the initial POST request that creates the group. Default value is false. |
| Classification | String | False |
Describes a classification for the group (such as low, medium or high business impact). |
| CreatedDateTime | Datetime | False |
Timestamp of when the group was created. |
| Description | String | False |
An optional description for the group. |
| DisplayName | String | False |
The display name for the group. |
| ExpirationDateTime | Datetime | False |
Timestamp of when the group is set to expire. |
| GroupTypes | String | False |
Specifies the group type and its membership. |
| HideFromAddressLists | Bool | False |
true if the group is not displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups; false otherwise. Default value is false. |
| HideFromOutlookClients | Bool | False |
true if the group is not displayed in Outlook clients, such as Outlook for Windows and Outlook on the web, false otherwise. Default value is false. |
| IsSubscribedByMail | Bool | False |
Indicates whether the signed-in user is subscribed to receive email conversations. |
| LicenseProcessingState_state | String | False |
Indicates status of the group license assignment to all members of the group. |
| String | False |
The SMTP address for the group | |
| MailEnabled | Bool | False |
Specifies whether the group is mail-enabled. |
| MailNickname | String | False |
The mail alias for the group, unique in the organization. |
| MembershipRule | String | False |
The rule that determines members for this group if the group is a dynamic group (groupTypes contains DynamicMembership). |
| MembershipRuleProcessingState | String | False |
Indicates whether the dynamic membership processing is on or paused. Possible values are On or Paused. |
| OnPremisesDomainName | String | False |
Contains the on-premises domain FQDN, also called dnsDomainName synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. |
| OnPremisesLastSyncDateTime | Datetime | False |
Indicates the last time at which the group was synced with the on-premises directory. |
| OnPremisesNetBiosName | String | False |
Contains the on-premises netBios name synchronized from the on-premises directory. |
| OnPremisesProvisioningErrors | String | False |
Errors when using Microsoft synchronization product during provisioning. |
| OnPremisesSamAccountName | String | False |
Contains the on-premises SAM account name synchronized from the on-premises directory. The property is only populated for customers who are synchronizing their on-premises directory to Azure Active Directory via Azure AD Connect. |
| OnPremisesSecurityIdentifier | String | False |
Contains the on-premises security identifier (SID) for the group that was synchronized from on-premises to the cloud. |
| OnPremisesSyncEnabled | Bool | False |
true if this group is synced from an on-premises directory; false if this group was originally synced from an on-premises directory but is no longer synced; null if this object has never been synced from an on-premises directory (default). |
| PreferredDataLocation | String | False |
The preferred data location for the group. |
| PreferredLanguage | String | False |
The preferred language for a Microsoft 365 group. |
| ProxyAddresses | String | False |
Email addresses for the group that direct to the same group mailbox. |
| RenewedDateTime | Datetime | False |
Timestamp of when the group was last renewed. |
| SecurityEnabled | Bool | False |
Specifies whether the group is a security group. |
| SecurityIdentifier | String | False |
Security identifier of the group, used in Windows scenarios. |
| Theme | String | False |
Specifies a Microsoft 365 group's color theme. Possible values are Teal, Purple, Green, Blue, Pink, Orange or Red. |
| UnseenCount | Int | False |
Count of conversations that have received new posts since the signed-in user last visited the group. |
| Visibility | String | False |
Specifies the group join policy and group content visibility for groups. |
| Members | String | False |
The Members Id. |
| Owners | String | False |
The Owners Id. |
| UserId | String | False |
The User Id. |
Shifts table for MSTeams data provider.
チームからすべてを取得するか、GroupId を'=' とIN 演算子で指定することでOpenShifts テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームの空のシフトのみ返されます。組織の全グループのチームの空のシフトアイテムを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM OpenShifts WHERE TeamId IN ('da838338-4e77-4c05-82a6-79d9f0274511', 'da834568-4df7-4c05-82a6-79d9f0274515')
SELECT * FROM OpenShifts WHERE Id = 'OPNSHFT_2d49e6dd-d965-4ea2-a399-37f2a082852c' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
チームスケジュールに空のシフトを挿入するにはTeamId と、startDateTime およびendDateTime を含むDraftOpenShift またはSharedOpenShift の情報の、どちらか1つを含む必要があります。
INSERT INTO OpenShifts (TeamId, draftopenshift_openslotcount, draftopenshift_startDateTime, draftopenshift_endDateTime) VALUES ('da838338-4e77-4c05-82a6-79d9f0274511', 4, '2020-09-16T10:00:00.000Z', '2020-09-16T18:00:00.000Z')
空のシフトを更新するには、WHERE 句にレコードId とTeamId が必要です。TeamId、Id、CreatedDateTime 以外のすべてのフィールドを更新できます。
UPDATE OpenShifts SET draftOpenShift_theme = 'blue' WHERE Id = 'OPNSHFT_2d49e6dd-d965-4ea2-a399-37f2a082852c' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
シフトレコードを削除するには、WHERE 句にId とTeamId が必要です。
DELETE FROM OpenShifts WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND Id = 'OPNSHFT_2d49e6dd-d965-4ea2-a399-37f2a082852c'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID for the scheduling group that the open shift belongs to. |
| CreatedDateTime | Datetime | False |
Timestamp at which the openshift was created. |
| LastModifiedBy_application_displayName | String | False |
The display name of the application that last modified. |
| LastModifiedBy_application_id | String | False |
The id of the application that last modified. |
| LastModifiedDateTime | Datetime | False |
The timestamp on which this openshift was last updated. |
| DraftOpenShift_openSlotCount | Int | False |
OpenSlotCount of DraftOpenShift |
| SchedulingGroupId | String | False |
The SchedulingGroupId. |
| SharedOpenShift_openSlotCount | Int | False |
OpenSlotCount of SharedOpenShift |
| TeamId | String | False |
The Team Id. |
| DraftOpenShift_displayName | String | False |
The shift label of the shiftItem.. |
| DraftOpenShift_notes | String | False |
The shift notes for the shiftItem.. |
| DraftOpenShift_StartDateTime | Datetime | False |
StartDateTime of DraftOpenShift |
| DraftOpenShift_EndDateTime | Datetime | False |
EndDateTime of DraftOpenShift |
| SharedOpenShift_displayName | String | False |
The shift label of the shiftItem.. |
| SharedOpenShift_notes | String | False |
The shift notes for the shiftItem.. |
| SharedOpenShift_StartDateTime | Datetime | False |
StartDateTime of SharedOpenShift |
| SharedOpenShift_EndDateTime | Datetime | False |
EndDateTime of SharedOpenShift |
Schedules table for MSTeams data provider.
チームからすべてを取得するか、TeamId を'=' とIN 演算子で指定することでSchedules テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームのスケジュールアイテムのみ返されます。組織の全グループのチームからスケジュールを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Schedules WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
スケジュールのレコードを更新するには、WHERE 句にId とTeamId が必要です。
UPDATE Schedules SET timeZone = 'Africa/Casablanca', enabled = true WHERE Id = '4729c5e5-f923-4435-8a41-44423d42ea79' AND TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID of the schedule. |
| TeamId [KEY] | String | False |
The Team Id. |
| Enabled | Bool | False |
Indicates whether the schedule is enabled for the team. |
| OfferShiftRequestsEnabled | Bool | False |
Indicates whether offer shift requests are enabled for the schedule. |
| OpenShiftsEnabled | Bool | False |
Indicates whether open shifts are enabled for the schedule. |
| ProvisionStatus | String | False |
The status of the schedule provisioning. The possible values are notStarted, running, completed, failed. |
| ProvisionStatusCode | String | False |
Additional information about why schedule provisioning failed. |
| SwapShiftsRequestsEnabled | Bool | False |
Indicates whether swap shifts requests are enabled for the schedule. |
| TimeClockEnabled | Bool | False |
Indicates whether time clock is enabled for the schedule. |
| TimeOffRequestsEnabled | Bool | False |
Indicates whether time off requests are enabled for the schedule. |
| TimeZone | String | False |
Indicates the time zone of the schedule team using tz database format. |
| WorkforceIntegrationIds | String | False |
The WorkforceIntegration Ids. |
SchedulingGroups table for MSTeams data provider.
チームからすべてを取得するか、TeamId を'=' とIN 演算子で指定することでSchedulingGroups テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームのスケジュールグループのみ返されます。組織の全グループのチームからスケジュールグループを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM SchedulingGroups WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND Id = 'TAG_357350ce-2fa2-498d-9967-494296509c32'
チームにスケジュールグループを挿入するには、TeamId と最低でもDisplayName、IsActive、iconType の内1つのフィールドを指定する必要があります。
INSERT INTO SchedulingGroups (TeamId, DisplayName, IsActive) VALUES ('da838338-4e77-4c05-82a6-79d9f0274511', 'Cashiers', 'true')
スケジュールグループを更新するには、WHERE 句にId とTeamId が必要です。DisplayName およびIsActive フィールドは更新できます。
UPDATE SchedulingGroups SET DisplayName = 'Supervisors' WHERE Id = 'TAG_357350ce-2fa2-498d-9967-494296509c32' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
スケジュールグループを削除するには、WHERE 句にId とTeamId が必要です。
DELETE FROM SchedulingGroups WHERE TeamId = 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1' AND Id = 'TAG_101f11df-e7c0-49f2-8d5c-a9ad085c97aa'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID of the schedulingGroup. |
| TeamId | String | False |
The Team Id. |
| CreatedDateTime | Datetime | False |
The time stamp in which this schedulingGroup was first created. |
| LastModifiedBy_application_displayName | String | False |
The display name of the application that last modified. |
| LastModifiedBy_application_id | String | False |
The id of the application that last modified. |
| LastModifiedDateTime | Datetime | False |
The time stamp in which this schedulingGroup was last updated. |
| DisplayName | String | False |
The display name for the schedulingGroup. |
| IsActive | Bool | False |
Indicates whether the schedulingGroup can be used when creating new entities or updating existing ones. |
| UserIds | String | False |
The list of user IDs that are a member of the schedulingGroup. |
Shifts table for MSTeams data provider.
チームからすべてを取得するか、TeamId を'=' とIN 演算子で指定することでShifts テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームのシフトのみ返されます。組織の全グループのチームのシフトアイテムを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Shifts WHERE TeamId IN ('da838338-4e77-4c05-82a6-79d9f0274511', 'da834568-4df7-4c05-82a6-79d9f0274515')
SELECT * FROM Shifts WHERE Id = 'SHFT_aac21ce9-82b3-4ad1-a841-dadb570c8ebf' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
チームスケジュールにシフトを挿入するには、TeamId とこの休暇が付与される人のUserId に加えて、休暇のstartDateTime およびendDateTime を含むDraftShift またはSharedShift の情報の、どちらか1つを含む必要があります。
INSERT INTO Shifts (TeamId, UserId, draftShift_startDateTime, draftShift_endDateTime) VALUES ('da838338-4e77-4c05-82a6-79d9f0274511', '0409f710-2aa9-4f05-8944-ef382160f1d1', '2019-07-17T07:00:00Z', '2019-07-17T15:00:00Z')
INSERT INTO Shifts (TeamId, UserId, sharedShift_startDateTime, sharedShift_endDateTime) VALUES ('da838338-4e77-4c05-82a6-79d9f0274511', '0409f710-2aa9-4f05-8944-ef382160f1d1', '2019-07-17T07:00:00Z', '2019-07-17T15:00:00Z')
シフトのレコードを更新するには、WHERE 句にId とTeamId が必要です。TeamId、Id、CreatedDateTime 以外のすべてのフィールドを更新できます。
UPDATE Shifts SET draftShift_theme = 'blue', draftShift_displayname = 'somename' WHERE Id = 'SHFT_aac21ce9-82b3-4ad1-a841-dadb570c8ebf' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
シフトのレコードを削除するには、WHERE 句にId とTeamId が必要です。
DELETE FROM Shifts WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND Id = 'SHFT_aac21ce9-82b3-4ad1-a841-dadb570c8ebf'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID of the shift. |
| TeamId | String | False |
The Team Id. |
| UserId | String | False |
ID of the user assigned to the shift. |
| CreatedDateTime | Datetime | False |
The timestamp on which this shift was first created. |
| LastModifiedBy_application_displayName | String | False |
The display name of the application that last modified. |
| LastModifiedBy_application_id | String | False |
The id of the application that last modified. |
| LastModifiedDateTime | Datetime | False |
The timestamp on which this shift was last updated. |
| DraftShift_activities | String | False |
An incremental part of a shift which can cover details of when and where an employee is during their shift. For example, an assignment or a scheduled break or lunch. |
| DraftShift_displayName | String | False |
The shift label of the shiftItem. |
| DraftShift_notes | String | False |
The shift notes for the shiftItem. |
| DraftShift_startDateTime | Datetime | False |
The start date and time for the Draftshift |
| DraftShift_endDateTime | Datetime | False |
The end date and time for the Draftshift |
| SchedulingGroupId | String | False |
ID of the scheduling group the shift is part of. |
| SharedShift_activities | String | False |
An incremental part of a shift which can cover details of when and where an employee is during their shift. For example, an assignment or a scheduled break or lunch. |
| SharedShift_displayName | String | False |
The shift label of the shiftItem. |
| SharedShift_notes | String | False |
The shift notes for the shiftItem. |
| SharedShift_startDateTime | Datetime | False |
The start date and time for the Sharedshift |
| SharedShift_endDateTime | Datetime | False |
The end date and time for the Sharedshift |
Teams table for MSTeams data provider.
チームからすべてを取得するか、GroupId を'=' とIN 演算子で指定することでTeams テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームのみ返されます。組織の全グループのチームを取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Teams WHERE GroupId IN ('4729c5e5-f923-4435-8a41-44423d42ea79', 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1')
SELECT * FROM Teams WHERE GroupId = '4729c5e5-f923-4435-8a41-44423d42ea79'
最低でもGroupId およびDisplayName は、グループに新しいチームを追加するために必須です。他のフィールドもすべて指定できます。
INSERT INTO Teams (DisplayName, GroupId, funSettings_allowGiphy) VALUES ('Cool team', 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1', false)
チームのレコードを更新するには、WHERE 句にId を指定してください。アーカイブされていないチームのみ更新できます。
UPDATE Teams SET DisplayName = 'My Team', funSettings_allowGiphy = false, funSettings_allowGiphy = true, funSettings_allowStickersAndMemes = true, funSettings_allowCustomMemes = false, guestSettings_allowCreateUpdateChannels = true, guestSettings_allowDeleteChannels = false, memberSettings_allowCreateUpdateChannels = false, memberSettings_allowDeleteChannels = true, Description = 'some desc' WHERE Id = '4729c5e5-f923-4435-8a41-44423d42ea79'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
The Team Id. |
| GroupId | String | False |
The Group Id. |
| DisplayName | String | False |
The name of the team. |
| Description | String | False |
An optional description for the team. |
| Classification | String | False |
An optional label. Typically describes the data or business sensitivity of the team. Must match one of a pre-configured set in the tenant's directory. |
| CreatedDateTime | Datetime | False |
Timestamp at which the team was created. |
| FunSettings_allowCustomMemes | Bool | False |
If set to true, enables users to include custom memes. |
| FunSettings_allowGiphy | Bool | False |
If set to true, enables Giphy use. |
| FunSettings_allowStickersAndMemes | Bool | False |
If set to true, enables users to include stickers and memes. |
| FunSettings_giphyContentRating | String | False |
Giphy content rating. Possible values are: moderate, strict. |
| GuestSettings_allowCreateUpdateChannels | Bool | False |
If set to true, guests can add and update channels. |
| GuestSettings_allowDeleteChannels | Bool | False |
If set to true, guests can delete channels. |
| InternalId | String | False |
A unique ID for the team that has been used in a few places such as the audit log/Office 365 Management Activity API. |
| IsArchived | Bool | False |
Whether this team is in read-only mode. |
| MemberSettings_allowAddRemoveApps | Bool | False |
If set to true, members can add and remove apps. |
| MemberSettings_allowCreatePrivateChannels | Bool | False |
If set to true, members can add and update private channels. |
| MemberSettings_allowCreateUpdateChannels | Bool | False |
If set to true, members can add and update any channels. |
| MemberSettings_allowCreateUpdateRemoveConnectors | Bool | False |
If set to true, members can add, update, and remove connectors. |
| MemberSettings_allowCreateUpdateRemoveTabs | Bool | False |
If set to true, members can add, update, and remove tabs. |
| MemberSettings_allowDeleteChannels | Bool | False |
If set to true, members can delete channels. |
| MessagingSettings_allowChannelMentions | Bool | False |
If set to true, @channel mentions are allowed. |
| MessagingSettings_allowOwnerDeleteMessages | Bool | False |
If set to true, owners can delete any message. |
| MessagingSettings_allowTeamMentions | Bool | False |
If set to true, @team mentions are allowed. |
| MessagingSettings_allowUserDeleteMessages | Bool | False |
If set to true, users can delete their messages. |
| MessagingSettings_allowUserEditMessages | Bool | False |
If set to true, users can edit their messages. |
| Specialization | String | False |
Optional. Indicates whether the team is intended for a particular use case. Each team specialization has access to unique behaviors and experiences targeted to its use case. |
| Visibility | String | False |
The visibility of the group and team. Defaults to Public. |
| WebUrl | String | False |
A hyperlink that will go to the team in the Microsoft Teams client. This is the URL that you get when you right-click a team in the Microsoft Teams client and select Get link to team. This URL should be treated as an opaque blob, and not parsed. |
| summary_guestsCount | Integer | True |
Count of guests in a team. |
| summary_membersCount | Integer | True |
Count of members in a team. |
| summary_ownersCount | Integer | True |
Count of owners in a team. |
TeamsInstalledApps table for MSTeams data provider.
| Name | Type | ReadOnly | Description |
| TeamId | String | False |
Id of Team. |
| TeamsAppId | String | False |
Id of TeamsApp. |
| TeamsAppDefinitionDescription | String | False |
Teams App Definition Description. |
| TeamsAppDefinitionDisplayName | String | False |
Teams App Definition Display Name |
| TeamsAppDefinitionLastModifiedDateTime | Datetime | False |
Teams App Definition Last Modified Date Time |
| TeamsAppDefinitionPublishingState | String | False |
Teams App Definition Publishing State |
| TeamsAppDefinitionShortDescription | String | False |
Teams App Definition Short Description |
| TeamsAppDefinitionVersion | String | False |
Teams App Definition Version |
TeamTabs table for MSTeams data provider.
TeamTabs テーブルをクエリするには、特定のチームに属する特定のチャネルのタブを取得するために、TeamId およびChannelId フィルタを指定する必要があります。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM TeamTabs WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND ChannelId = '19:[email protected]' SELECT * FROM TeamTabs WHERE TeamId = '12d95e4d-f90f-434c-b280-dd7f8b8615e5' AND ChannelId IN (SELECT Id FROM Channels WHERE TeamId = '12d95e4d-f90f-434c-b280-dd7f8b8615e5') AND Id LIKE '%-ade1-400a-a82b-e7a435199b7a' SELECT * FROM TeamTabs WHERE TeamId = '12d95e4d-f90f-434c-b280-dd7f8b8615e5' AND ChannelId IN (SELECT Id FROM Channels WHERE TeamId = '12d95e4d-f90f-434c-b280-dd7f8b8615e5') AND configuration_entityId IS NOT NULL
最低でもTeamId、ChannelId、およびAppId は、チームに新しいタブを追加するために必須です。他のフィールドもすべて指定できます。
INSERT INTO TeamTabs (TeamId, ChannelId, DisplayName, AppID) VALUES ('4729c5e5-f923-4435-8a41-44423d42ea79', '19:[email protected]', 'new tab for test', '0d820ecd-def2-4297-adad-78056cde7c78')
タブのレコードを更新するには、WHERE 句にId、ChannelId、TeamId を指定してください。
UPDATE TeamTabs SET DisplayName = 'updatetabname' WHERE Id = 'c41cbfe0-7713-44d6-96dd-b692569f1766' AND ChannelId = '19:[email protected]' AND TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79'
タブのレコードを削除するには、WHERE 句にId、ChannelId、TeamId を指定してください。
DELETE FROM TeamTabs WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND ChannelId = '19:[email protected]' AND Id = '16ba49df-d7e1-4dc7-b6c3-ea721d327d38'
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Identifier that uniquely identifies a specific instance of a channel tab. |
| AppId | String | False |
The App Id. |
| ChannelId | String | False |
The Channel Id. |
| Configuration_contentUrl | String | False |
Url used for rendering tab contents in Teams. Required. |
| Configuration_entityId | String | False |
Identifier for the entity hosted by the tab provider. |
| Configuration_removeUrl | String | False |
Url called by Teams client when a Tab is removed using the Teams Client. |
| Configuration_websiteUrl | String | False |
Url for showing tab contents outside of Teams. |
| DisplayName | String | False |
Name of the tab. |
| WebUrl | String | False |
Deep link URL of the tab instance. |
| TeamsApp_id | String | True |
App definition identifier of the tab. |
| TeamId | String | False |
The Team Id. |
TimesOffReasons table for MSTeams data provider.
チームからすべてを取得するか、TeamId を指定することでTimeOffReasons テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームの休暇理由のみ返されます。組織の全グループのチームから休暇理由を取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM TimeOffReasons WHERE TeamId IN ('da838338-4e77-4c05-82a6-79d9f0274511', 'da834568-4df7-4c05-82a6-79d9f0274515')
SELECT * FROM TimeOffReasons WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511' AND Id = 'SHFT_0aee55c3-2bac-4ede-9792-26838fc8bb01'
チームに休暇理由を挿入するには、TeamId と最低でもDisplayName、IsActive、iconType の内1つのフィールドを指定する必要があります。
INSERT INTO TimeOffReasons (TeamId, DisplayName, IsActive) VALUES ('acabe397-8370-4c31-aeb7-2d7ae6b8cda1', 'a new reason', 'true')
休暇理由のレコードを削除するには、WHERE 句にId とTeamId が必要です。
DELETE FROM TimeOffReasons WHERE Id = 'SHFT_dd50b99a-e2d8-44ad-a445-53ad58bfc37b' AND TeamId = 'acabe397-8370-4c31-aeb7-2d7ae6b8cda1'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID of the timeOffReason. |
| TeamId | String | False |
The Team Id. |
| CreatedDateTime | Datetime | False |
The time stamp on which this timeOffReason was first created. |
| LastModifiedBy_application_displayName | String | False |
The display name of the application that last modified. |
| LastModifiedBy_application_id | String | False |
The id of the application that last modified. |
| LastModifiedDateTime | Datetime | False |
The time stamp on which this timeOffReason was last updated. |
| DisplayName | String | False |
The name of the timeOffReason. Required. |
| IconType | String | False |
Supported icon types: none; car; calendar; running; plane; firstAid; doctor; notWorking; clock; juryDuty; globe; cup; phone; weather; umbrella; piggyBank; dog; cake; trafficCone; pin; sunny. |
| IsActive | Bool | False |
Indicates whether the timeOffReason can be used when creating new entities or updating existing ones. |
TimesOff table for MSTeams data provider.
チームからすべてを取得するか、TeamId を指定することでTimesOff テーブルをクエリします。デフォルトでは、自身がメンバーであるグループのチームの休暇のみ返されます。組織の全グループのチームから休暇を取得するには、IncludeAllGroups プロパティをtrue に設定してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM TimesOff WHERE TeamId IN ('da838338-4e77-4c05-82a6-79d9f0274511', 'da834568-4df7-4c05-82a6-79d9f0274515')
SELECT * FROM TimesOff WHERE TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
チームスケジュールに休暇を挿入するには、TeamId とこの休暇が付与される人のUserId に加えて、休暇のstartDateTime、endDateTime およびtimeOff_ReasonId を含むDraftTimeOff またはSharedTimeOff の情報の、どちらかを含む必要があります。
INSERT INTO TimesOff (TeamId, UserId, sharedTimeOff_startDateTime, sharedTimeOff_endDateTime, SharedTimeOff_TimeOffReasonId) VALUES ('da838338-4e77-4c05-82a6-79d9f0274511', '0409f710-2aa9-4f05-8944-ef382160f1d1', '2019-03-11T07:00:00Z', '2019-03-12T07:00:00Z', 'TOR_97de5f58-462b-4bde-8a95-038b4073bffb')
休暇のレコードを更新するには、WHERE 句にId とTeamId が必要です。TeamId、Id、CreatedDateTime 以外のすべてのフィールドを更新できます。
UPDATE Timesoff SET draftTimeOff_timeOffReasonId = 'TOR_97de5f58-462b-4bde-8a95-038b4073bffb' WHERE Id = 'SHFT_dd50b99a-e2d8-44ad-a445-53ad58bfc37b' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
休暇のレコードを削除するには、WHERE 句にId とTeamId が必要です。
DELETE FROM TimesOff WHERE Id = 'SHFT_dd50b99a-e2d8-44ad-a445-53ad58bfc37b' AND TeamId = 'da838338-4e77-4c05-82a6-79d9f0274511'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
ID of the timeOff. |
| UserId | String | False |
ID of the user assigned to the timeOff. |
| TeamId | String | False |
The Team Id. |
| CreatedDateTime | Datetime | False |
The time stamp at which this timeOff was first created. |
| LastModifiedBy_application_displayName | String | False |
The display name of the application that last modified. |
| LastModifiedBy_application_id | String | False |
The id of the application that last modified. |
| LastModifiedDateTime | Datetime | False |
The time stamp at which this timeOff was last updated. |
| DraftTimeOff_timeOffReasonId | String | False |
DraftTimeOff's timeOffReasonId |
| SharedTimeOff_timeOffReasonId | String | False |
SharedTimeOff's timeOffReasonId |
| DraftTimeOff_StartDateTime | Datetime | False |
StartDateTime of DraftTimeOff |
| DraftTimeOff_EndDateTime | Datetime | False |
EndDateTime of DraftTimeOff |
| SharedTimeOff_StartDateTime | Datetime | False |
StartDateTime of DraftTimeOff |
| SharedTimeOfft_EndDateTime | Datetime | False |
EndDateTime of DraftTimeOff |
ビューは、データを示すという点でテーブルに似ていますが、ビューは読み取り専用です。
クエリは、ビューに対して通常のテーブルと同様に実行することができます。
| Name | Description |
| CallRecords | Details of calls on MS Teams. |
| CallRecordSessions | Details of call sessions on MS Teams. |
| CallRecordSessionSegments | Details of call session segments on MS Teams. |
| ChannelMembers | Get members from channel. |
| ChannelMessages | Get Channel messages and its replies. |
| ChatMembers | Get members from chat. |
| ChatMessages | Get Chat Messages. |
| Chats | Get Chats. |
| DirectRoutingCalls | Retrieves a list of direct routing calls |
| PstnCalls | Retrieves a list of PSTN Calls |
| TeamMembers | Get members from team. |
| UserPresence | UserPresence table for MSTeams data provider. |
| Users | Users table for MSTeams data provider. |
Details of calls on MS Teams.
CallRecord テーブルをクエリして、Teams のピアツーピアおよびグループ通話セッションセグメントの詳細を取得します。 CallRecordsId は、callRecord の取得の説明に従って取得してください。 カスタムアプリおよびクライアントクレデンシャルを使用する必要があります。Azure AD アプリケーションの作成 を参照してください。
次にクエリの例を示します。
SELECT * FROM CallRecords WHERE CallRecordsId = 'b6ee7caa-f730-451f-b6bd-24592a3429a7'
| Name | Type | Description |
| Id [KEY] | String | Call record Id |
| EndDateTime | Datetime | Time the call ended |
| JoinWebUrl | String | URL used to join Meeting |
| LastModifiedDateTime | Datetime | Last Modified date of this call record |
| Modalities | String | Modalities which can be one or more of audio, video, videoBasedScreenSharing, data and screenSharing |
| Organizer | String | Details of the organizer of the meeting |
| Participants | String | Participants of the call. |
| StartDateTime | Datetime | Start time of the meeting |
| Type | String | Type of call peerToPeer or groupCall |
| Version | Long | Version |
| CallRecordsId | String | Call record Id. Mandatory internal column to be used in WHERE clause |
Details of call sessions on MS Teams.
CallRecordSessions テーブルをクエリして、Teams のピアツーピアおよびグループ通話セッションセグメントの情報を取得します。 CallRecordsId は、callRecord の取得の説明に従って取得してください。 カスタムアプリおよびクライアントクレデンシャルを使用する必要があります。Azure AD アプリケーションの作成 を参照してください。
次にクエリの例を示します。
SELECT * FROM CallRecordSessions WHERE CallRecordsId = 'b6ee7caa-f730-451f-b6bd-24592a3429a7'
| Name | Type | Description |
| Id [KEY] | String | Call record Id |
| Callee_UserAgent_ApplicationVersion | String | Callee UserAgent Application Version |
| Callee_UserAgent_HeaderValue | String | Callee UserAgent Header Value |
| Caller_UserAgent_ApplicationVersion | String | Caller UserAgent Application Version |
| Caller_UserAgent_HeaderValue | String | Caller UserAgent Header Value |
| EndDateTime | Datetime | Time the call ended |
| FailureInfo_Reason | String | Failure Information Reason |
| FailureInfo_Stage | String | Failure Information Stage |
| Modalities | String | Modalities which can be one or more of audio, video, videoBasedScreenSharing, data and screenSharing |
| StartDateTime | Datetime | Start time of the meeting |
| CallRecordsId | String | Call record Id. Mandatory internal column to be used in WHERE clause |
Details of call session segments on MS Teams.
CallRecordSessionSegments テーブルをクエリして、Teams のピアツーピアおよびグループ通話セッションセグメントの詳細を取得します。 CallRecordsId は、callRecord の取得の説明に従って取得してください。 カスタムアプリおよびクライアントクレデンシャルを使用する必要があります。Azure AD アプリケーションの作成 を参照してください。
次にクエリの例を示します。
SELECT * FROM CallRecordSessionSegments WHERE CallRecordsId = 'b6ee7caa-f730-451f-b6bd-24592a3429a7'
| Name | Type | Description |
| Id [KEY] | String | Call record Id |
| Callee_UserAgent_ApplicationVersion | String | Callee UserAgent Application Version |
| Callee_UserAgent_HeaderValue | String | Callee UserAgent Header Value |
| Caller_UserAgent_ApplicationVersion | String | Caller UserAgent Application Version |
| Caller_UserAgent_HeaderValue | String | Caller UserAgent Header Value |
| EndDateTime | Datetime | Time the call ended |
| FailureInfo_Reason | String | Failure Information Reason |
| FailureInfo_Stage | String | Failure Information Stage |
| Media | String | Call media details |
| StartDateTime | Datetime | Start time of the meeting |
| CallRecordsId | String | Call record Id. Mandatory internal column to be used in WHERE clause |
Get members from channel.
The Sync App uses the Microsoft Teams API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client side within the Sync App
For example, the following queries are processed server side:
SELECT * FROM ChannelMembers WHERE ChannelId = '19:[email protected]' AND TeamId = 'f7985bee-7fb4-404d-a954-5ba68ae7c8db' SELECT * FROM ChannelMembers WHERE ChannelId = '19:[email protected]' AND TeamId IN ('f7985bee-7fb4-404d-a954-5ba68ae7c8db', 'da838338-4e77-4c05-82a6-79d9f0274511')
| Name | Type | Description |
| Id [KEY] | String | Member Id. |
| TeamId | String | Team Id. |
| DisplayName | String | Display name. |
| String | Email of member. | |
| Roles | String | Role of member. |
| TenantId | String | Tenant Id. |
| UserId | String | User Id. |
| StartDateTime | Datetime | History start date time. |
| ChannelId | String | The Channel Id. |
Get Channel messages and its replies.
The Sync App uses the Microsoft Teams API to process WHERE clause conditions built with the columns and operator shown below. The rest of the filter is executed client-side within the Sync App.
Note: ChannelId and TeamId are required columns to get results from this view, and must both be specified in the WHERE clause. The data cannot be retrieved by the Sync App using ChannelId alone.
Example Queries
The Sync App executes this by fetching ChannelID and TeamId from Microsoft Teams API:
SELECT * FROM ChannelMessages
This query uses the TeamID from Microsoft Teams API to obtain the ChannelID:
SELECT * FROM ChannelMessages WHERE TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79'
SELECT * FROM ChannelMessages WHERE TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79' AND ChannelId = '19:[email protected]'
SELECT * FROM ChannelMessages WHERE TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79' AND ChannelId = '19:[email protected]' AND Id='1688061957561'
To get all the replies in a message:
SELECT * FROM ChannelMessages WHERE TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79' AND ChannelId = '19:[email protected]' AND ReplyToId='1688061957561'
SELECT * FROM ChannelMessages WHERE TeamId = '4729c5e5-f923-4435-8a41-44423d42ea79' AND ChannelId = '19:[email protected]' AND Id='1688061957562' AND ReplyToId='1688061957561'
| Name | Type | Description |
| Id [KEY] | String | The Channel Messsages Id. |
| BodyContent | String | Content of the Body. |
| BodyContentType | String | Type of BodyContent. |
| ChannelId | String | The Channel Id. |
| TeamId | String | The Team Id. |
| Mentions | String | List of entities mentioned in the channel message. Supported entities are: user, bot, team, and channel. |
| Reactions | String | Reactions for the channel messages (for example, Like). |
| Attachments | String | References to attached objects like files, tabs, meetings etc. |
| Importance | String | Importance of the messages. |
| CreatedDateTime | Datetime | Timestamp of when the channel message was created. |
| LastEditedDateTime | Datetime | The timestamp on which this message was last edited. |
| LastModifiedDateTime | Datetime | The timestamp on which this message was last updated. |
| DeletedDateTime | Datetime | Timestamp at which the channel messages was deleted, or null if not deleted. |
| MessageType | String | Type of Channel message. |
| ChatId | String | The Chat Id. |
| Etag | String | Version number of the channel message. |
| FromUserDisplayName | String | From User Display Name. |
| FromUserId | String | From User Id. |
| FromUserUserIdentityType | String | From User UserIdentityType. |
| FromApplication | String | The From Application. |
| FromDevice | String | The From Device. |
| Locale | String | Locale of the channel message set by the client. Always set to en-us. |
| PolicyViolation | String | Channel Message Policy Violation. |
| ReplyToId | String | ID of the parent chat message or root chat message of the thread. |
| Subject | String | The subject of the channel message, in plaintext. |
| Summary | String | Summary text of the channel message that could be used for push notifications and summary views or fall back views. Only applies to channel chat messages, not chat messages in a chat. |
| WebUrl | String | Link to the message in Microsoft Teams. |
| EventDetail | String | The Event Message Detail. |
Get members from chat.
The Sync App use the Microsoft Teams API to process WHERE clause conditions built with the following column and operator:
The rest of the filter is executed client side within the Sync App.
The following is an example query:
SELECT * FROM ChatMembers WHERE UserId = 'e4ea490e-b30c-4b1e-92b0-337117920315' AND ChatId = '19:92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe_90a27c51-5c74-453b-944a-134ba86da790@unq.gbl.spaces'
SELECT * FROM ChatMembers WHERE UserId = 'e4ea490e-b30c-4b1e-92b0-337117920315' AND ChatId IN ('19:92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe_90a27c51-5c74-453b-944a-134ba86da790@unq.gbl.spaces', '19:92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe_b62067c0-8314-42f8-9d02-d1c2051dfcdc@unq.gbl.spaces')
| Name | Type | Description |
| Id [KEY] | String | Member Id. |
| ChatId | String | Chat Id. |
| DisplayName | String | Display name. |
| String | Email of member. | |
| Roles | String | Role of member. |
| TenantId | String | Tenant Id. |
| UserId | String | User Id. |
| StartDateTime | Datetime | History start date time. |
Get Chat Messages.
The Sync App uses the Microsoft Teams API to process WHERE clause conditions built with the following column and operator:
The rest of the filter is executed client side within the Sync App.
The following is an example query:
SELECT * FROM ChatMessages WHERE ChatId = '19:92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe_e4ea490e-b30c-4b1e-92b0-337117920315@unq.gbl.spaces'
| Name | Type | Description |
| Id [KEY] | String | The Chat Messages Id. |
| ChatId | String | The Chat Id. |
| BodyContent | String | Content of the Body. |
| BodyContentType | String | Type of BodyContent. |
| MessageType | String | Type of chat message. |
| CreatedDateTime | Datetime | Timestamp of when the chat message was created. |
| LastEditedDateTime | Datetime | The timestamp on which this message was last edited. |
| LastModifiedDateTime | Datetime | The timestamp on which this message was last updated. |
| DeletedDateTime | Datetime | Timestamp at which the chat message was deleted, or null if not deleted. |
| Reactions | String | Reactions for the chat message (for example, Like). |
| Mentions | String | List of entities mentioned in the chat message. Supported entities are: user, bot, team, and channel. |
| Attachments | String | References to attached objects like files, tabs, meetings etc. |
| Importance | String | Importance of the messages. |
| FromUserDisplayName | String | From User Display Name. |
| FromUserId | String | From User Id. |
| FromUserIdentityType | String | From User UserIdentityType. |
| ChannelIdentity | String | Identity of the Channel. |
| Locale | String | Locale of the chat message set by the client. Always set to en-us. |
| ReplyToId | String | ID of the parent chat message or root chat message of the thread. |
| Subject | String | The subject of the chat message, in plaintext. |
| Summary | String | Summary text of the chat message that could be used for push notifications and summary views or fall back views. Only applies to channel chat messages, not chat messages in a chat. |
| PolicyViolation | String | Chat Message Policy Violation. |
| Etag | String | Version number of the chat message. |
| FromApplication | String | The From Application. |
| FromDevice | String | The From Device. |
| WebUrl | String | Link to the message in Microsoft Teams. |
| EventDetail | String | The Event Message Detail. |
Get Chats.
The Sync App use the Microsoft Teams API to process WHERE clause conditions built with the following column and operator:
The rest of the filter is executed client side within the Sync App.
The following is an example query:
SELECT * FROM Chats WHERE Id = '19:32caef50-395c-425a-a994-e3fa4569b23b_92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe@unq.gbl.spaces'
| Name | Type | Description |
| Id [KEY] | String | The Chat Id. |
| ChatType | String | The type of Chat. |
| UserId | String | The User Id. |
| CreatedDateTime | Datetime | Timestamp of when the message was created. |
| LastUpdatedDateTime | Datetime | The timestamp on which this message was last updated. |
| Topic | String | The Topic. |
Retrieves a list of direct routing calls
カスタムアプリおよびクライアントクレデンシャルを使用する必要があります。Azure AD アプリケーションの作成 を参照してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
次にクエリの例を示します。
SELECT * FROM DirectRoutingCalls WHERE FromDate = '2021-01-01' SELECT * FROM DirectRoutingCalls WHERE FromDate = '2021-01-01' AND ToDate = '2021-02-09'
Note:FromDate とToDate は必須パラメータであり、指定されていない場合はデフォルトの日付を日付範囲90日で使用します。
| Name | Type | Description |
| Id | String | The Id of the Direct routing call |
| CorrelationId | String | The Correlation ID |
| UserId | String | The Id of the user |
| UserPrincipalName | String | The principal name of the user |
| UserDisplayName | String | The display name of the user |
| StartDateTime | Edm.DateTimeOffset | The start date time of the call |
| InviteDateTime | Edm.DateTimeOffset | The invite date time |
| FailureDateTime | Edm.DateTimeOffset | The failure date time |
| EndDateTime | Edm.DateTimeOffset | The end date time of the call |
| Duration | Integer | The duration of the call |
| CallType | String | The type of the call |
| SuccessfulCall | String | The successful call |
| CallerNumber | String | The caller number |
| CalleeNumber | String | The callee number |
| MediaPathLocation | String | The media path location |
| SignalingLocation | String | The signaling location |
| FinalSipCode | Integer | The final SIP Code |
| CallEndSubReason | Integer | The sub reason of the call end |
| FinalSipCodePhrase | String | The final SIP code phrase |
| MediaBypassEnabled | Boolean | Whether Media Bypass is enabled or not |
| FromDate | Edm.Date | The date from which calls to be fetched |
| ToDate | Edm.Date | the date till when calls to be fetched |
Retrieves a list of PSTN Calls
カスタムアプリおよびクライアントクレデンシャルを使用する必要があります。Azure AD アプリケーションの作成 を参照してください。 Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
次にクエリの例を示します。
SELECT * FROM PstnCalls WHERE FromDate = '2021-01-01' SELECT * FROM PstnCalls WHERE FromDate = '2021-01-01' AND ToDate = '2021-02-09'
Note:FromDate およびToDate は必須パラメータであり、指定されていない場合はデフォルトの日付を日付範囲90日で使用します。
| Name | Type | Description |
| Id | String | The Id of of the PSTN Call |
| CallId | String | The Id of the Call |
| UserId | String | The Id of the user |
| UserPrincipalName | String | The principal name of the user |
| UserDisplayName | String | The display name of the user |
| StartDateTime | Edm.DateTimeOffset | The datetime of the call when it was started |
| EndDateTime | Edm.DateTimeOffset | The datetime of the call when it was ended |
| Duration | Integer | The call duration |
| Charge | Edm.Double | The charge |
| CallType | String | The type of the call |
| Currency | String | Currency |
| CallerNumber | String | The number of the caller |
| CalleeNumber | String | The number of the callee |
| UsageCountryCode | String | The usage country code |
| TenantCountryCode | String | The tenant country code |
| ConnectionCharge | Edm.Double | The connection charge |
| DestinationName | String | The destination name |
| ConferenceId | String | The Id of the conference |
| LicenseCapability | String | The License Capability |
| InventoryType | String | The type of the inventory |
| FromDate | Edm.Date | The date from which calls to be fetched |
| ToDate | Edm.Date | the date till when calls to be fetched |
Get members from team.
The Sync App will use the Microsoft Teams API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM TeamMembers WHERE TeamId = 'f7985bee-7fb4-404d-a954-5ba68ae7c8db'
SELECT * FROM TeamMembers WHERE TeamId IN ('f7985bee-7fb4-404d-a954-5ba68ae7c8db', 'da838338-4e77-4c05-82a6-79d9f0274511')
| Name | Type | Description |
| Id [KEY] | String | Member Id. |
| TeamId | String | Team Id. |
| DisplayName | String | Display name. |
| String | Email of member. | |
| Roles | String | Role of member. |
| TenantId | String | Tenant Id. |
| UserId | String | User Id. |
| StartDateTime | Datetime | History start date time. |
UserPresence table for MSTeams data provider.
The Sync App will use the Microsoft Teams API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
Following is an example query:
SELECT * FROM UserPresence WHERE Id = '142478877'
SELECT * FROM UserPresence WHERE Id IN ('0409f710-2aa9-4f05-8944-ef382160f1d1', '04a54c2f-2402-4cee-ac8e-9eee05d0dd30')
| Name | Type | Description |
| Id | String | Id of the users. |
| Availability | String | Availbility of user |
| Activity | String | Activity of user |
| StatusMessage_ExpiryDateTime_DateTime | String | StatusMessage_ExpiryDateTime_DateTime of user |
| StatusMessage_ExpiryDateTime_TimeZone | String | StatusMessage_ExpiryDateTime_TimeZone of user |
| StatusMessage_Message_Content | String | StatusMessage_Message_Content of user |
| StatusMessage_PublishedDateTime | Datetime | StatusMessage_PublishedDateTime of user |
Users table for MSTeams data provider.
Users テーブルをクエリします。Sync App は Microsoft Teams API を使用して、以下のカラムと演算子で作成されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドでSync App 内部で処理されます。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Users WHERE Id = '08d30c14-2775-45c9-8809-3eca47340959'
| Name | Type | Description |
| id [KEY] | String | The id of the user. |
| deletedDateTime | Datetime | The deletedDateTime of the user. |
| accountEnabled | Bool | Indicates if accountEnabled for the user. |
| assignedLicenses | String | The assignedLicenses of the user. |
| businessPhones | String | The businessPhones of the user. |
| city | String | The city of the user. |
| companyName | String | The companyName of the user. |
| country | String | The country of the user. |
| createdDateTime | Datetime | The createdDateTime of the user. |
| department | String | The department of the user. |
| displayName | String | The displayName of the user. |
| employeeHireDate | Datetime | The employeeHireDate of the user. |
| employeeId | String | The employeeId of the user. |
| employeeOrgData_costCenter | String | The employeeOrgData_costCenter of the user. |
| employeeOrgData_division | String | The employeeOrgData_division of the user. |
| employeeType | String | The employeeType of the user. |
| givenName | String | The givenName of the user. |
| identities | String | The identities of the user. |
| imAddresses | String | The imAddresses of the user. |
| isManagementRestricted | Bool | Indicator if user is management restricted. |
| isResourceAccount | Bool | Indicates if it isResourceAccount of the user. |
| jobTitle | String | The jobTitle of the user. |
| lastPasswordChangeDateTime | Datetime | The lastPasswordChangeDateTime of the user. |
| String | The mail of the user. | |
| mailNickname | String | The mailNickname of the user. |
| mobilePhone | String | The mobilePhone of the user. |
| officeLocation | String | The officeLocation of the user. |
| onPremisesDistinguishedName | String | The onPremisesDistinguishedName of the user. |
| onPremisesDomainName | String | The onPremisesDomainName of the user. |
| onPremisesExtensionAttributes_extensionAttribute1 | String | The onPremisesExtensionAttributes_extensionAttribute1 of the user. |
| onPremisesExtensionAttributes_extensionAttribute10 | String | The onPremisesExtensionAttributes_extensionAttribute10 of the user. |
| onPremisesExtensionAttributes_extensionAttribute11 | String | The onPremisesExtensionAttributes_extensionAttribute11 of the user. |
| onPremisesExtensionAttributes_extensionAttribute12 | String | The onPremisesExtensionAttributes_extensionAttribute12 of the user. |
| onPremisesExtensionAttributes_extensionAttribute13 | String | The onPremisesExtensionAttributes_extensionAttribute13 of the user. |
| onPremisesExtensionAttributes_extensionAttribute14 | String | The onPremisesExtensionAttributes_extensionAttribute14 of the user. |
| onPremisesExtensionAttributes_extensionAttribute15 | String | The onPremisesExtensionAttributes_extensionAttribute15 of the user. |
| onPremisesExtensionAttributes_extensionAttribute2 | String | The onPremisesExtensionAttributes_extensionAttribute2 of the user. |
| onPremisesExtensionAttributes_extensionAttribute3 | String | The onPremisesExtensionAttributes_extensionAttribute3 of the user. |
| onPremisesExtensionAttributes_extensionAttribute4 | String | The onPremisesExtensionAttributes_extensionAttribute4 of the user. |
| onPremisesExtensionAttributes_extensionAttribute5 | String | The onPremisesExtensionAttributes_extensionAttribute5 of the user. |
| onPremisesExtensionAttributes_extensionAttribute6 | String | The onPremisesExtensionAttributes_extensionAttribute6 of the user. |
| onPremisesExtensionAttributes_extensionAttribute7 | String | The onPremisesExtensionAttributes_extensionAttribute7 of the user. |
| onPremisesExtensionAttributes_extensionAttribute8 | String | The onPremisesExtensionAttributes_extensionAttribute8 of the user. |
| onPremisesExtensionAttributes_extensionAttribute9 | String | The onPremisesExtensionAttributes_extensionAttribute9 of the user. |
| onPremisesImmutableId | String | The onPremisesImmutableId of the user. |
| onPremisesLastSyncDateTime | Datetime | The onPremisesLastSyncDateTime of the user. |
| onPremisesProvisioningErrors | String | The onPremisesProvisioningErrors of the user. |
| onPremisesSamAccountName | String | The onPremisesSamAccountName of the user. |
| onPremisesSecurityIdentifier | String | The onPremisesSecurityIdentifier of the user. |
| onPremisesSyncEnabled | Bool | Indicates onPremisesSyncEnabled for the user. |
| onPremisesUserPrincipalName | String | The onPremisesUserPrincipalName of the user. |
| otherMails | String | The otherMails of the user. |
| passwordProfile_forceChangePasswordNextSignIn | Bool | The passwordProfile_forceChangePasswordNextSignIn of the user. |
| passwordProfile_forceChangePasswordNextSignInWithMfa | Bool | The passwordProfile_forceChangePasswordNextSignInWithMfa of the user. |
| passwordProfile_password | String | The passwordProfile_password of the user. |
| postalCode | String | The postalCode of the user. |
| preferredLanguage | String | The preferredLanguage of the user. |
| serviceProvisioningErrors | String | The service provisioning errors of the user. |
| state | String | The state of the user. |
| streetAddress | String | The streetAddress of the user. |
| surname | String | The surname of the user. |
| userPrincipalName | String | The userPrincipalName of the user. |
| userType | String | The userType of the user. |
| Authentication_id | String | The Authentication Id |
| Calendar_id | String | The Calendar Id |
| Drive_id | String | The Drive Id |
| InferenceClassification_id | String | The InferenceClassification Id |
| Insights_id | String | The Insights Id |
| Manager_id | String | The Manager Id |
| Onenote_id | String | The Onenote Id |
| Outlook_id | String | The Outlook Id |
| Photo_id | String | The Photo Id |
| Planner_id | String | The Planner Id |
| Presence_id | String | The Presence Id |
| Settings_id | String | The Settings Id |
| Teamwork_id | String | The Teamwork Id |
| Todo_id | String | The Todo Id |
| プロパティ | 説明 |
| AuthScheme | Microsoft Teams に接続する際に使用する認証の種類を指定します。このプロパティが空白の場合は、デフォルトの認証が使用されます。 |
| MsAppActsAsUserId | MsAppActsAsUserId is a user ID (GUID) required when querying certain tables or executing the ShareSchedule stored procedure if auth scheme is AzureServicePrincipal or AzureServicePrincipalCert. |
| プロパティ | 説明 |
| AzureTenant | データにアクセスするために使用されるMicrosoft Teams テナントを、名前(例えば、contoso.omnicrosoft.com)またはID で識別します。(条件付き) |
| AzureEnvironment | 接続するAzure ネットワーク環境を指定します。Azure アカウントが追加されたネットワークと同じである必要があります。 |
| プロパティ | 説明 |
| OAuthClientId | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthClientSecret | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthGrantType | 選択したOAuth フローのグラント種別を指定します。 この値は、OAuth カスタムアプリケーション作成時に設定されたグラント種別と同じである必要があります。 |
| プロパティ | 説明 |
| OAuthJWTCert | JWT 証明書のストア。 |
| OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
| OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。 |
| OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。 |
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
| プロパティ | 説明 |
| ProxyAutoDetect | provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。 |
| ProxyServer | HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。 |
| ProxyPort | クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。 |
| ProxyAuthScheme | ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。 |
| ProxyUser | ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。 |
| ProxyPassword | ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。 |
| ProxySSLType | ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。 |
| ProxyExceptions | ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
| プロパティ | 説明 |
| IncludeAllGroups | A boolean indicating if you would like to list all the groups in your organizations or only groups the logged in user is member of. |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| Pagesize | The maximum number of results to return per page from MSTeams. |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
| プロパティ | 説明 |
| AuthScheme | Microsoft Teams に接続する際に使用する認証の種類を指定します。このプロパティが空白の場合は、デフォルトの認証が使用されます。 |
| MsAppActsAsUserId | MsAppActsAsUserId is a user ID (GUID) required when querying certain tables or executing the ShareSchedule stored procedure if auth scheme is AzureServicePrincipal or AzureServicePrincipalCert. |
Microsoft Teams に接続する際に使用する認証の種類を指定します。このプロパティが空白の場合は、デフォルトの認証が使用されます。
Azure AD で認証するためのカスタムアプリケーションの作成方法については、Azure AD アプリケーションの作成 を参照してください。
Azure AD サービスプリンシパルで認証するためのカスタムアプリケーションの作成方法については、サービスプリンシパルによるAzure AD アプリの作成 を参照してください。
MsAppActsAsUserId is a user ID (GUID) required when querying certain tables or executing the ShareSchedule stored procedure if auth scheme is AzureServicePrincipal or AzureServicePrincipalCert.
MsAppActsAsUserId is required when querying the OpenShifts, SchedulingGroups, Shifts, Schedules, TimeOffReasons, TimesOff or executing the ShareSchedule stored procedure if the auth scheme is AzureServicePrincipal or AzureServicePrincipalCert.
このセクションでは、本プロバイダーの接続文字列で設定可能なAzure Authentication プロパティの全リストを提供します。
| プロパティ | 説明 |
| AzureTenant | データにアクセスするために使用されるMicrosoft Teams テナントを、名前(例えば、contoso.omnicrosoft.com)またはID で識別します。(条件付き) |
| AzureEnvironment | 接続するAzure ネットワーク環境を指定します。Azure アカウントが追加されたネットワークと同じである必要があります。 |
データにアクセスするために使用されるMicrosoft Teams テナントを、名前(例えば、contoso.omnicrosoft.com)またはID で識別します。(条件付き)
テナントは、主にドメイン(例えば、microsoft.com)に関連付けられた、組織のデジタル表現です。 テナントは、Tenant ID(ディレクトリID とも呼ばれる)によって管理されます。これは、Azure リソースへのアクセスや管理権限をユーザーに割り当てる際に指定します。
Azure ポータルでディレクトリID を見つけるには、Azure Active Directory -> プロパティに移動します。
AuthScheme = AzureServicePrincipal またはAzureServicePrincipalCert のいずれかである場合、またはAzureTenant = AzureAD であり、ユーザーが複数のテナントに属している場合は、AzureTenant を指定する必要があります。
接続するAzure ネットワーク環境を指定します。Azure アカウントが追加されたネットワークと同じである必要があります。
Azure アカウントがGlobal ネットワークとは異なるネットワーク(China、USGOVT、USGOVTDOD など)の一部である場合は、必要です。
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
| プロパティ | 説明 |
| OAuthClientId | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthClientSecret | カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。 |
| OAuthGrantType | 選択したOAuth フローのグラント種別を指定します。 この値は、OAuth カスタムアプリケーション作成時に設定されたグラント種別と同じである必要があります。 |
カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientId は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。
カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientSecret は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。
選択したOAuth フローのグラント種別を指定します。 この値は、OAuth カスタムアプリケーション作成時に設定されたグラント種別と同じである必要があります。
ほとんどの場合、デフォルトのグラント種別は変更すべきではありません。 最も一般的なOAuth グラント種別とそれぞれのメリット・デメリットについては、https://oauth.net/2/grant-types/ を参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。
| プロパティ | 説明 |
| OAuthJWTCert | JWT 証明書のストア。 |
| OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
| OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。 |
| OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。 |
JWT 証明書のストア。
クライアント証明書のための証明書ストア名。
OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。
OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
| MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
| CA | 証明機関の証明書。 |
| ROOT | ルート証明書。 |
| SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
JWT 証明書を格納するキーストアの種類。
このプロパティには次の値の一つを設定できます。
| USER | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。 |
| MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。 |
| PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
| PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
| JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。 |
| JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。 |
| PEMKEY_FILE | この証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。 |
| PEMKEY_BLOB | この証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。 |
| PUBLIC_KEY_FILE | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。 |
| PUBLIC_KEY_BLOB | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。 |
| SSHPUBLIC_KEY_FILE | この証明書ストアは、SSH 公開キーを含むファイルの名前です。 |
| SSHPUBLIC_KEY_BLOB | この証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。 |
| P7BFILE | この証明書ストアは、証明書を含むPKCS7 ファイルの名前です。 |
| PPKFILE | この証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。 |
| XMLFILE | この証明書ストアは、XML 形式の証明書を含むファイルの名前です。 |
| XMLBLOB | この証明書ストアは、XML 形式の証明書を含む文字列の名前です。 |
| BCFKSFILE | この証明書ストアは、Bouncy Castle キーストアを含むファイルの名前です。 |
| BCFKSBLOB | この証明書ストアは、Bouncy Castle キーストアを含む文字列(Base-64エンコード)です。 |
OAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。
このプロパティは、証明書ストアを開くために必要なパスワードを指定します。ただし、ストアの種類がパスワードを必要とする場合に限ります。 パスワードが必要かどうかを判断するには、ご利用の証明書ストアのドキュメントまたは設定を参照してください。
OAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。
このプロパティの値は、ストアで一致する証明書を検索するために使用されます。検索プロセスは以下のように動作します。
値を '*' に設定すると、ストアの先頭の証明書が自動的に選択されます。 証明書のサブジェクトは識別名フィールドおよび値のカンマ区切りのリストです。 例:CN=www.server.com, OU=test, C=US, [email protected]。一般的なフィールドには以下のものが含まれます。
| フィールド | 説明 |
| CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
| O | 法人名 |
| OU | 法人の部署名 |
| L | 法人の住所(市町村名) |
| S | 法人の住所(都道府県) |
| C | 国名 |
| E | E メールアドレス |
フィールド値にカンマが含まれる場合は、引用符で囲んでください。例:"O=ACME, Inc."。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
| 説明 | 例 |
| フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| 証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
| 公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
| SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
Note:デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し、次のプロキシタイプのいずれかに接続するには、ProxyAutoDetect をfalse に設定します。
次の表は、サポートされている各プロトコルのポート番号情報です。
| プロトコル | デフォルトポート | 説明 |
| TUNNEL | 80 | Sync App がMicrosoft Teams への接続を開くポート。トラフィックはこの場所のプロキシを経由して行き来します。 |
| SOCKS4 | 1080 | Sync App がMicrosoft Teams への接続を開くポート。SOCKS 4 は次にFirewallUser 値をプロキシに渡し、接続リクエストが許容されるかどうかを決定します。 |
| SOCKS5 | 1080 | Sync App がMicrosoft Teams にデータを送信するポート。SOCKS 5 プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで使用するTCP ポートを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
| プロパティ | 説明 |
| ProxyAutoDetect | provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。 |
| ProxyServer | HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。 |
| ProxyPort | クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。 |
| ProxyAuthScheme | ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。 |
| ProxyUser | ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。 |
| ProxyPassword | ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。 |
| ProxySSLType | ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。 |
| ProxyExceptions | ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。
この接続プロパティをTrue に設定すると、Sync App は既存のプロキシサーバー構成についてシステムプロキシ設定をチェックします(プロキシサーバーの詳細を手動で入力する必要はありません)。
この接続プロパティは他のプロキシ設定より優先されます。特定のプロキシサーバーに接続するためにSync App を手動で構成する場合は、False に設定します。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。
ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたプロキシサーバーを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーを介してHTTP トラフィックをルーティングします。
クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバー(ProxyServer 接続プロパティで設定)のTCP ポート。
ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたプロキシサーバーポートを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーポートを介してHTTP トラフィックをルーティングします。
その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。
認証タイプは次のいずれかです。
"NONE" 以外のすべての値については、ProxyUser およびProxyPassword 接続プロパティも設定する必要があります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名。
ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。
ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。
| ProxyAuthScheme の値 | ProxyUser に設定する値 |
| BASIC | プロキシサーバーに登録されているユーザーのユーザー名。 |
| DIGEST | プロキシサーバーに登録されているユーザーのユーザー名。 |
| NEGOTIATE | プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。 |
| NTLM | プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。 |
| NONE | ProxyPassword 接続プロパティは設定しないでください。 |
Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このユーザー名を使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムのプロキシ設定で指定されているユーザー名を使用します。
ProxyUser 接続プロパティで指定されたユーザーに紐付けられたパスワード。
ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。
ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。
| ProxyAuthScheme の値 | ProxyPassword に設定する値 |
| BASIC | ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。 |
| DIGEST | ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。 |
| NEGOTIATE | ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。 |
| NTLM | ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。 |
| NONE | ProxyPassword 接続プロパティは設定しないでください。 |
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このパスワードを使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、Sync App は代わりにシステムのプロキシ設定で指定されているパスワードを使用します。
ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この接続プロパティには、以下の値を設定できます。
| AUTO | デフォルト設定。ProxyServer がHTTPS URL に設定されている場合、Sync App は、TUNNEL オプションを使用します。ProxyServer がHTTP URL に設定されている場合、コンポーネントはNEVER オプションを使用します。 |
| ALWAYS | 接続は、常にSSL 有効となります。 |
| NEVER | 接続は、SSL 有効になりません。 |
| TUNNEL | 接続はトンネリングプロキシ経由で行われます。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App はデフォルトでシステムプロキシ設定を使用するため、それ以上の設定は必要ありません。この接続にプロキシ例外を明示的に設定する場合は、ProxyAutoDetect をFalse に設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。
このプロパティは、含めるログモジュールを指定することでログファイルの内容をカスタマイズすることができます。 ログモジュールは、クエリ実行、メタデータ、SSL 通信などの異なる領域にログ情報を分類します。 各モジュールは4文字のコードで表され、文字の名前の場合は末尾にスペースが必要なものもあります。
例えば、EXEC はクエリ実行をログに記録し、INFO は一般的なプロバイダーメッセージをログに記録します。 複数のモジュールを含めるには、次のように名前をセミコロンで区切ります:INFO;EXEC;SSL。
Verbosity 接続プロパティは、このプロパティで指定されたモジュールベースのフィルタリングよりも優先されます。 Verbosity レベルを満たし、指定されたモジュールに属するログエントリのみが記録されます。 利用可能なすべてのモジュールをログファイルに含めるには、このプロパティを空白のままにします。
利用可能なモジュールの完全なリストとログの設定に関する詳細な手引きについては、ログ の「高度なログの記録」セクションを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。
Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は%APPDATA%\\CData\\MSTeams Data Provider\\Schema となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:
| プラットフォーム | %APPDATA% |
| Windows | APPDATA 環境変数の値 |
| Linux | ~/.config |
レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
利用可能なデータベーススキーマをすべてリストすると余分な時間がかかり、パフォーマンスが低下します。 接続文字列にスキーマのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。
データベースによっては、利用可能なすべてのテーブルをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にテーブルのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なテーブルがたくさんあり、すでに作業したいテーブルが決まっている場合、このプロパティを使用して対象のテーブルのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、表示する各テーブルを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するテーブルが混同されることを防ぎます。
レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。
データベースによっては、利用可能なすべてのビューをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にビューのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なビューがたくさんあり、すでに作業したいビューが決まっている場合、このプロパティを使用して対象のビューのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、確認する各ビューを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するビューが混同されることを防ぎます。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
| プロパティ | 説明 |
| IncludeAllGroups | A boolean indicating if you would like to list all the groups in your organizations or only groups the logged in user is member of. |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| Pagesize | The maximum number of results to return per page from MSTeams. |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
A boolean indicating if you would like to list all the groups in your organizations or only groups the logged in user is member of.
Setting this to true will list all the groups in your organization instead of only the groups the logged in user is member of.
集計やGROUP BY を使用しないクエリで返される最大行数を指定します。
このプロパティは、集計やGROUP BY 句を含まないクエリに対してSync App が返す行数の上限を設定します。 この制限により、クエリがデフォルトで過度に大きな結果セットを返さないようにします。
クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。 MaxRows が"-1" に設定されている場合、LIMIT 句が明示的にクエリに含まれていない限り、行の制限は行われません。
このプロパティは、非常に大きなデータセットを返す可能性のあるクエリを実行する際に、パフォーマンスを最適化し過剰なリソース消費を防ぐのに役立ちます。
特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。
このプロパティは、シニアユーザーが特定のシナリオに対して隠しプロパティを設定できるようにします。 これらの設定は通常のユースケースには必要ありませんが、特定の要件に対応したり、追加の機能を提供したりすることができます。 複数のプロパティをセミコロン区切りのリストで定義できます。
Note: 特定のシナリオや問題に対処するためにサポートチームから助言があった場合にのみ、これらのプロパティを設定することを強く推奨します。
複数のプロパティをセミコロン区切りリストで指定します。
| DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
| ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
| RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
The maximum number of results to return per page from MSTeams.
The Pagesize property affects the maximum number of results to return per page from MSTeams only for Users and Groups tables. If you must use client paging on your server and have a fast server, setting a higher Pagesize may be desireable. We recommend testing various sizes against a large resultset to determine what works best in your use case.
テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。
このプロパティを使用すると、Sync App がテーブルカラムとして公開する擬似カラムを定義できます。
個々の擬似カラムを指定するには、以下の形式を使用します。"Table1=Column1;Table1=Column2;Table2=Column3"
すべてのテーブルのすべての擬似カラムを含めるには、次のようにします:"*=*"
provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。
このプロパティは、Sync App が操作をキャンセルする前に操作の完了を待機する最大時間を秒単位で制御します。 操作の完了前にタイムアウト時間が経過すると、Sync App は操作をキャンセルして例外をスローします。
タイムアウトは、クエリや操作全体ではなくサーバーとの個々の通信に適用されます。 例えば、各ページング呼び出しがタイムアウト制限内に完了する場合、クエリは60秒を超えて実行を続けることができます。
このプロパティを0に設定するとタイムアウトが無効になり、操作が成功するか、サーバー側のタイムアウト、ネットワークの中断、またはサーバーのリソース制限などの他の条件で失敗するまで無期限に実行されます。 このプロパティは慎重に使用してください。長時間実行される操作がパフォーマンスを低下させたり、応答しなくなる可能性があるためです。
カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。
このプロパティを使用すると、UserDefinedViews.json というJSON 形式の構成ファイルを通じてカスタムビューを定義および管理できます。 これらのビューはSync App によって自動的に認識され、標準のデータベースビューのようにカスタムSQL クエリを実行できるようになります。 JSON ファイルは、各ビューをルート要素として定義し、その子要素として"query" を持ちます。この"query" にはビューのSQL クエリが含まれています。次に例を示します。
{
"MyView": {
"query": "SELECT * FROM Teams WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
このプロパティを使用して、1つのファイルに複数のビューを定義し、ファイルパスを指定できます。 例:UserDefinedViews=C:\Path\To\UserDefinedViews.json。 このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
詳しくは、ユーザー定義ビュー を参照してください。