开发者社区 > 云原生 > Serverless > 正文

函数计算这个需求可以实现吗?

函数计算这个需求可以实现吗?我现在在微信小游戏开发了一个程序,数据目前存储在阿里云的oss上面。
目前我的逻辑是每次都要从oss上面下载完整的数据,然后本地修改后在完整的上传到oss上面。

这个数据目前比较大了,在5~10M左右

目前我调研了微信云开发的能力, 他们可以支持直接远端对json数据的增删改查。 这样客户端就不用做这个事情 节省了比较大资源消耗。

但是微信云开发,数据肯定需要在微信平台上了。 目前我们的数据都在oss上,阿里云有类似微信云开发的能力吗?诉求就是希望有种手段对oss上面的json进行增删改查的能力,不用每次都要下载下来修改后在上传上去?

展开
收起
三分钟热度的鱼 2024-03-27 16:27:28 31 0
2 条回答
写回答
取消 提交回答
  • 可以实现。您可以使用阿里云的函数计算服务,将您的程序部署到云端,并使用阿里云的OSS服务作为数据存储。这样,您可以通过调用函数计算服务的API来实现数据的读取和修改,而不需要每次都从OSS下载完整的数据。

    具体实现步骤如下:

    1. 在阿里云函数计算控制台创建一个函数,选择与您的微信小游戏相匹配的运行时环境(如Node.js)。

    2. 编写一个处理函数,用于读取OSS上的数据,进行修改后返回给微信小游戏。您可以使用阿里云SDK for Node.js来操作OSS。示例代码如下:

    const OS = require('ali-oss');
    
    // 创建OSS客户端实例
    const client = new OSS({
      region: '<您的OSS区域>',
      accessKeyId: '<您的AccessKey ID>',
      accessKeySecret: '<您的AccessKey Secret>',
      bucket: '<您的OSS Bucket名称>'
    });
    
    exports.handler = async (event, context) => {
      // 从OSS读取数据
      const result = await client.get('<您的OSS文件路径>');
      const data = result.content.toString();
    
      // 对数据进行修改
      const modifiedData = modifyData(data);
    
      // 将修改后的数据写回OSS
      await client.put('<您的OSS文件路径>', modifiedData);
    
      // 返回修改后的数据给微信小游戏
      return modifiedData;
    };
    
    function modifyData(data) {
      // 在这里实现您的数据修改逻辑
      return data;
    }
    
    1. 部署函数到阿里云函数计算服务。

    2. 在微信小游戏中调用阿里云函数计算服务的API,获取修改后的数据。

    通过这种方式,您可以减少不必要的数据传输,提高程序的性能和效率。

    2024-03-31 11:25:42
    赞同 展开评论 打赏
  • 5-10M的文件走内网或挂载,基本不需要考虑下载耗时
    前提1:oss和fc同地域 2:不需要考虑并发读写
    此回答整理自钉群“阿里函数计算官网客户”

    2024-03-27 16:53:56
    赞同 2 展开评论 打赏

快速交付实现商业价值。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载