将 Azure 服务总线消息发送到 Blob 或 Azure 数据工厂

Send Azure Service Bus messages to Blob or Azure Data Factory

有人可以告诉我是否可以将 Azure 服务总线消息(尤其是服务总线队列)发送到 Azure 数据工厂或 Blob 存储。

根据以下内容link,没有用于带有 ADF 的服务总线的连接器。但是,它确实声明可以将消息发送到 Blob Store。但不幸的是,我找不到任何关于如何将消息发送到 blob 存储的信息。

有没有人遇到任何 links?

https://docs.microsoft.com/en-us/answers/questions/424698/suggest-solution-for-reading-data-from-azure-servi.html

如果您希望将 Azure 服务总线转变为存储 Blob,这可能很容易实现。您需要一个服务总线触发器来检索消息负载及其 ID 以用作 blob 名称,使用您想要的任何机制存储负载(消息正文)。可以使用 Storage SDK 将内容写入 blob。或具有随机 blob 名称的 blob 输出绑定。或者消息 ID 作为 blob 名称。下面是一个函数示例,该函数将由服务总线队列中名为 myqueue 的新消息触发,并将在 messages 容器中生成以消息 ID 命名的 blob。

In-process SDK

public static class MessageTriggeredFunction
{
    [FunctionName(nameof(MessageTriggeredFunction))]
    public static async Task Run(
        [ServiceBusTrigger("myqueue", Connection = "ServiceBusConnectionString")]string payload,
        string messageId,
        [Blob("messages/{messageId}.txt", FileAccess.Write, Connection = "StorageAccountConnectionString")] Stream output)
    {
        await output.WriteAsync(Encoding.UTF8.GetBytes(payload));
    }
}

独立工作者 SDK

public class MessageTriggeredFunctionIsolated
{
   [Function(nameof(MessageTriggeredFunctionIsolated))]
   [BlobOutput("messages/{messageId}.txt", Connection = "StorageAccountConnectionString")]
   public string Run(
       [ServiceBusTrigger("myqueue", Connection = "ServiceBusConnectionString")] string payload,
       string messageId)
  {
            return payload;
  }
}