我有一个spring启动应用程序,它将在azure队列上发布消息。我还有一个用java编写的azure queuetrigger函数,它将侦听spring启动应用程序已向其发布消息的同一队列。queuetrigger函数无法检测到在队列上发布的消息。
这是我的出版商代码
public static void addQueueMessage(String connectStr, String queueName, String message) {
try {
// Instantiate a QueueClient which will be
// used to create and manipulate the queue
QueueClient queueClient = new QueueClientBuilder()
.connectionString(connectStr)
.queueName(queueName)
.buildClient();
System.out.println("Adding message to the queue: " + message);
// Add a message to the queue
queueClient.sendMessage(message);
} catch (QueueStorageException e) {
// Output the exception message and stack trace
System.out.println(e.getMessage());
e.printStackTrace();
}
}
这是我的queuetrigger函数应用程序代码
@FunctionName("queueprocessor")
public void run(
@QueueTrigger(name = "message",
queueName = "queuetest",
connection = "AzureWebJobsStorage") String message,
final ExecutionContext context
) {
context.getLogger().info(message);
}
我正在传递相同的连接字符串和队列名称,但仍然不起作用。如果我在本地机器上运行这个函数,它会被触发,但会出现错误图像
1条答案
按热度按时间jexiocij1#
正如官方文件所说,
函数需要base64编码的字符串。对编码类型的任何调整(以便将数据准备为base64编码字符串)都需要在调用服务中实现。
更新发件人代码以发送base64编码的邮件。