Azure Blob 存储 - 在将新文件上传到 Blob 容器中的特定文件夹时设置警报

Posted

技术标签:

【中文标题】Azure Blob 存储 - 在将新文件上传到 Blob 容器中的特定文件夹时设置警报【英文标题】:Azure Blob Storage - Set an alert when a new file is uploaded to a specific folder in a blob container 【发布时间】:2018-01-10 09:37:24 【问题描述】:

在 Azure 中,我有一个存储帐户,用于从 IoT 设备上传文件。当物联网设备检测到某些条件时,会发送文件。所有文件都上传到同一个 Blob 容器和同一个文件夹中(在 Blob 容器内)。

我想做的是在新文件上传到 Blob 容器时自动发送一封电子邮件(作为警报)。我检查了 Azure 提供的用于在存储帐户(在 Azure 门户中)设置警报的不同选项,但我没有发现任何有用的东西。

我怎样才能创建这种警报?

【问题讨论】:

【参考方案1】:

据我所知,azure 提供了 azure 功能或 webjobs,可以在新文件上传到特殊容器时触发。

我建议您可以使用 azure function blob trigger 来满足您的要求。 更多详情,可以参考这个article。

在 azure function blob trigger 触发方法中,您还可以绑定sendgrid 发送电子邮件。

更多细节,您可以参考以下步骤:

注意:我以 C# azure 函数为例,您也可以使用其他语言。

1.创建一个blob触发azure函数。

2.创建一个sendgrid(Link)账户并创建API密钥。

3.Create设置创建的azure函数sendgrid outbind。

4.将以下代码添加到天蓝色函数run.csx。

#r "SendGrid"
using System;
using SendGrid;
using SendGrid.Helpers.Mail;



public static Mail Run(Stream myBlob, string name, TraceWriter log)

    var  message = new Mail
            
        Subject = "Azure news"          
    ;

    var personalization = new Personalization();
    personalization.AddTo(new Email("sendto email address"));   

    Content content = new Content
    
        Type = "text/plain",
        Value = name
    ;
    message.AddContent(content);
    message.AddPersonalization(personalization);

    return message;

【讨论】:

谢谢白兰度。这正是我所需要的。我会尝试以这种方式设置警报。

以上是关于Azure Blob 存储 - 在将新文件上传到 Blob 容器中的特定文件夹时设置警报的主要内容,如果未能解决你的问题,请参考以下文章

推送文档(blob)以进行索引 - Azure 搜索

将 Blob 的上传大小限制到 Azure Blob 存储

与 v11 相比,使用 v12 将文件上传到 Azure Blob 存储 SDK 的 ASP.NET Core 使用更高的内存

尝试通过节点 js 将 zip 文件上传到 azure 存储

从 SFTP 服务器将文件上传到 Azure 存储 Blob

无法使用 Azure.Storage.Blobs NuGet 包将文件上传到 Azure Blob 存储