当前位置: 首页 > news >正文

配置OBS存储功能、新搭建obs

通过应用开发环境与OBS(Object-based Storage Service)对接,实现对象或者Widget资产存储功能。

背景信息

对象存储服务(Object-based Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

在配置S3存储功能章节我们介绍过如何对接Amazon S3,本节将介绍如何对接OBS。

两者相同点如下:

  • 两者对接的应用场景相同,都是为了实现对象或者Widget资产等的存储功能。
  • 两者在应用开发环境上如何配置Connector的操作步骤相似。

两者差异点如下:

  • 在对接Amazon S3时,您可以在Flow中调用Connector实现对接。
  • 在对接OBS时,您只能通过调用应用开发环境的Rest接口来调用Connector实现对接。

场景描述

向OBS中存储“objectA.txt”文件。

前提条件

请获取如下关键信息:

  • 已获取OBS用户的访问密钥 ID(Access key ID)和秘密访问密钥(Secret access key)。
  • 已获取OBS服务的区域ID。
  • 已在OBS上创建存储桶(例如“bing.testonly.1”),用于后续存储对象使用。

配置Connector操作步骤

  1. 在APP开发界面左侧列表单击,选择“连接 > 连接器”。
  2. 在Connectors配置界面中单击“OBS”图标,打开Connector列表。
  3. 单击“新建”。
  4. 输入与OBS对接的参数,单击“下一步”。图 1 新建Connector

表 1 新建Connector页面参数说明

参数说明
名称Connector的名称。示例: TestOBS
访问密钥OBS用户的访问密钥 ID(Access key ID)。
密钥OBS用户的秘密访问密钥(Secret access key)。
账号地区OBS服务的区域ID。
内容分发网络CDN服务器的地址。通过该配置,您后续访问上传的静态资源时,可不用登录OBS,直接通过CDN访问到静态资源。可选配置。
描述Connector的描述信息。

5. 选择存储桶,用于选择在OBS上哪个存储桶上进行存储,也可选择多个桶进行存储,这里选择桶“bing.testonly.1”,单击“保存”。

6. (可选)创建Connector后,您可进行简单的测试,测试是否能在存储桶上存储对象。

说明:
该测试只能上传小于1MB字节的对象。

(1)在该Connector详情页面单击存储桶所在行的

(2)单击“点击上传”,选择对象文件,单击“上传”。

图 2 选择对象

(3)单击上传好的文件名,进行下载。打开下载的对象存储文件,查看与上传的对象存储文件是否一致。

调用Connector

1. 调用Rest接口,查询出Connector ID,根据Connector ID,才能调用具体的Connector。其中IP和Port分别是应用开发环境的IP地址和对外服务端口号。

http://IP:Port/u-route/baas/sys/v1.0/connectors?type=obs

该接口用于查询所有创建的OBS类型的Connector的ID。本示例中的查询结果中,找出Connector名称为“TestOBS”的Connector ID为“003W000000FfSV4F5twG”。接下来我们将根据这个ID,调用对接OBS的Connector“TestOBS”。

{"resCode": "0","resMsg": "Success","result": [{"id": "003W000000FfSV4F5twG","name": "TestOBS","type": "obs","createdBy": "10gd000000En2xfeFqQy","createdDate": "2018-04-17 07:23:53","lastModifiedBy": "10gd000000En2xfeFqQy","lastModifiedDate": "2018-04-17 07:33:05","owner": "10gd000000En2xfeFqQy","accessKey": "0ZILHVIXUXXXXXXXXXX","secretKey": "O5ZeitY4dDQlCm4pJf8ow3BcoXXXXXXXXXX","rootRegion": "cn-south-1","buckets": [{"name": "bingo.testonly.1","region": "cn-south-1"}],"createdBy.name": "Lily","lastModifiedBy.name": "Lily","owner.name": "Lily"},{"id": "003W000000FfSYZ2NIHI","name": "TestB","type": "obs","createdBy": "10gd000000En2xfeFqQy","createdDate": "2018-04-17 07:24:41","lastModifiedBy": "10gd000000En2xfeFqQy","lastModifiedDate": "2018-04-17 07:24:41","owner": "10gd000000En2xfeFqQy","accessKey": "fdas","secretKey": "fdas","rootRegion": "fdsa","buckets": null,"createdBy.name": "Lily","lastModifiedBy.name": "Lily","owner.name": "Lily"}]
}

2. 通过调用应用开发环境的Rest接口实现与OBS的对接。

Rest接口为:

http://IP:Port/u-route/baas/sys/v1.0/connectors/ConnectorID/action?type=obs&op=action&object=FileName&dir=DirName&bucket=BucketName
参数说明如下:
  • IP:应用开发环境的IP地址。
  • Port:应用开发环境对外提供服务的端口号。
  • ConnectorID:该Connector ID。可通过上一步进行查询。
  • action:具体的动作。如下:listbuckets:列举该存储桶上所有对象文件。putobject:上传对象文件。viewobject:查看对象文件。delobject:删除对象文件。createdir:在存储桶上创建文件目录。listdir:列举该文件目录下所有文件。deldir:删除目录。
  • FileName:待存储到OBS上的文件名,请携带文件类型后缀。可选参数,根据接口动作进行携带。
  • DirName:存储桶上的文件目录名。可选参数,根据接口动作进行携带。
  • BucketName:存储桶名称。可选参数,根据接口动作进行携带。

例如查看存储桶“bingo.testonly.1”上存储对象文件“ObjectA.txt”的Rest接口为:

http://10.136.104.56:21112/u-route/baas/sys/v1.0/connectors/003W000000FfSV4F5twG/action?type=obs&op=viewobject&object=ObjectA.txt&bucket=bingo.testonly.1

相关文章:

配置OBS存储功能、新搭建obs

通过应用开发环境与OBS(Object-based Storage Service)对接,实现对象或者Widget资产存储功能。 背景信息 对象存储服务(Object-based Storage Service,OBS)是一个基于对象的海量存储服务,为客…...

基于DPDK收包的suricata的安装和运行

操作系统版本:Ubuntu 20.04.5 suricata版本: suricata-7.0.0-rc1 suricata是一个基于规则的入侵检测和防御引擎,功能强大,但性能可能 差强人意,不过目前最新的7版本已经支持DPDK收包了,DPDK是Intel提供的高…...

浅谈23种设计模式

创建型模式 有5种设计模式 抽象工厂(Abstract Factory):多套方案 抽象工厂模式是对创建不同的产品类型的抽象。对应到工作中,我们的确应该具备提供多套方案的能力,这也是我们常说的,要提供选择题。当你有这…...

JetBrains Rider 2022.3.3 Crack

具有 ReSharper 强大功能的令人难以置信的 .NET IDE!Rider 在我们使用 Windows 和 macOS 的整个开发团队中使用。 什么是骑士? JetBrains Rider 是一个基于 IntelliJ 平台和 ReSharper 的跨平台 .NET IDE。 支持许多 .NET 项目类型 JetBrains Rider 支持…...

浅理解扁平数据结构转Tree(树形结构)

文章目录📋前言🎯扁平数据结构🎯树形数据结构🎯使用递归将扁平数据转换为树形数据📝最后📋前言 在前端开发中,我们经常需要将扁平数据结构转换为树形结构(Tree)。比如在…...

前端开发——JavaScript的条件语句

世界不仅有黑,又或者白 世界而是一道精致的灰 ——Lungcen 目录 条件判断语句 if 语句 if else 语句 if else if else 语句 switch语句 break 关键字 case 子句 default语句 while循环语句 do while循环语句 for循环语句 for 循环中的三个表达式 for 循环嵌套 for …...

2.11 循环赛日程表

博主简介:一个爱打游戏的计算机专业学生博主主页: 夏驰和徐策所属专栏:算法设计与分析 目录 书本内容: 我的理解: 更优化的算法: 总结 1.注意实现问题 2.当用C语言和C实现循环赛日程表算法时&#xff…...

SpringBoot——SB整合mybatis案例(残缺版本)第三集

了解完使用阿里云存储的操作后,现在需要在案例里面集成阿里云进行开发。云服务——阿里云OSS的入门使用_北岭山脚鼠鼠的博客-CSDN博客 阿里云OSS——集成 对于前端传过来的图片要先上传到OSS,然后获取图片在云端的访问地址,存储到数据库里面…...

Baumer工业相机堡盟相机不满帧如何使用CameraExplorer设置相机参数让它的帧率达到满帧

项目场景 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具…...

巴黎爱情回忆 NFT 作品集

由 Metaverse Studio 制作。 欢迎来到浪漫之都巴黎!尽情游览美丽壮观的地标,探索法国文化。在离开之前,别忘了从《巴黎爱情回忆》NFT 作品集中带走一件纪念品。从世界著名的法国人物到标志性资产,这些 NFT肯定会为您的钱包带来巴黎…...

openai开放gpt3.5-turbo模型api,使用python即可写一个基于gpt的智能问答机器人

1安装python库 使用pip安装openai库,注意gpt3.5-turbo模型需要python>3.9的版本支持,本文演示的python版本是python3.10.10 pip install openai2创建api key 需要提前在openai官网上注册好账号,然后打开https://platform.openai.com/ac…...

GUI开发--LCD屏幕的使用(非第三方库)--笔记

导:界面交互需要GUI,GUI需要文字和图片,所有此处总结在M4芯片上实现GUI的基本操作!该芯片具有160K大小的内存,有512K的flash;故而没有使用第三方库! LCD屏幕的使用--笔记 1.汉字显示-两种方式…...

CesiumForUnreal实现地形等高线效果

文章目录 1.实现目标2.实现过程2.1 实现原理2.2 具体过程3.参考资料1.实现目标 在UE5中使用CesiumForUnreal插件添加Cesium World Terrain在线的世界地形,然后以25米为等高距,绘制一定范围内的等高线,如下图所示: 2.实现过程 由于这里直接使用CesiumForUnreal插件加载的在…...

Python爬虫——Python Selenium基本用法

Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,这里对其中的常用方法做详细介绍。 定位节点 Selenium 提供了 8 种定位单个节点的方法,如下所示: 定位节点方法方法说明find_element_by_id()通过 id 属性值定…...

仿真与测试:单元测试与Test Harness

本文描述单元测试的概念,以及Test Harness建立的方法和简单的单元测试过程。 文章目录1 单元测试1.1 场景举例1.2 简单的测试方法2 Test Harness建立2.1 模型配置2.2 创建Test Harness3 总结1 单元测试 单元测试,简单来说就是在Simulink模型中只测试一小…...

面试常问集锦——MySQL部分

Mysql速成大法 请签收MySQL灵魂十连 https://mp.weixin.qq.com/s?__bizMzI4NjI1OTI4Nw&mid2247488721&idx1&sneead82d2b7a0fdf993beacc4dfd60313&chksmebdef5e9dca97cff9d638877e5855850727ae26ebcfd60c7700ae53e311fa6ddb64b63bb9552&scene178&cur_a…...

算法训练第四十四天|完全背包理论 、518. 零钱兑换 II、377. 组合总和 Ⅳ

第九章 动态规划part06完全背包理论基础完全背包C测试代码总结518. 零钱兑换 II题目描述思路总结377. 组合总和 Ⅳ题目描述思路总结完全背包理论基础 参考:https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%…...

0x06多层感知机

感知机 感知机形象的来看就是我们接触过的一个只有两个部分组成(输出和输入)组成的最简单的神经网络之一。 给定输入x,权重w和偏移b以及一个感知函数,感知机就能输出: 这个函数可以形象的用作二分类问题,…...

HTML是什么?HTML简介

HTML 英文全称是 Hyper Text Markup Language,中文译为“超文本标记语言”,专门用来设计和编辑网页。 使用 HTML 编写的文件称为“HTML 文档”,一般后缀为.html(也可以使用.htm,不过比较少见)。HTML 文档是…...

Linux定时服务

目录 1、定时器操作 2.cron表达式的语法规则 参考链接 1、定时器操作 sudo crontab -e 【选择2】 进入进行配置【需要按下 i 】 #sh /home/xx/crontabsh/test.sh的意思是,让sh解释器调用test.sh脚本,到达定时执行任务的效果 # 每一分钟执行一次 *…...

模型量化基础知识 - PTQ - 训练后量化

文章目录一、PTQ 是什么二、PTQ 的标准流程(五大步骤)✅ Step 0:准备 FP 模型(Baseline)✅ Step 1:插入量化节点(Quantization Simulation)✅ Step 2:校准(Ca…...

告别穿模与漂移!南洋理工团队提出HMR新框架:用视觉大模型对齐人体姿态

点击下方卡片,关注「3D视觉工坊」公众号选择星标,干货第一时间送达本文一作投稿发布 | 来源:3D视觉工坊「3D视觉从入门到精通」知识星球(点开有惊喜) !星球内有20多门3D视觉系统课程、300场顶会讲解、顶会论文最新解读、海量3D视觉…...

Windows苹果设备驱动终极指南:3分钟搞定iPhone/iPad连接难题

Windows苹果设备驱动终极指南:3分钟搞定iPhone/iPad连接难题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/…...

数字IC设计的未来:ChatGPT能否颠覆十大核心领域?

1. ChatGPT在数字IC设计中的定位 最近两年AI工具的发展确实让人眼前一亮,特别是ChatGPT这种大语言模型,在代码生成、技术问答方面展现出了惊人的能力。作为一名在数字IC设计领域摸爬滚打多年的工程师,我也第一时间测试了它在芯片设计各个环节…...

告别重复配置:用快马AI自动化生成规范化的软件安装包项目

今天想和大家分享一个提升开发效率的小技巧——如何用InsCode(快马)平台快速生成规范化的Python安装包项目。作为一个经常需要打包工具给团队使用的开发者,我深刻体会到手动配置各种安装文件的痛苦,直到发现了这个能自动化生成项目骨架的神器。 传统安装…...

AI编码狂飙,安全防线告急:运行时测试如何守住软件安全的生死线

2026年初,国内某头部电商平台爆发大规模用户数据泄露事件,溯源结果震惊整个行业:事件根源并非黑客的0day漏洞攻击,而是开发团队通过AI编码工具生成的一段会员权限校验代码。这段代码在语法层面完全合规,静态安全扫描全…...

SNH48夏季团综计划:碧海之上,星河之下

海风裹挟着咸涩的气息,又一次吹进了SNH48的夏天。万众瞩目的夏季团综计划正在火热进行中,一场属于SNH48的夏日狂欢即将拉开帷幕。与此同时,随着SNH48 GROUP第十三届年度盛典进入紧锣密鼓的筹备阶段。从阳光沙滩的活力绽放,到《声动…...

JSP 语法详解

JSP 语法详解 引言 JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在网页中嵌入Java代码,以实现与数据库的交互和动态内容生成。JSP语法简洁明了,易于学习和使用。本文将详细介绍JSP的语法结构,帮助读者更好地理解和应用JSP技术。 JSP基本语法 1. JSP页面结构…...

Spring Boot项目必备:用Arthas实现MyBatis Mapper热加载的完整配置流程

Spring Boot项目必备:用Arthas实现MyBatis Mapper热加载的完整配置流程 在持续交付的微服务架构中,开发团队经常面临一个共同挑战:每次修改MyBatis的Mapper XML文件后,都需要重启服务才能验证变更效果。这种低效的反馈循环严重拖慢…...

WPF高性能绘图避坑指南:为什么你的心电图曲线会让CPU飙升?

WPF高性能绘图避坑指南:为什么你的心电图曲线会让CPU飙升? 在医疗监护设备或金融行情系统中,实时波形渲染的卡顿可能直接导致误诊或交易延迟。当你的WPF应用在绘制每秒60帧的心电图时突然出现CPU占用率突破90%,这往往不是硬件性能…...