Настройка Twilio SMS из функций Azure v2 - PullRequest
1 голос
/ 05 апреля 2019

У меня есть код для чтения сообщений из концентратора событий Azure, который я хочу отправить по электронной почте или отправить SMS.

электронная почта работает через сетку отправки, но я не уверен, как настроить часть SMS.

Думаю, я бы хотел использовать Twilio, и вот пример того, на что похож мой код. «MessageCollector» работает для отправки электронной почты, поскольку в локальном json есть некоторая конфигурация для SendGrid. Как настроить Twilio?

    [FunctionName("SendAlert")]
    public static async Task Run(
        [EventHubTrigger("v1-email-hub", Connection = "EventHubConnection")] EventData[] events,
        [SendGrid] IAsyncCollector<SendGridMessage> messageCollector,
        [TwilioSms] IAsyncCollector<CreateMessageOptions> smsCollector,
        [Inject] NotificationEventLogic eventLogic,
        ILogger log)
    {

        foreach (EventData eventData in events)
        {

            string messageBody = Encoding.UTF8.GetString(eventData.Body.Array, eventData.Body.Offset, eventData.Body.Count);

            var notificationEvents = JsonConvert.DeserializeObject<List<NotificationEvent>>(messageBody);

            foreach (var ev in notificationEvents)
            {



                if (ev.NotificationEventType == NotificationEventType.Email)
                {
                    var message = new SendGridMessage();

                    // ... ... make message and add it
                    await messageCollector.AddAsync(message);
                }
                else if (ev.NotificationEventType == NotificationEventType.SMS)
                {
                    // Not sure how to get this to work
                    var mobileMessage = new CreateMessageOptions(new PhoneNumber(ev.Data))
                    {
                        Body = $"Notification {ev.NotificationId}"
                    };

                    await smsCollector.AddAsync(mobileMessage);
                }


                // await smsCollector.AddAsync()
                await eventLogic.CreateEventAsync(ev);
            }

        }
    }

1 Ответ

1 голос
/ 05 апреля 2019

Вам нужно будет настроить его в атрибуте

[TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken", From = "+1425XXXXXXX")]

как указано в документации

TwilioAccountSid Это значение должно быть установлено на имя параметра приложения, в котором хранится ваша учетная запись Twilio, например, TwilioAccountSid. Если не установлено, имя настройки приложения по умолчанию: "AzureWebJobsTwilioAccountSid".

TwilioAuthToken Это значение должно быть установлено на имя параметра приложения, в котором хранится ваш токен аутентификации Twilio например TwilioAccountAuthToken. Если не установлено, имя настройки приложения по умолчанию такое "AzureWebJobsTwilioAuthToken".

...