簡體   English   中英

Azure功能:異步方法和輸出參數

[英]Azure Function : async method and output parameters

我想在我的azure函數中使用輸出隊列。 我從以下網址獲取示例代碼: https//docs.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)

我收到一個錯誤:

異步方法不能有ref,in或out參數

當然,我可以這樣做:

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

然后使用它:

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

但我想用綁定隊列消息來做到這一點

您正在尋找IAsyncCollector<T>從out param更改為。 您可以更改為ICollector<string> messagesIAsyncCollector<string> ,而不是“輸出字符串消息”,並將消息添加到正文中的集合中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM