gpt4 book ai didi

c# - 天蓝色函数 : async method and output parameters

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:14 25 4
gpt4 key购买 nike

我想在我的 azure 函数中使用输出队列。我从以下位置获得示例代码: https://learn.microsoft.com/en-us/sandbox/functions-recipes/queue-storage

[FunctionName("BasicQueueOutput")]
public static void Run([TimerTrigger("*/30 * * * * *")]TimerInfo myTimer,
TraceWriter log,
[Queue("101functionsqueue",Connection = "AzureWebJobsStorage")] out string queueMessage)
{
log.Info("101 Azure Function Demo - Storage Queue output");

queueMessage = DateTime.UtcNow.ToString();
}

它适用于同步方法,但在我的例子中它是异步方法:

    [FunctionName("FunctionRegisterDomain")]
public async static Task Run(
[QueueTrigger("domain-registation", Connection = "StorageConnectionString")]DomainForRegistration queueItem,
[Queue("domain-add-to-office365", Connection = "StorageConnectionString")]out DomainForRegistration outputQueue,
ILogger log)

我得到一个错误:

Async methods cannot have ref, in or out parameters

我当然可以:

    [Queue("domain-add-to-office365", Connection = "StorageConnectionString")]CloudQueue outputQueue,

然后使用它:

await outputQueue.AddMessageAsync(new CloudQueueMessage(JsonConvert.SerializeObject(queueItem)));

但我想通过绑定(bind)队列消息来做到这一点

最佳答案

您正在寻找IAsyncCollector<T>从参数更改为那个。您更改为 ICollector<string> messages 而不是“out string message”或 IAsyncCollector<string>并将您的消息添加到正文中的集合中。

关于c# - 天蓝色函数 : async method and output parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54391454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com