无法从CreateMessageOptions绑定到TwilioSms Azure功能

Kar*_*na 2 c# azure twilio azure-functions

以下代码:

using Microsoft.Azure.WebJobs;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

namespace FunctionApp2
{
    public static class Function1
    {
        [FunctionName("Function1")]
        [return: TwilioSms(AccountSidSetting = "AccountSidSetting", AuthTokenSetting = "AuthTokenSetting", From = "From")]
        public static CreateMessageOptions Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer)
        {

            var message = new CreateMessageOptions(new PhoneNumber("XXXXX"))
            {
                Body = $"Hello thanks for your order!"
            };

            return message;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

给出错误:

"Microsoft.Azure.WebJobs.Host: Error indexing method 'Funct
ion1.Run'. Microsoft.Azure.WebJobs.Host: Can't bind TwilioSms to type 'Twilio.Re
st.Api.V2010.Account.CreateMessageOptions&'.

[2018-12-02 18:03:44] Error indexing method 'Function1.Run'
[2018-12-02 18:03:44] Microsoft.Azure.WebJobs.Host: Error indexing method 'Funct
ion1.Run'. Microsoft.Azure.WebJobs.Host: Can't bind TwilioSms to type 'Twilio.Re
st.Api.V2010.Account.CreateMessageOptions&'.
[2018-12-02 18:03:44] Function 'Function1.Run' failed indexing and will be disab
led.
[2018-12-02 18:03:44] No job functions found. Try making your job classes and me
thods public. If you're using binding extensions (e.g. ServiceBus, Timers, etc.)
 make sure you've called the registration method for the extension(s) in your st
artup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).
[2018-12-02 18:03:44] Host initialized (715ms)
[2018-12-02 18:03:44] Host started (743ms)
[2018-12-02 18:03:44] Job host started
[2018-12-02 18:03:44] The following 1 functions are in error:
[2018-12-02 18:03:44] Run: Microsoft.Azure.WebJobs.Host: Error indexing method '
Function1.Run'. Microsoft.Azure.WebJobs.Host: Can't bind TwilioSms to type 'Twil
io.Rest.Api.V2010.Account.CreateMessageOptions&'."
Run Code Online (Sandbox Code Playgroud)

以下是依赖项:

依赖img

我该如何解决?这是依赖关系的问题还是仅仅与代码有关?

该示例来自此文档:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-twilio#example---functions-2x

Jer*_*Liu 5

您已经创建了一个v1 Function项目,同时参考了v2示例.由于Twilio SDK的不同,v1函数SMSMessage在v2使用时使用CreateMessageOptions.所以只需检查v1示例并修改代码即可.

    [FunctionName("Function1")]
    [return: TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken", From = "xxx")]
    public static SMSMessage Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer)
    {
        var message = new SMSMessage()
        {
            Body = "Hello thanks for your order!",
            To = "xxx"
        };

        return message;
    }
Run Code Online (Sandbox Code Playgroud)

而项目只需要两个依赖项Microsoft.Azure.WebJobs.Extensions.TwilioMicrosoft.NET.Sdk.Functions.