如何删除源文件夹(位于本地文件系统上)中的所有文件。我需要有关 .NET 自定义活动或 Azure 数据工厂中的任何开箱即用解决方案的帮助。
PS:我确实找到了一个删除自定义活动,但它更倾向于 Blob 存储。
请帮忙。
2 回答
目前,不支持数据管理网关上的自定义活动。截至今天(2017 年 2 月 22 日),数据管理网关仅支持复制活动和存储过程活动。
解决方法:由于我没有用于本地文件的删除工具,因此我计划在 yyyy-mm-dd 的文件夹结构中包含源文件。因此,每个日期文件夹(例如:2017-02-22 文件夹)都将包含所有相关文件。我现在将配置我的 Azure 数据工厂作业以根据日期提取数据。
示例:2 月 22 日的 ADF 作业将搜索 2017-02-22 文件夹。在下一次运行中,我的 ADF 作业将搜索 2017-02-23 文件夹。这样我就不需要删除处理过的文件。
实际上,有一个正常的方法可以做到这一点。您将必须创建 Azure Functions 应用程序,该应用程序将接受带有您的 FTP/SFTP 设置(如果您使用一个)和要删除的文件名的 POST。因此,您将请求内容解析为 JSON,提取设置并使用 SSH.NET 库来删除所需的文件。如果您只有一个文件共享,您甚至不需要使用 SSH。稍后在数据工厂中,您将在正文部分添加一个具有动态内容的 Web 活动,以我上面提到的形式构建 JSON 请求。对于 URL,您指定已发布的 Azure Function Url +?code=<your function key>
实际上,我们最终创建了一大堆 Azure Functions,它们用作我们的 DF 管道的自定义活动。