分享天某云对象存储开发的体验

       最近体验了天某云对象存储的功能,作为一名资深开发者,开发体验差强人意,与阿里云存在一定的差距。

     首先在开发文档上居然没有基于nodejs的代码示例,只有java,c#,go等的代码示例,虽然有javascript的,但那也只适用于浏览器端。难道nodejs就这么不受待见,阿里腾讯的云服务开发我都用过不少,nodejs也是和几大主流语言,有自己一席之地,甚至当年阿里函数计算出来时都是只支持nodejs,这么到这里连个名字都没见,失败。

      然后看到也提供api调用的方式,就改用这个来实现对象存储的访问,结果调试发现,有明显的时延,做一次预签名下载链接生成,从发起调用到返回居然平均要1秒多,咨询技术支持,他说不清楚api调用,都是用的sdk访问,甩给我一个java写的demo,平均耗时不到600~800毫米,说仅预签名调用才几十毫秒。(??建立网络连接的开销占比这么大?后来判断估计是他那边的网络不行),但至少给了我一个思路方向:

        如果你的应用对oss的性能要求高,不要考虑它的api调用,一定是用sdk方式。

     这就回到原来的问题上,要么我用其他语言的sdk,要么我自己想办法在nodejs实现sdk的调用方式。最开始我以为javascript的sdk可以拿来用在nodejs上,结果被打脸,用了下根本没法跑。后来看了下技术给的java文档,这不就是aws的库吗?还是S3的标准,上chatgpt赶紧问问,果不其然原来aws官网就已经给出了详尽的演示代码,天某云你做啥子嘛,好歹直接在开放者文档上给个链接也行啊,害得老子转了一大圈用了你的api调用。

        这是aws的预签名链接Create a presigned URL for Amazon S3 using an AWS SDK - Amazon Simple Storage ServiceCreate a presigned URL for Amazon S3 using an AWS SDKicon-default.png?t=N7T8https://docs.aws.amazon.com/AmazonS3/latest/userguide/example_s3_Scenario_PresignedUrl_section.html

      然后copy了下拿到本地开发调试,半小时不到跑通搞定,爽!!!

       经过实测,从建立连接到生成一个预签名下载链接,平均不到50毫秒。这个速度完全满足了应用到需要。

  初始化client注意的点:

    *region字段要有,但值无所谓,按技术支持说的不用填,但不写的话,代码会报错。 

     *ak, sk到某某云的对象存储管理页面里去查。

  

   * endpoint的话,创建一个bucket,然后点击bucket查看详情,外网的和内网都在。

    其他的代码部分就直接参考aws的官网的就行了,为了方便小伙伴,我贴出自己的完整示例

     

const { S3Client, GetObjectCommand} = require("@aws-sdk/client-s3");
const {  getSignedUrl} = require("@aws-sdk/s3-request-presigner");

const client = new S3Client({
    region: '1111',
    credentials: {
      accessKeyId: '<ak>',
      secretAccessKey: '<sk>'
    },
    endpoint: 'https://xxxx.xxx.xx.cn',
    forcePathStyle: true,
    sslEnabled: true
  });

  const signurl = async () =>
  {
    const Key ='test.jpg'
    const Bucket = 'test-bucket';

    const command = new GetObjectCommand({ Bucket, Key });
    const url = await getSignedUrl(client, command, 
      { expiresIn: 3600 ,
        ResponseCacheControl: 'max-age=3600', // 设置HTTP缓存控制头
      });
    console.log(url);
  }

  signurl().catch(console.error);

   另外吐槽下管理权限这块,很容易让人搞晕,概念太多,用户,用户组,策略,委托,当时想和另外一个小伙伴一起使用,发现子用户总是无法看到主账户的资源,后来才知道关键点是这个。

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/587086.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Outlook大附件插件 有效解决附件大小限制问题

很多企业都是使用Outlook来进行邮件的收发&#xff0c;可是由于附件大小有限&#xff0c;导致很多大文件发不出去&#xff0c;就会产生Outlook大附件插件这种业务需求。 邮件系统在发送大文件时面临的限制问题主要如下&#xff1a; 1、附件大小限制&#xff1a;大多数邮件服务…

net lambda 、 匿名函数 以及集合(实现IEnumerable的 如数组 、list等)

匿名函数&#xff1a;》》》 Action a1 delegate(int i) { Console.WriteLine(i); }; Lambda:>>> Aciont a1 (int i) > { Console.WriteLine(i); }; 可以简写 &#xff08;编译器会自动根据委托类型 推断&#xff09; Action a1 &#xff08;i&#xff09;> {…

前端vite+rollup前端监控初始化——封装基础fmp消耗时间的npm包并且发布npm beta版本

文章目录 ⭐前言&#x1f496;vue3系列文章 ⭐初始化npm项目&#x1f496;type为module&#x1f496;rollup.config.js ⭐封装fmp耗时计算的class&#x1f496;npm build打包class对象 ⭐发布npm的beta版本&#x1f496; npm发布beta版本 ⭐安装web-performance-tool的beta版本…

springcloud自定义全局异常

自行创建一个实体类 /*** 全局异常处理类**/ ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(Exception.class) ResponseBody public Result error(Exception e){e.printStackTrace(); return Result.fail();}/*** 自定义异常处理方法* param e * re…

GPU 架构与 CUDA 关系 并行计算平台和编程模型 CUDA 线程层次结构 GPU 的算力是如何计算的 算力峰值

GPU 架构与 CUDA 关系 本文主要包含 NVIDIA GPU 硬件的基础概念、CUDA(Compute Unified Device Architecture)并行计算平台和编程模型,详细讲解 CUDA 线程层次结构,最后将讲解 GPU 的算力是如何计算的,这将有助于计算大模型的算力峰值和算力利用率。 GPU 硬件基础概念GP…

GB32960解析工具

几年前搞了一个用Qt开发的国标32960报文解析工具。分享给大家&#xff0c;只用1积分便可以下载。 国标32960新能源车协议解析工具资源-CSDN文库

数据结构—C语言实现双向链表

目录 1.双向带头循环链表 2.自定义头文件&#xff1a; 3.List.cpp 文件 3.1 newnode()函数讲解 3.2 init() 函数 初始化 3.3 pushback()函数 尾插 3.4 pushfront()函数 头插 3.5 popback() 尾删 3.6 popfront() 函数 头删 3.7 insert()函数 在pos之后插入 3.8 popbac…

【JS篇之】异常

前言&#xff1a;在代码编写过程中&#xff0c;最常遇到的就是程序异常。其实异常并非坏事&#xff0c;它可以让开发人员及时发现、定位到错误&#xff0c;提醒我们做正确的事情&#xff0c;甚至在某些时候&#xff0c;我们还会手动抛出异常。 1.异常的分类 在JS中&#xff0…

Linux - nohup 后台启动命令

目录 1. nohup启动 2. nohup与&&#xff0c;后台运行 3. nohup与>&#xff0c;日志重定向 4. nohup后台启动-综合使用(推荐) 5. 文件描述符-0 1 2 6. 知识扩展 6.1 不停止服务&#xff0c;直接清空nohup.out 6.2 只记录警告级别比较高的日志 6.3 不想输出日志 …

c#word文档:1.创建空白Word文档及保存/2.添加页内容...

---创建空白Word文档 --- &#xff08;1&#xff09;创建一个名为OfficeOperator的类库项目。引用操作Word的.NET类库 &#xff08;2&#xff09;定义用于操作Word的类WordOperator1。添加引用Microsoft.Office.Interop.Word命名空间。 &#xff08;3&#xff09;为WordOper…

C#知识|汇总方法重载与静态方法应用技巧

哈喽&#xff0c;你好&#xff0c;我是雷工&#xff01; 今天学习C#方法重载与静态方法应用技巧的相关内容。 01 方法重载有什么好处&#xff1f; 1.1、可以有效的减少类的对外接口&#xff08;只显示一个方法比较简洁&#xff09;&#xff0c;从而降低类的复杂度。 1.2、方便…

Python 与 TensorFlow2 生成式 AI(一)

原文&#xff1a;zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 序言 “想象力比知识更重要。” – 阿尔伯特爱因斯坦&#xff0c;《爱因斯坦关于宇宙宗教和其他见解与格言》&#xff08;2009&#xff09;…

【Go 语言入门专栏】Go 语言的起源与发展

前言 Go 语言是当下最为流行的编程语言之一&#xff0c;大约在 2020、2021 年左右开始于国内盛行&#xff0c;许多大厂很早就将部分 Java 项目迁移到了 Go&#xff0c;足可看出其在性能方面的优越性。 相信各位都知道&#xff0c;在爬虫业务中&#xff0c;并发是一个关键的需…

安居水站:古斯塔夫·勒庞:揭秘群体心理的力量

“群众从来不渴求真理。 他们回避那些让他们不高兴的事实&#xff0c;而更喜欢崇拜能够诱惑他们的错误。凡是懂得欺骗她的人&#xff0c;都容易成为她的主人&#xff0c;凡是试图开导她的人&#xff0c;永远都是她的牺牲品。”古斯塔夫勒邦-群体心理学/古斯塔夫勒邦&#xff08…

哈希(hash)函数

本文已收录至《全国计算机等级考试——信息 安全技术》专栏 哈希函数&#xff0c;也称为散列函数 或杂凑函数&#xff0c;指将哈希表中元素的关键键值映射为元素存储位置的函数。是一种将任意长度的数据映射到固定长度输出的函数。哈希函数的特点包括压缩性&#xff0c;即输入数…

袁庭新ES系列18节|Spring Data Elasticsearch高级

前言 这一章节袁老师将带领同学们来学习Spring Data Elasticsearch高级操作相关的内容。我们继续来探索SDE是如何将原始操作Elasticsearch的客户端API进行封装的&#xff0c;以及通过Spring Data Elasticsearch如何来操作ES。准备好了吗&#xff1f;我们继续来探索ES的内容。 …

Android Studio 调试:快速入门指南

作为一名Android应用开发人员&#xff0c;调试是你不可或缺的技能之一。通过调试&#xff0c;你可以定位和解决各种问题&#xff0c;包括崩溃、性能问题、UI错误等。在本文中&#xff0c;我们将分享一些实用的Android调试技巧&#xff0c;帮助你提高应用开发效率。 Android St…

餐后血糖波动?学会在米饭里加两物

米饭里加两物&#xff0c;帮你平稳餐后血糖&#xff0c;餐后血糖稳稳的&#xff0c;别让你碗里的米饭太单调&#xff0c;搭着吃对血糖好。今天呢我教大家一招&#xff0c;在蒸米饭的时候&#xff0c;加上两种食材&#xff0c;能够改善餐后血糖。 第一就是在煮米饭的时候加点糙米…

STM32 F103C8T6学习笔记17:类IIC通信—MLX90614红外非接触温度计

今日学习配置MLX90614红外非接触温度计 与 STM32 F103C8T6 单片机的通信 文章提供测试代码讲解、完整工程下载、测试效果图 本文需要用到的大概基础知识&#xff1a;1.3寸OLED配置通信显示、IIC通信、 定时器配置使用 这里就只贴出我的 OLED驱动方面的网址链接了&#xff1a…

【热闻速递】Google 裁撤 Python研发团队

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 【&#x1f525;热闻速递】Google 裁撤 Python研发团队引入研究结论 【&#x1f5…