Azure Bot 脚本未保存

Posted

技术标签:

【中文标题】Azure Bot 脚本未保存【英文标题】:Azure Bot transcripts not being saved 【发布时间】:2022-01-09 11:39:15 【问题描述】:

我有一个在 Bot Framework Composer 中开发的机器人,并实现了 Blob 脚本存储。当我在本地运行机器人时,成绩单存储工作。但是,一旦我将机器人发布到 azure,就不会保存任何成绩单。

我认为 azure bot 访问 blob 存储时出现了一些错误,但我没有看到 azure 中生成任何错误。 Blob 存储未显示任何访问尝试,向我表明该请求永远不会到达 Blob 存储。

我更新了 Blob 存储上的 CORS 以允许所有来源和方法,但这没有任何效果。

有什么建议要寻找什么或接下来要尝试什么?

【问题讨论】:

【参考方案1】:

问题在于将脚本添加到现有机器人有两个步骤。

在 Composer 中,设置:

    在 runtimeSettings > components > features 部分添加 blob 存储设置:
      "blobTranscript": 
        "connectionString": "DefaultEndpointsProtocol=https;AccountName=bottranscripts;AccountKey=<your key here>;EndpointSuffix=core.windows.net",
        "containerName": "transcripts"
      

此时,在本地运行机器人应该将脚本存储在 Azure 的 blob 存储中。

    同样,在 Composer 中,检查发布设置以发布到 Azure。应该有设置
    "blobStorage": 
      "connectionString": "<ConnectionString>",
      "container": "transcripts",
      "name": "<myBotName>"
    

确保连接字符串与您在 runtimeSettings 部分中输入的内容匹配。 Azure 中的机器人将使用发布设置,而不是脚本的 runtimeSettings。

【讨论】:

以上是关于Azure Bot 脚本未保存的主要内容,如果未能解决你的问题,请参考以下文章

数据未在 github 上为 discord.py bot 保存

是否可以读取 Azure Pipelines 脚本返回的数据或将其保存在变量中?

Directline对于Azure Bot Services没有响应,并被CORS策略阻止

Bot Framework 发送不必要的错误消息

discord bot 不保存到 mongoDB

未保存事件中心检查点数据