Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
适用于:
Azure 数据工厂
Azure Synapse Analytics
Azure 数据工厂和 Synapse Analytics 管道与 Microsoft Graph 数据连接 集成,使你能够将Microsoft 365(Office 365)租户中的丰富组织数据引入Azure以可缩放的方式构建分析应用程序,并根据这些有价值的数据资产提取见解。 与特权访问管理的集成为Microsoft 365(Office 365)中的有价值的精选数据提供安全的访问控制。 有关Microsoft Graph 数据连接概述,请参阅 此链接。
本文概述了如何使用复制活动从Microsoft 365(Office 365)复制数据。 有关复制数据的介绍,请阅读复制活动概述。
支持的功能
以下功能支持此Microsoft 365(Office 365)连接器:
| 支持的功能 | IR |
|---|---|
| 复制操作 (source/-) | ① |
(1) Azure集成运行时 (2) 自承载集成运行时
ADF Microsoft 365(Office 365) 连接器和 Microsoft Graph Data Connect 可大规模引入已启用Exchange电子邮件的邮箱中的不同类型的数据集,包括通讯簿联系人、日历事件、电子邮件、用户信息、邮箱设置等。 请参阅此处以查看可用数据集的完整列表。
目前,在一次复制活动中,只能将数据从 Microsoft 365(Office 365)以 JSON 格式引入到 Azure Blob 存储 和 Azure Data Lake Storage Gen2(类型为 setOfObjects)。 复制到Azure Blob 存储时,输出是包含 JSON 文本的 blob。 如果要将Microsoft 365(Office 365)加载到其他类型的数据存储或其他格式,可以将第一个复制活动与后续活动链接在一起,以进一步将数据加载到任何支持的 ADF 目标存储(请参阅“支持的数据存储和格式”表中的“支持作为接收器”列)。
重要
- 包含数据工厂或 Synapse 工作区以及接收数据存储的 Azure 订阅必须在同一 Microsoft Entra 租户下,该租户与 Microsoft 365(Office 365)租户相同。
- 确保用于复制活动的Azure Integration Runtime区域以及目标位于Microsoft 365(Office 365)租户用户的邮箱所在的同一区域中。 请参阅 here 了解如何确定Azure IR 位置。 有关支持的 Office 区域和相应Azure区域的列表,请参阅此处table。
- 服务主体身份验证是Azure Blob 存储支持的唯一身份验证机制,Azure Data Lake Storage Gen2作为目标存储。
注意
请在源和接收器链接服务中使用Azure集成运行时。 不支持自承载集成运行时和托管的虚拟网络集成运行时。
先决条件
若要将数据从 Microsoft 365 (Office 365) 复制到 Azure,需要完成以下先决条件步骤:
- Microsoft 365(Office 365)租户管理员必须完成入职操作,如此处所述。
- 在 Microsoft Entra ID 中创建和配置Microsoft Entra Web 应用程序。 有关说明,请参阅 创建Microsoft Entra应用程序。
- 记下以下值,用于定义Microsoft 365的链接服务(Office 365):
- 租户 ID。 有关说明,请参阅获取租户 ID。
- 应用程序 ID 和身份验证密钥。 有关说明,请参阅获取应用程序 ID 和身份验证密钥。
- 将发起数据访问请求的用户标识添加为 Microsoft Entra 网络应用的所有者(在 Microsoft Entra 网络应用>的设置>所有者部分中>添加所有者)。
- 用户标识必须位于要从中获取数据的 Microsoft 365 (Office 365) 组织中,并且不能是来宾用户。
批准新的数据访问请求
如果这是你首次请求此上下文(要访问的数据表、要将数据加载到的目标帐户和发出数据访问请求的用户标识的组合)的数据,则复制活动状态将显示为“正在进行”;仅当单击“操作”下的“详细信息”链接时,状态才显示为“正在请求同意”。 在继续执行数据提取之前,数据访问审批者组的成员需要在 Privileged Access Management 中审批该请求。
请参阅此处,了解审批者如何批准数据访问请求。
入门
提示
有关使用 Microsoft 365(Office 365)连接器的演练,请参阅
可以使用以下工具或 SDK 之一创建包含复制活动的管道。 选择一个链接进入教程,教程中有创建包含复制活动的管道的分步说明。
使用 UI 创建指向Microsoft 365(Office 365)的链接服务
使用以下步骤在Azure门户 UI 中创建指向Microsoft 365(Office 365)的链接服务。
浏览到Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索Microsoft 365(Office 365),然后选择Microsoft 365(Office 365)连接器。
配置服务详细信息、测试连接并创建新的链接服务。
连接器配置详细信息
以下部分提供有关用于定义特定于Microsoft 365(Office 365)连接器的数据工厂实体的属性的详细信息。
链接服务属性
Microsoft 365(Office 365)链接服务支持以下属性:
| 财产 | 描述 | 必需 |
|---|---|---|
| 类型 | type 属性必须设置为:Office 365 | 是 |
| office365TenantId | Azure Microsoft 365(Office 365)帐户所属的租户 ID。 | 是 |
| 服务主体租户ID | 指定Microsoft Entra Web 应用程序所在的租户信息。 | 是 |
| 服务主体ID | 指定应用程序的客户端 ID。 | 是 |
| 服务主体凭证类型 | 指定要用于服务主体身份验证的凭据类型。 允许的值为 ServicePrincipalKey 和 ServicePrincipalCert。 |
否 |
| 适用于 ServicePrincipalKey | ||
| servicePrincipalKey | 指定应用程序的密钥。 将此字段标记为 SecureString 以安全地存储该字段,或引用存储在 Azure 密钥保管库 中的机密。 | 否(当 servicePrincipalCredentialType 是 ServicePrincipalKey 时为必需项) |
| 适用于ServicePrincipalCert | ||
| 服务主体嵌入证书 (servicePrincipalEmbeddedCert) | 指定在 Azure Active Directory 中注册的应用程序的 base64 编码证书。 将此字段标记为 SecureString 以安全地存储该字段,或引用存储在 Azure 密钥保管库 中的机密。 转到此 section 了解如何在Azure 密钥保管库中保存证书。 | 否(当 servicePrincipalCredentialType 是 ServicePrincipalCert 时为必需项) |
| 服务主体嵌入证书密码 | 如果证书具有密码,并且使用的是 AadServicePrincipal 身份验证,请指定证书的密码。 将此字段标记为 SecureString 以安全地存储该字段,或引用存储在 Azure 密钥保管库 中的机密。 | 否 |
| connectVia | 用于连接到数据存储的Integration Runtime(集成运行时)。 如果未指定,则使用默认Azure Integration Runtime。 | 否 |
注意
office365TenantId和servicePrincipalTenantId之间的差异以及提供的相应值:
- 如果您是企业开发人员,并为贵组织的内部使用开发 Microsoft 365(Office 365)数据应用程序,那么您应为这两个属性提供相同的租户 ID,即贵组织的 Microsoft Entra 租户 ID。
- 如果你是为客户开发应用程序的 ISV 开发人员,则 office365TenantId 将是客户的(应用程序安装程序)Microsoft Entra租户 ID,servicePrincipalTenantId 将是公司的Microsoft Entra租户 ID。
示例 1:使用服务主体密钥身份验证
{
"name": "Office365LinkedService",
"properties": {
"type": "Office365",
"typeProperties": {
"office365TenantId": "<Microsoft 365 (Office 365) tenant id>",
"servicePrincipalTenantId": "<AAD app service principal tenant id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalId": "<AAD app service principal id>",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<AAD app service principal key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
示例 2:使用服务主体证书身份验证
{
"name": "Office365LinkedService",
"properties": {
"type": "Office365",
"typeProperties": {
"office365TenantId": "<Microsoft 365 (Office 365) tenant id>",
"servicePrincipalTenantId": "<AAD app service principal tenant id>",
"servicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalId": "<AAD app service principal id>",
"servicePrincipalEmbeddedCert": "<AAD app service principal cert in base64>",
"servicePrincipalEmbeddedCertPassword": "<AAD app service principal cert password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
将服务主体证书保存在 Azure 密钥保管库
可以使用两个选项在 Azure 密钥保管库 中保存服务主体证书:
选项 1
将服务主体证书转换为 base64 字符串。 有关详细信息,请参阅本文。
将 base64 字符串另存为Azure 密钥保管库中的机密。
方法 2
如果无法从 Azure 密钥保管库 下载证书,则可以使用此 template 将转换的服务主体证书保存为Azure 密钥保管库中的机密。
数据集属性
有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供Microsoft 365(Office 365)数据集支持的属性列表。
若要从Microsoft 365(Office 365)复制数据,支持以下属性:
| 财产 | 描述 | 必需 |
|---|---|---|
| 类型 | 数据集的 type 属性必须设置为:Office365Table | 是 |
| 表名称 | 要从Microsoft 365中提取的数据集的名称(Office 365)。 有关可用于提取的Microsoft 365 Office 365数据集列表,请参阅 here。 | 是 |
如果在数据集中设置了 dateFilterColumn、startTime、endTime 和 userScopeFilterUri,则仍按原样支持该数据集,但建议你以后在活动源中使用新模型。
示例
{
"name": "DS_May2019_O365_Message",
"properties": {
"type": "Office365Table",
"linkedServiceName": {
"referenceName": "<Microsoft 365 (Office 365) linked service name>",
"type": "LinkedServiceReference"
},
"schema": [],
"typeProperties": {
"tableName": "BasicDataSet_v0.Event_v1"
}
}
}
复制活动 属性
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供Microsoft 365(Office 365)源支持的属性列表。
Microsoft 365 (Office 365) 作为源
若要从 Microsoft 365 (Office 365) 复制数据,复制活动 source 节支持以下属性:
| 财产 | 描述 | 必需 |
|---|---|---|
| 类型 | 复制活动源的类型属性必须设置为 Office365Source | 是 |
| allowedGroups | 组选择谓词。 可以使用此属性选择最多 10 个将为其检索数据的用户组。 如果未指定任何组,则会为整个组织返回数据。 | 否 |
| userScopeFilterUri(用户范围过滤URI) | 如果未指定 allowedGroups 属性,则可以使用应用于整个租户的谓词表达式来筛选要从Microsoft 365(Office 365)中提取的特定行。 谓词格式应与Microsoft Graph API 的查询格式匹配,例如https://microsoftgraph.chinacloudapi.cn/v1.0/users?$filter=Department eq 'Finance'。 |
否 |
| 日期筛选列 | 日期/时间筛选器列的名称。 使用此属性可限制提取Microsoft 365(Office 365)数据的时间范围。 | 是的,如果数据集中有一个或多个日期时间列。 有关需要此日期/时间筛选器的数据集的列表,请参阅此处。 |
| 开始时间 | 筛选时所依据的开始日期/时间值。 | 如果指定了 dateFilterColumn,则为"是" |
| 结束时间 | 筛选时所依据的结束日期/时间值。 | 如果指定了 dateFilterColumn,则为"是" |
| 输出列 | 要复制到接收器的列的数组。 | 否 |
示例:
"activities": [
{
"name": "CopyFromO365ToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft 365 (Office 365) input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "Office365Source",
"dateFilterColumn": "CreatedDateTime",
"startTime": "2019-04-28T16:00:00.000Z",
"endTime": "2019-05-05T16:00:00.000Z",
"userScopeFilterUri": "https://microsoftgraph.chinacloudapi.cn/v1.0/users?$filter=Department eq 'Finance'",
"outputColumns": [
{
"name": "Id"
},
{
"name": "CreatedDateTime"
},
{
"name": "LastModifiedDateTime"
},
{
"name": "ChangeKey"
},
{
"name": "Categories"
},
{
"name": "OriginalStartTimeZone"
},
{
"name": "OriginalEndTimeZone"
},
{
"name": "ResponseStatus"
},
{
"name": "iCalUId"
},
{
"name": "ReminderMinutesBeforeStart"
},
{
"name": "IsReminderOn"
},
{
"name": "HasAttachments"
},
{
"name": "Subject"
},
{
"name": "Body"
},
{
"name": "Importance"
},
{
"name": "Sensitivity"
},
{
"name": "Start"
},
{
"name": "End"
},
{
"name": "Location"
},
{
"name": "IsAllDay"
},
{
"name": "IsCancelled"
},
{
"name": "IsOrganizer"
},
{
"name": "Recurrence"
},
{
"name": "ResponseRequested"
},
{
"name": "ShowAs"
},
{
"name": "Type"
},
{
"name": "Attendees"
},
{
"name": "Organizer"
},
{
"name": "WebLink"
},
{
"name": "Attachments"
},
{
"name": "BodyPreview"
},
{
"name": "Locations"
},
{
"name": "OnlineMeetingUrl"
},
{
"name": "OriginalStart"
},
{
"name": "SeriesMasterId"
}
]
},
"sink": {
"type": "BlobSink"
}
}
}
]
相关内容
关于复制活动支持作为源和汇聚器的数据存储列表,请参阅支持的数据存储。