当Sharepoint列表中的项目发生更改时,向Azure ServiceBus发送消息
本文关键字:Azure 消息 ServiceBus 列表 Sharepoint 项目 | 更新日期: 2023-09-27 18:08:25
我想发送消息到Azure ServiceBus队列时,一些项目在SharePoint列表中发生了变化。当您上传/删除文件时,我需要创建一个事件,该事件将带有文件内容和id的消息排队到Azure服务总线中。我不知道如何创建一个这样的事件,谁能给我点一些文章,教程开始。
您正在寻找事件接收器:
- 如何创建事件接收器
通过创建事件接收器,您可以在用户与SharePoint项目(如列表或列表项)交互时响应。例如,当用户更改日历或从联系人列表中删除姓名时,可以触发事件接收器中的代码。
文档中的示例代码:
public override void ItemAdded(SPItemEventProperties properties)
{
properties.ListItem["Patient Name"] = "Scott Brown";
properties.ListItem.Update();
base.ItemAdded(properties);
}
现在你需要修改这段代码来发送消息到servicebus队列:使用服务总线队列
public override void ItemAdded(SPItemEventProperties properties)
{
var connectionString = "<Your connection string>";
var queueName = "<Your queue name>";
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
var message = new BrokeredMessage("This is a test message!");
client.Send(message);
base.ItemAdded(properties);
}
如果您需要发送文件的内容,只需记住这一点:
服务总线队列支持的最大消息大小为256 Kb(头,其中包括标准和自定义应用程序属性,可以有最大大小为64 Kb)。
因此,您可能需要将文件存储到blob存储中,并且只需向具有创建blob id的队列发送消息。
- 使用。net开始使用Azure Blob存储