Я хочу использовать очередь вывода в моей функции лазури.Я получаю пример кода из: 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)));
но я бы хотел сделать это с привязками к очереди сообщений