I am trying to create an azure function (v3) on .net Core 3.1 with TwilioSms Output binding. I referred to Microsoft official docs for the same
My function looks like :
[FunctionName("QueueTwilio")]
public async static Task Run(
[QueueTrigger("sms-queue", Connection = "AzureWebJobsStorage")] JObject req,
[TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken")]
IAsyncCollector<CreateMessageOptions> smsMessages,
ILogger log)
{
var message = new CreateMessageOptions(new PhoneNumber("+14xxxxxxxxx"))
{
Body = "Hello",
From = "+18xxxxxxxx"
};
await smsMessages.AddAsync(message);
}
}
I want the method to run asynchronously and a list of messages to fire in one call, hence, using output binding instead of return statement
[FunctionName("QueueTwilio")]
[return: TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken", From = "+1425XXXXXXX")]
After trying everything, I still get error :
Microsoft.Azure.WebJobs.Host: Exception binding parameter 'smsMessages'. Microsoft.Azure.WebJobs.Extensions.Twilio: Method not found: 'Void Twilio.Clients.TwilioRestClient..ctor(System.String, System.String, System.String, System.String, Twilio.Http.HttpClient)'.
Libraries used :
Microsoft.Azure.WebJobs.Extensions.Twilio 3.0.0 ; Microsoft.NET.Sdk.Functions 3.0.3