Web

融合存储方案

更新时间: 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。

此文档是否对你有帮助?
有帮助
去反馈
  • 什么是融合存储
  • 如何使用
  • 涉及功能
  • 从融合存储下载文件