Azure数据工厂和SharePoint

10

我有一些存储在SharePoint Online中的Excel文件。我希望将存储在SharePoint文件夹中的文件复制到Azure Blob存储中。

为了实现这一目标,我正在使用Azure Portal在Azure Data Factory中创建一个新的管道。使用Azure Data Factory管道,有哪些可能的方法可以将文件从SharePoint复制到Azure Blob存储?

我已查看了Azure Data Factory管道中所有链接服务类型,但没有找到任何适合连接到SharePoint的类型。


在这里分享一个答案:https://stackoverflow.com/a/54917401/2398895 - Bo Xiao
使用Azure数据工厂有什么特定的原因吗?我认为Power Automate(Flow)也可以用来实现相同的功能。 - Muhammad Murad Haider
我有同样的需求 - Aless
5个回答

4

1
我们可以创建一个类型为“文件系统”的链接服务,通过将目录URL提供为“Host”值。为了验证用户身份,请提供用户名和密码/AKV详细信息。 注意:使用自托管IR

你确定这个能够工作吗?我已经尝试了多种URL组合,但是都没有成功。可能只适用于本地SharePoint而不是在线版本? - Johannes Vink

0

您可以使用逻辑应用从Sharepoint获取数据并将其加载到Azure Blob存储中,现在您可以使用Azure数据工厂从Blob获取数据,甚至我们可以设置事件触发器,以便如果任何文件进入Blob容器,则Azure管道将自动触发。


0

您可以使用Power Automate(https://make.powerautomate.com/)自动完成此任务:

  1. 创建一个自动化的云流触发器,每当在SharePoint中放置新文件时触发

Automated cloud flow

  1. 根据您的需求使用任何提到的触发器,并填写SharePoint详细信息

SharePoint Trigger

  1. 添加一个操作来创建 Blob,并根据您的用例填写详细信息

Create Blob action

通过使用此方法,您可以将所有SharePoint详细信息粘贴到BLOB中,而无需使用ADF。

0

我的先前回答是正确的,但在过去几年中,微软已经发布了有关如何从SharePoint库复制文档的指导。您可以使用Web活动从SharePoint Online复制文件进行身份验证并获取访问令牌,然后将其传递给后续的Copy活动,使用HTTP连接器作为源来复制数据。

我在处理大文件和Logic Apps时遇到了一些问题。原来要从该SharePoint库中复制一些非常大的文件。SharePoint具有100 MB缓冲区大小的默认限制,并且Get File Content操作不支持本地分块。

我成功地使用Web活动和Copy活动提取了文件。但我发现SharePoint权限配置有点棘手。我在这里记录了我的过程。 如果您只想复制完整文件而不是读取数据,则可以使用二进制数据集。

如果我的文件位于https://mytenant.sharepoint.com/sites/site1/libraryname/folder1/folder2/folder3/myfile.CSV,我需要检索文件的URL是https://mytenant.sharepoint.com/sites/site1/libraryname/folder1/folder2/folder3/myfile.CSV')/$value

请注意获取您的身份验证令牌的时间。您的身份验证令牌有效期为1小时。如果您按顺序复制一堆文件,并且这需要更长的时间,那么您可能会收到超时错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接