Я реализовал функцию Azure с использованием HTTP -триггера, интегрированного с SendGrid. Предполагаемое действие состоит в том, чтобы передавать данные в функцию Azure через HTTP и предоставить этот контент по электронной почте указанному почтовому ящику. Моя функция Azure успешно проверяется на портале Azure. Другими словами, когда я отправляю это, почтовый ящик получает ожидаемую электронную почту:
< /p>
Однако, когда я пытаюсь разместить функцию Azure через почтальон, я получаю статус 400« Плохой запрос - неверное имя хоста ». Я попытался использовать свои функциональные ключи, передавая ключ в качестве параметра в моем URI в почтальстве и альтернативно в заголовке как «x-functions-key». Всегда статус 400. Я получаю URL -адрес для публикации с портала Azure, нажав «Получить URL -адрес». В качестве альтернативы я также попытался отправить на URL, который соответствует:
< /p>
Вот мои функциональные привязки (function.json): < /p>
{
"bindings": [
{
"authLevel": "function",
"name": "req",
"type": "httpTrigger",
"direction": "in",
"methods": [
"get",
"post"
]
},
{
"type": "sendGrid",
"name": "$return",
"direction": "out",
"apiKey": "SendGridKey",
"from": "email@email.com",
"to": "email@email.com"
}
]
}
< /code>
Вот логика функции (run.csx): < /p>
#r "Newtonsoft.Json"
#r "SendGrid"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using SendGrid.Helpers.Mail;
public static SendGridMessage Run(Email req, ILogger log)
{
Guid Id = Guid.NewGuid();
log.LogInformation($"Email generated from websitename via Azure Function. Email ID: {Id}");
SendGridMessage message = new SendGridMessage()
{
Subject = $"From wesbitename. Subj: {req.Subject.Substring(0, 20)}"
};
message.AddContent("text/plain", $"Subject: {req.Subject} \n \n" + $"{req.Content} \n \n" + $"From: {req.CustomerName}, {req.CustomerEmail}");
return message;
}
public class Email
{
public string EmailId { get; set; }
public string Subject { get; set; }
public string Content { get; set; }
public string CustomerName { get; set; }
public string CustomerEmail { get; set; }
}
< /code>
Как я могу опубликовать функцию Azure через HTTP? Как мне разрешить ошибку 400? Спасибо! 1410702335303581697
Подробнее здесь: https://stackoverflow.com/questions/682 ... ia-postman