Azure Function 中的失败绑定队列存储消息文本
Failed Binding Queue Storage Message Text in Azure Function
我已成功将一些消息发送到 Azure 队列存储。
这是我如何将消息发送到我的队列存储的代码:
private void QueueEmail(Email email)
{
QueueClient client = GetQueueStorage("invoice-email");
var message = JsonConvert.SerializeObject(email);
System.Diagnostics.Debug.WriteLine(message);
client.SendMessageAsync(message).Wait();
}
当我尝试运行 azure 函数处理队列时出现错误,执行失败。以下是错误消息。
有谁知道如何解决这个问题?
您 运行 陷入此问题的原因是因为 Function 需要一个 base64 编码的字符串,而您传递的是一个简单的字符串。
从这个link
:
Encoding
Functions expect a base64 encoded string. Any adjustments to the
encoding type (in order to prepare data as a base64 encoded string)
need to be implemented in the calling service.
在发送消息之前,请尝试将其转换为 base64 编码的字符串。类似于:
private void QueueEmail(Email email)
{
QueueClient client = GetQueueStorage("invoice-email");
var message = JsonConvert.SerializeObject(email);
System.Diagnostics.Debug.WriteLine(message);
client.SendMessageAsync(Convert.ToBase64String(Encoding.UTF8.GetBytes(message))).Wait();
}
我已成功将一些消息发送到 Azure 队列存储。
这是我如何将消息发送到我的队列存储的代码:
private void QueueEmail(Email email)
{
QueueClient client = GetQueueStorage("invoice-email");
var message = JsonConvert.SerializeObject(email);
System.Diagnostics.Debug.WriteLine(message);
client.SendMessageAsync(message).Wait();
}
当我尝试运行 azure 函数处理队列时出现错误,执行失败。以下是错误消息。
有谁知道如何解决这个问题?
您 运行 陷入此问题的原因是因为 Function 需要一个 base64 编码的字符串,而您传递的是一个简单的字符串。
从这个link
:
Encoding
Functions expect a base64 encoded string. Any adjustments to the encoding type (in order to prepare data as a base64 encoded string) need to be implemented in the calling service.
在发送消息之前,请尝试将其转换为 base64 编码的字符串。类似于:
private void QueueEmail(Email email)
{
QueueClient client = GetQueueStorage("invoice-email");
var message = JsonConvert.SerializeObject(email);
System.Diagnostics.Debug.WriteLine(message);
client.SendMessageAsync(Convert.ToBase64String(Encoding.UTF8.GetBytes(message))).Wait();
}