使用 MSGraph 将 Sharepoint Excel 文件复制到 Azure 数据工厂
Copy Sharepoint Excel file with Azure Data Factory using MSGraph
我需要将 Sharepoint 上 Excel 文件的数据复制到 Azure SQL 数据库。这需要在 Azure 数据工厂中完成。我在下面找到了解决方案:
https://docs.microsoft.com/en-gb/azure/data-factory/connector-sharepoint-online-list?tabs=data-factory#copy-file-from-sharepoint-online
虽然这似乎可行,但缺点是应用注册需要获得 Sharepoint 权限 'Sites.Read.All'。这就是为什么我一直在寻找使用 MS Graph 执行此操作的原因,因为 MS Graph 允许权限 'Sites.Selected'。这是一个重要的问题,因为我想避免授予访问整个 Sharepoint 的权限(最好我只授予访问一个文件夹的权限,但我根本没有找到这个解决方案)。但是,我没有找到在 ADF 中使用 MS Graph 执行此操作的任何方法。
有人知道如何做到这一点吗?使用 Azure Functions 或 Logic 应用程序的解决方案不在我们当前的体系结构中 possible/allowed。
提前致谢。
在您的情况下,如果您可以从您的工作流程中调用 MS Graph API,假设您已经注册了应用程序,则您需要使用 Create permission 为您的应用程序创建站点权限该站点的管理员用户。
POST https://graph.microsoft.com/v1.0/sites/Site-ID/permissions
{
"roles": [
"read"
],
"grantedToIdentities": [
{
"application": {
"id": "your-app-client-id",
"displayName": "Test App"
}
}
]
}
然后将应用程序权限 Site.Selected 分配给您在 AAD 门户上的应用程序注册。这样,您的应用程序将只能访问该特定站点,而不能访问您租用范围内的所有站点
Inside copy activity 在源选项卡下你可以考虑使用 HTTP 连接器类型数据集或 REST 连接器类型数据集,这有助于你使用 MSGraph 进行 rest 调用 API.
有两种类型的上述连接器可以在 Azure 数据工厂中使用
我需要将 Sharepoint 上 Excel 文件的数据复制到 Azure SQL 数据库。这需要在 Azure 数据工厂中完成。我在下面找到了解决方案: https://docs.microsoft.com/en-gb/azure/data-factory/connector-sharepoint-online-list?tabs=data-factory#copy-file-from-sharepoint-online 虽然这似乎可行,但缺点是应用注册需要获得 Sharepoint 权限 'Sites.Read.All'。这就是为什么我一直在寻找使用 MS Graph 执行此操作的原因,因为 MS Graph 允许权限 'Sites.Selected'。这是一个重要的问题,因为我想避免授予访问整个 Sharepoint 的权限(最好我只授予访问一个文件夹的权限,但我根本没有找到这个解决方案)。但是,我没有找到在 ADF 中使用 MS Graph 执行此操作的任何方法。
有人知道如何做到这一点吗?使用 Azure Functions 或 Logic 应用程序的解决方案不在我们当前的体系结构中 possible/allowed。
提前致谢。
在您的情况下,如果您可以从您的工作流程中调用 MS Graph API,假设您已经注册了应用程序,则您需要使用 Create permission 为您的应用程序创建站点权限该站点的管理员用户。
POST https://graph.microsoft.com/v1.0/sites/Site-ID/permissions
{
"roles": [
"read"
],
"grantedToIdentities": [
{
"application": {
"id": "your-app-client-id",
"displayName": "Test App"
}
}
]
}
然后将应用程序权限 Site.Selected 分配给您在 AAD 门户上的应用程序注册。这样,您的应用程序将只能访问该特定站点,而不能访问您租用范围内的所有站点
Inside copy activity 在源选项卡下你可以考虑使用 HTTP 连接器类型数据集或 REST 连接器类型数据集,这有助于你使用 MSGraph 进行 rest 调用 API.
有两种类型的上述连接器可以在 Azure 数据工厂中使用