耐用功能 Blob 触发器

R K*_*mar 4 azure-functions azure-durable-functions

我需要有关使用 blob 触发器编写持久函数的帮助,任何人都可以提供帮助。

我已经创建了一个 Blob 触发器函数,它将处理进入 Blob 的任何新文件,现在我需要将 Blob 触发器函数迁移到持久函数,并且我在持久函数中没有看到任何用于 Blob 触发器的选项,任何人都可以指导我?

Seb*_*atz 7

您可以(在将 DurableFunctions 添加到 Function App 之后)通过附加参数扩展 blob 触发函数的签名,[OrchestrationClient] DurableOrchestrationClient orchestrationClient这使您能够启动新的编排。

[FunctionName("TriggeredByBlob")]
public static async void Run([BlobTrigger("container/{blobName}", Connection = "Blob:StorageConnection")]Stream requestBlob, string blobName, [OrchestrationClient] DurableOrchestrationClient orchestrationClient)    
{
   // ... you code goes here

   string instanceId = await orchestrationClient.StartNewAsync("OrchestrationThatProccesesBlob", blobName);

   // ... you code goes here
}
Run Code Online (Sandbox Code Playgroud)

这里有 Paco de la Cruz 的示例https://pacodelacruzag.wordpress.com/2018/04/17/azure-durable-functions-approval-workflow-with-sendgrid/其中显示了有关如何执行此操作的更多详细信息。