声网Agora云录制无法将视频存储至Azure Blob的问题咨询
问题排查点
1. 存储配置参数错误(最可能的原因)
你的storageConfig配置不符合Agora对接Azure Blob的要求:
bucket参数仅支持填写Azure Blob的容器名称,不能携带路径后缀。你当前填写的azure-recordings/${channelName}包含了斜杠路径,会导致Agora无法识别目标存储容器。如果需要把文件存到容器下的${channelName}目录,需要额外添加fileNamePrefix参数,正确配置示例如下:
storageConfig: { accessKey: "你的Azure存储账户名称", // vendor=5时此处需填存储账户名,不是Azure的Access Key ID region: 0, bucket: "azure-recordings", // 仅填写存储容器名称 secretKey: "你的Azure存储账户访问密钥", vendor: 5, fileNamePrefix: [`${channelName}`] // 自定义存储路径前缀写在此参数内 }
- 注意
accessKey和secretKey的取值对应:vendor=5(Azure)时,accessKey填Azure存储账户的名称,secretKey填存储账户的访问密钥,不要误填成其他云厂商的密钥格式。
2. 录制配置校验
- 确认
idsToUse.uId对应用户确实在对应频道内正常推流,没有中途断流、未成功进入频道的情况。 - 确认
EventService.getRecordingToken(channelName)生成的是uid=999对应的有效token,token有效期覆盖整个直播时长,且生成token使用的App ID、频道名和请求中的AgoraAppID、cname完全一致。 - 你当前使用的是独立录制模式,需要确认录制结束后主动调用了stop接口,或等待
maxIdleTime触发自动结束,未结束的录制不会生成完整的可同步的存储文件。
3. 存储权限与连通性校验
- 确认Azure存储容器的防火墙规则已放行Agora云录制服务的所有出口IP段。
- 确认Azure存储容器的权限配置允许第三方写入,没有设置额外的写入权限限制。
4. 录制状态校验
你当前代码仅校验了接口请求的HTTP状态码,没有校验录制业务状态:
- 保留接口返回的
resourceId和sid,调用Agora云录制的query接口查询实时录制状态,若返回错误码可直接定位问题:- 错误码432:订阅流失败,检查频道内是否有对应uid的有效流
- 错误码433:存储配置校验失败,回到第一步核对存储参数
- 错误码435:录制服务内部错误,可提交工单排查
内容的提问来源于stack exchange,提问作者Junaid Ahmad
相关产品推荐
相关产品推荐

