通过电子邮件在Azure blob存储上发送文件

每个星期一,由计时器触发的功能应用程序将文件添加到Azure blob存储中。我想知道是否可以通过电子邮件将附件发送给人们。发件人电子邮件将是我单位的电子邮件,而不是GMail或Outlook或其他任何电子邮件。收件人也将来自我的组织。

所有的Function App代码都是用Python编写的,因此它是Linux环境,并且使用的是消费计划。我了解我无法执行Sendgrid out绑定,因为它不支持Python(在撰写本文时)。

我浏览了有关使用MIMEMultipart发送电子邮件的文章,但是它寻找的“附件”位于本地。我感兴趣的文件在Azure存储帐户中。

我已经环顾四周,但是找不到任何支持它的东西。由于我是在Python上执行此操作,因此我无所适从。

请,你能帮我吗?

长话短说:我在Azure存储帐户上有一个文件,并且使用Python,我希望将其通过电子邮件发送给人们。

kaka29999 回答:通过电子邮件在Azure blob存储上发送文件

您可以使用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)

来源:https://github.com/yokawasa/azure-functions-python-samples/tree/master/v2functions/blob-trigger-cosmosdb-out-binding

我认为更简单的另一种选择是,只需将Logic Apps与Azure Storage Connector和您喜欢的工具一起使用来发送电子邮件(Sendgrid,Outlook,Gmail等)

https://docs.microsoft.com/bs-latn-ba/azure///////connectors/connectors-create-api-azureblobstorage

本文链接:https://www.f2er.com/3160250.html

大家都在问