Azurefunction不通知我的机器人(Bot框架)

我正在使用每X分钟执行一次的Azurefunction(定时器触发function)。 我使用BotFramework制作了一个机器人,我希望每隔x分钟触发一次azurefunction。 当它被触发时,我的机器人必须得到通知。

我有一个输出Bot框架:

在此处输入图像描述

这是我的JSON文件:

{ "bindings": [ { "name": "myTimer", "type": "timerTrigger", "direction": "in", "schedule": "0 */1 * * * *" }, { "type": "bot", "name": "message", "botId": "Azurefunction", "secret": "h3VkHcc_PXU.cwA.XXXXXX.XXXXXXXX-XXX", "direction": "out" } ], "disabled": false } 

我的function是:

 using System; using System.Net; using System.Net.Http; using Microsoft.Azure.WebJobs.Host; public class BotMessage { public string Source { get; set; } public string Message { get; set; } } public static BotMessage Run(TimerInfo myTimer ,TraceWriter log) { BotMessage message = new BotMessage() { Source = "AzureFunction", Message = "Testing" }; return message; } 

我仍然有一个警告,我不知道为什么(也许这是问题)…警告AF004:缺少名为’message’的绑定参数。 不匹配的绑定参数名称可能会导致函数索引错误。

有了这些东西,Azurefunction运行良好,但似乎我的机器人没有得到通知。 我忘记了什么吗?

 2017-03-03T13:05:00.001 Function started (Id=a5be778e-da6d-4957-a7b5-d9c8f58bd396) 2017-03-03T13:05:00.001 Function completed (Success, Id=a5be778e-da6d-4957-a7b5-d9c8f58bd396) 

谢谢你的阅读。

您需要将机器人输出绑定名称从"message"更改为"$return"因为您已将函数编码为将函数作为函数返回值而不是作为输出参数返回。 这就是警告试图告诉你的。

一旦你解决了这个问题,我也相信"secret"值应该是一个应用程序设置名称,其值是你的机器人秘密。 你不应该把秘密直接放在你的function.json文件中。