python - 如何构建 Azure 数据工厂和 Azure 函数以进行文件验证检查和发送错误邮件
问题描述
我在管道中有一个 Azure 数据工厂复制活动。复制活动正在运行。我有 2 个问题。第一个问题是如何构建 Azure 数据工厂或 Azure 函数来执行以下任何流程。
- 将上传的 csv 文件或 excel 文件复制到另一个容器。
- 对 python 编码的 azure 函数执行验证检查。
- 将包含错误消息的邮件作为附件发送,该文件由 Azure 发送网格的 SMTP 验证检查生成。
- 如果验证检查没有问题,将该文件复制到 SQL 数据库表中。
非常感谢您提前合作。
解决方案
据我了解,以下回答您的问题。如果您需要其他内容或更多详细信息,请随时澄清。
将上传的 csv 文件或 excel 文件复制到另一个容器。
使用源 blob 作为输入和目标 blob 作为输出的复制数据
谢谢你。我得到了它。II也可以实现这一点。
对 python 编码的 azure 函数执行验证检查
使用数据工厂中的Azure 函数活动来调用您的 http 触发函数(假设您的意思是对正在上传/复制的文件进行验证检查?)
是的,我愿意。该文件与我上传和复制的文件相同。如何使用消息队列触发器?由于大文件,我希望使用复制完成队列的触发器。
你不需要排队来处理自己。您可以使用内置的 Blob触发器 ,这将使您的生活更轻松。
将包含错误消息的邮件作为附件发送,该文件由 Azure 发送网格的 SMTP 验证检查生成。
您可以使用 SendGrid 绑定从同一 python Azure 函数通过 SendGrid 发送电子邮件。但函数绑定不支持在邮件中附加文件。为此,您可以使用 SendGrid SDK而不是使用内置绑定编写自定义代码。
我不知道函数 bindind 不支持附加文件。我尝试使用 sendgrid SDK 和 API
SendGrid API 我还应该看到下面链接的参考吗? 附件
是的你可以。我相信那是 REST API 规范。如果您使用 SendGrid SDK,它将为您处理好。
如果验证检查没有问题,将该文件复制到 SQL 数据库表中。
您的意思是将文件作为二进制文件保存在某些 SQL 表列中吗?尽管您可以在技术上将其存储在 varbinary 类型列中。但我建议存储 blob 链接而不是将整个文件存储在 SQL 中。您可以在管道中使用SQL 活动来调用存储过程,将 blob 链接作为参数传递。
我的评论包括错过单词。下面是正确的。如果验证检查没有问题,将文件中的信息复制到SQL数据库表中,以备我积累数据后需要分析数据。我不知道如何将迁移过程的触发器设置为 SQL 数据库。我使用 Strage blob 的复制完成的消息队列作为输出会更好吗?
如上所述,您不需要自定义队列,因为数据工厂已经有触发器来帮助您。
推荐阅读
- html - 将 Bootstrap 列重新缩放为与另一列相同的高度?
- swiftui - 如何创建选择器以便除了文本之外我还可以显示 uiImage .png
- docker - 无法安装 Docker DTR
- deno - 在 deno 中,我可以知道我的脚本是直接运行还是被另一个脚本加载?
- spring-boot - 如何使用具有多个资源 ID 的 ResourceServer 实现来保护 api?
- oracle - oracle apex 自动更改文本字段的值
- java - 如何在 IntelliJ GUI Designer 中自由移动 JComponent?
- angular - 未触发 Angular 9 全局警报(嵌套出口)
- c++ - C++线性搜索算法,确定数组元素个数
- html - 如何将两张图片组合在一起