机器人框架:'State size exceeded configured limit.'

BotFramework: 'State size exceeded configured limit.'

我正在开发一个机器人,每当我在表单流中发布异步英雄卡片(50 张英雄卡片)时,最后它都会给我一条错误消息:'State size exceeded configured limit.' 来自 Microsoft.Bot.Connector.DLL

尝试设置 PrivateConversationData 时发生错误 模拟器错误下方:

  "key": {
    "channelId": "emulator",
    "conversationId": "i99caeb8n2h7",
    "userId": "default-user"
  },
  "state": {
    "eTag": "1506952139325",
    "data": {
      "ResumptionContext": {
        "locale": "en-US",
        "isTrustedServiceUrl": true
      },
      "DialogState": "H4sIAAAAAAAEAOx9B2AjWX........",
      "ServiceUrl": "http://localhost:1460"
    }
  }
}

回复:

{
  "error": {
    "code": "MessageSizeTooBig",
    "message": "State size exceeded configured limit."
  }
}

谢谢大家

根据 docs,使用默认状态功能可以存储的数据量存在限制。每个状态存储(即用户、对话和私人机器人数据包)最多可包含 64kb 的数据。

您将不得不存储较少的信息或提供您自己的存储机制。

以下文章展示了如何使用 CosmosDb 管理状态数据:https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-state-azure-cosmosdb