【发布时间】:2020-12-27 10:28:45
【问题描述】:
我正在探索将 Azure blob 存储与我的机器人一起使用。我想将它用作状态的持久存储,以及存储成绩单。
我这样配置BlobStorage 对象:
storageProvider = new BlobStorage( {
containerName: process.env.BlobContainerName,
storageAccountOrConnectionString: process.env.BlobConnectionString
} );
由于敏感信息存储在这些文件中,尤其是转录本,我正在与我的团队合作保护存储帐户和其中的容器。
我们为托管机器人的应用程序服务创建了一个系统分配的托管标识,并且我们为该帐户赋予了“存储 Blob 数据参与者”角色。据我了解,它提供对存储内容的读取、写入和删除访问权限。
不幸的是,当机器人尝试访问存储时,访问尝试失败。我在“OnTurnError 跟踪”中看到以下错误:
StorageError: Forbidden
有趣的是,使用相同的 blob 存储连接字符串在本地运行机器人是可行的。表明此问题与服务标识和/或其拥有的权限有关。
有谁知道导致错误的原因是什么?存储帐户是否需要更多权限?任何关于增加错误记录以可能看到更详细的错误消息的想法也非常受欢迎。
【问题讨论】:
-
您的问题解决了吗?
-
嗨@ranusharao,正如我在回答我的帖子中提到的那样,我不相信机器人框架目前支持使用身份来访问 blob 存储。我已经在答案中详细说明了我的推理。如果我在分析中遗漏了什么,请告诉我。
标签: javascript botframework azure-storage