python-3.x - 通过电子邮件发送 Azure Blob 存储上的文件
问题描述
每周一,定时器触发的函数应用都会向 Azure blob 存储添加一个文件。我想知道是否有办法通过电子邮件将其作为附件发送给人们。发件人电子邮件将是我的组织的,而不是 GMail 或 Outlook 或任何东西。收件人也将来自我的组织。
所有 Function App 代码都是用 Python 编写的,因此它是一个 Linux 环境,并且使用的是消费计划。我知道我无法进行 Sendgrid 绑定,因为它不支持 Python(在撰写本文时)。
我浏览过有关使用 MIMEMultipart 发送电子邮件的文章,但它所寻求的“附件”位于本地。我感兴趣的文件位于 Azure 存储帐户中。
我环顾四周,但找不到任何支持它的东西。由于我在 Python 上执行此操作,因此我更加不知所措。
拜托,你能帮帮我吗?
长话短说:我在 Azure 存储帐户上有一个文件,并且使用 Python,我希望将其通过电子邮件发送给人们。
解决方案
可以使用 blob 触发器创建新的 Azure 函数。
这是一个关于它的示例:
def main(myblob: func.InputStream):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n"
f"Blob Size: {myblob.length} bytes")
img_data = myblob.read()
#Logic to send the email in here
try:
except Exception as e:
print('Error:')
print(e)
另一种选择,我认为更简单,只需将逻辑应用与 Azure 存储连接器和您最喜欢的工具一起使用来发送电子邮件(Sendgrid、outlook、gmail 等)
https://docs.microsoft.com/bs-latn-ba/azure///////connectors/connectors-create-api-azureblobstorage
推荐阅读
- visual-studio-code - Visual Studio 代码给出错误“拒绝访问”和“系统无法执行指定的程序”。交替
- python - 对同时包含字母和数字的 Python 列表进行排序
- javascript - 关于嵌套 try catch 语句和错误处理的问题
- python - python pandas合并数据框
- react-native - 到达 ListFooterComponent 末尾时调用 React Native FlatList onEndReached
- ms-office - 将列中的单元格值填充到 Excel Office.js 中另一列中的空白单元格
- javascript - 将我的 JQuery 函数转换为 vanilla js - 多个 forEach 的问题?
- python - 如何从 Python 访问在 EMR 集群中创建的 Hive
- python - 使用 Exchangelib 加快获取电子邮件的速度
- certificate - 在 andorid tv 上安装 CRT 证书文件