融合存储方案
更新时间: 2024/03/14 19:21:12
什么是融合存储
融合存储为出海和海外用户提供了新的存储方式。开启融合存储后,网易云信 IM SDK在 Web 应用收到文件消息会自动启用 cdn 加速选择最快的节点进行存储, 将文件消息存储在AWS 服务器或 NOS 服务器上。
使用融合存储前,需要向技术支持咨询打开融合存储配置开发,才能使用该功能。
如何使用
在确认融合存储配置开关开启后,初始化圈组实例时注入s3 sdk包,即可开启融合存储功能。示例代码如下:
js
import s3 from 'aws-sdk/clients/s3'
const qchat = new QChat({
...,
s3
});
涉及功能
- 用户在发送文件消息时 SDK 会选择新的存储方式 (AWS 服务器存储或 NOS 服务器存储)上传文件。
- 用户在收到文件消息 SDK 会自动启用 cdn 加速选择最快的节点。
从融合存储下载文件
如果开启了下载鉴权功能,用户收到文件消息后,需要通过 getFileToken 方法获取文件token,才可以下载文件。
获取 token 示例代码:
tstype GetFileTokenOptions = {
/**
* 类型 2表示带过期时间的全局token鉴权,3表示文件级别的url鉴权
*/
type: 2 | 3,
/**
* 如果type=3,是url鉴权,需要传url数组
*/
urls?: string[]|string
}
const qchat = new QChat(...);
qchat.cloudStorage.getFileToken({
type:3,
urls:['...']
})
根据获取到的获取token,在文件地址后加上如下代码,即可访问到文件进行下载。
ts`?nim-mixstore-ctoken=nim-mixstore-ctoken=${token}&appKey=${appKey}&uid=${account}`
getFileToken 返回值除了 token 还有 ttl。该值为 token 过期时间(单位:秒)。如果 token 过期,需要重新获取 token。
此文档是否对你有帮助?