-
OBS C SDK在ubuntu系统下无法调用,提示无法引用libcrypto.so.10动态库?这个库应该如何安装?
-
第一次使用这个SDK, 上传文件upload_file是OK的,但是上传对象put_object总是失败,照搬SDK demo程序,上传的本地文件就10几字节;put_object阻塞了好久,回调函数obs_response_complete_CB里面的状态提示109, 不知道哪里有问题:日志:
-
出现这种需要怎么配置
-
楼主好:华为云的C SDK demo 能不能提供下静态库或把编译静态库的.sh提供下,个人想编译一下非常难,ndk so库没的完整的Android工程实例,不好调用成功,增加开发难度,Android工程ndk 编译错误一堆,没的完整Android工程实例,不知道是配置错误,还是代码错误。
-
obs桶对象均已配置成功,数据库服务器和obs服务器均在同一地区 创建外表未报错,出现如下问题,原因?
-
【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】项目组换了新的华为云账号,从ncec2020改成了ncec2021,桶从obs-ap1-ncechicampus改成了dayu-log-ap1-ncechicampus,现在遇到2个问题,一是上传报错,二是ioc菜单图标没了;ABC租户ncec1234华为云账号hwbescloudncec2021【操作步骤&问题现象】1、在obs控制台生成新的访问凭证2.在ABC配置obs访问密钥,测试,报错提示:执行对象存储操作'putobject'时出错,错误原因: obs: service returned error: Status=403 Forbidden, Code=InvalidAccessKeyId, Message=The AWS Access Key Id you provided may has expired., RequestId=00000177F0B7FE3680168A69F64E0E92【截图信息】如上【日志信息】(可选,上传日志内容或者附件)
-
基于Windows编译OBS C SDK指南背景 在Windows下使用OBS C SDK,希望编译成DLL动态链接库文件供工程使用。编译C SDK方法一:进入"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\build"目录下,启动cmd,执行如下命令:"build.bat windows release x64" 编译x64系统下的产物;如果出现如下错误信息,则需要修改编译脚本文件中的换行符格式:打开notepad++软件,利用notepad++打开build.bat及build_x64.bat两个文件,确认右下角的换行符格式,如果为Unix(LF)则需要通过鼠标右键修改为Windows(CR LF):修改后的格式如下:修改完成后重新执行"build.bat windows release x64"命令,最终输出无错误信息即表明编译成功:编译产物见"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\build\obs\windows.zip"文件注意:使用该脚本进行编译时,由于项目依赖Visual studio2010版本,因此需要在本地预先安装过VS2010版本;如果不希望在本地额外安装VS2010版本,可以参考方式二进行编译;方法二:基于visual studio进行编译;此处基于visual studio2015进行编译作为示例;1、打开编译工程打开visual studio 2015,选择File->Open->Project/Solution打开源代码目录下的编译工程(目录:"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\sln\vc100\obs.sln"),打开工程时如出现如下提示是否升级项目的编译器及依赖库时,选择Cancel(表示依赖VS2010编译工具进行编译,如果本地未安装过VS2010,请参考常见问题中的解决方案);2、编译工程选择Build->Rebuild重新编译工程;出现如下提示代表工程编译成功;编译产物见目录:"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\build\vc100\Release"常见问题:a. 提示缺少VS2010 VC100工具集出现该问题的原因是该工程默认采用VS2010工具集进行编译,如果本地环境中未安装过VS2010时将会提示该问题;以visual studio2017版本为例展示该问题解决方案:1、在工程上右键选择重定向项目2、重定向项目至指定平台工具集及SDK版本(以VS2017为例,平台工具集版本为V141)3、替换“your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++lib\win64_x64_msvc\release”目录下的libxml2.lib文件为附件中的libxml2.lib及libxml2.dll文件,否则在高版本VS中编译会提示该依赖库为低版本VS中编译,导致工程编译失败;替换完成后重新编译工程即可;测试C SDK方式一:直接使用提供的测试工程1、打开测试工程打开visual studio 2015,选择File->Open->Project/Solution打开源代码目录下的测试工程(测试工程目录:"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\build\obs\demo\sln\obs_demo.sln");选择对应的发布版本及平台2、编译测试工程选择Build->Rebuild编译测试工程;常见问题:a. 如果出现如下错误,表明未在当前工程路径下找到对应的lib文件,请将上一步中编译得到的libeSDKOBS.lib及huaweisecurec.lib复制到测试工程目录下("your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\build\obs\demo\sln")再重新执行编译;b. 编译过程中出现如下错误时需修改工程配置选项;右键单击工程Properties->Linker->Command Line Additional Options,添加/SAFESEH:NO ;输出如下结果时代表编译测试工程成功,可以根据实际需要配置测试工程中的ACCESS_KEY_ID(对应AK)、SECRET_ACCESS_KEY(对应SK)、HOST_NAME(对应EndPoint)等信息来调用相关接口进行测试;c. 在高版本VS中运行时出现提示“无法从const char* 转换为char*”;出现该问题时,可以通过设置Properties->C/C++->Language->Conformance mode(符合模式)为否来解决;方式二:新建测试工程导入SDK库基于visual studio 2015:1、新建测试工程打开visual studio 2015,File->New->Project新建Visual C++ Win32 Console Application;2、增加项目依赖头文件路径右键工程选择Properties->C/C++->General->Additional Include Directories,添加"your-sdk-path\platform\huaweisecurec\include","your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\inc"到项目依赖头文件路径中;3、配置依赖的库文件:将上一步中编译得到的libeSDKOBS.lib、huaweisecurec.lib文件添加到工程源文件目录下;同时配置工程的额外依赖:Properties->Linker->Input->Additional Dependencies配置完成后,编译测试工程,出现如下图示代表测试工程编译完成;此时即可在测试工程中直接调用SDK中的相关接口访问OBS;要执行该测试工程还需要引入依赖的DLL动态链接库文件;将上一步骤编译得到的libeSDKOBS.dll、huaweisecurec.dll文件添加到工程源文件目录下;将依赖的第三方库文件libcurl.dll、libeay32.dll、ssleay32.dll、pcre.dll、eSDKLogAPI.dll、log4cpp.dll;同时配置工程的依赖库目录:Properties->Linker->General->Addditional Library Directories;库文件目录:libcurl.dll->"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\bin\win64_x64_msvc\release\libcurl.dll"libeay32.dll->"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\bin\win64_x64_msvc\release\libeay32.dll"ssleay32.dll->"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\bin\win64_x64_msvc\release\ssleay32.dll"pcre.dll->"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\bin\win64_x64_msvc\release\pcre.dll"eSDKLogAPI.dll->"your-sdk-path\platform\eSDK_LogAPI_V2.1.10\C\release_x64\eSDKLogAPI.dll"log4cpp.dll->"your-sdk-path\platform\eSDK_LogAPI_V2.1.10\C\release_x64\log4cpp.dll"注意:如果在编译SDK工程时采用了高版本VS进行编译,同时用附件中的libxml2替换了原路径下的libxml2.lib文件,则还需要将libxml2.dll文件添加到工程源文件目录下;libxml2.dll->"your-sdk-path\source\eSDK_OBS_API\eSDK_OBS_API_C++\bin\win64_x64_msvc\release\libxml2.dll"添加完依赖库目录后编译运行即可执行测试工程;常见问题a. 提示缺少MSVCR100.dll文件;原因是当前系统上缺少低版本运行库文件MSVCR100.dll,下载到该文件并放于系统C:\Windows\System32或C:\Windows\SysWOW64目录下即可;对于高版本Visual studio,新建测试工程并引入SDK动态链接库的方法与VS2015基本一致。
-
问题描述已经通过IAM权限、桶策略或ACL配置了OBS权限,访问OBS时仍然提示“拒绝访问,请检查相应权限”,或报“403 AccessDenied”错误
W--wangzhiqiang
发表于2021-02-28 20:01:37
2021-02-28 20:01:37
最后回复
W--wangzhiqiang
2021-02-28 20:02:11
4206 1 -
原因IAM中预置的OBS ReadOnlyAccess、OBS OperateAccess、OBS Buckets Viewer等系统权限只允许执行一部分OBS操作,例如OBS OperateAccess可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象、上传对象、下载对象、删除对象、获取对象ACL操作,每一项操作对应一个OBS功能接口。授予系统权限之后,表示拥有了对应功能接口的权限,通过API或SDK可以正常调用这些接口。但是通过控制台或者客户端工具(OBS Browser+)登录时,加载如桶列表、桶概览等页面会调用多个OBS接口,如果授予的权限中没有包含这些接口,则会提示“拒绝访问,请检查响应权限”,或者“不允许在请求的资源上执行此操作”。例如桶概览页面会通过接口查看桶的生命周期规则、CORS规则等是否已经配置,如图1,而预置的系统权限并未包含这些操作权限。
W--wangzhiqiang
发表于2021-02-28 19:56:14
2021-02-28 19:56:14
最后回复
W--wangzhiqiang
2021-02-28 19:57:57
4042 2 -
您可以使用以下几种机制来控制对OBS的访问权限。更多详细信息,请参见OBS权限控制概述。IAM权限IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。推荐使用IAM权限的场景:对同一帐号内的子用户授权。IAM权限的实现机制如下:创建用户组,为用户组设定IAM权限集。创建IAM用户,用户加入用户组以获取相关的权限。桶策略桶策略是作用于所配置的OBS桶及桶内对象的。OBS桶拥有者通过桶策略可为IAM用户或其他帐号授权桶及桶内对象的操作权限。访问控制列表 (ACL)ACL是基于帐号级别的读写权限控制,权限控制细粒度不如桶策略和IAM权限。一般情况下,建议使用IAM权限和桶策略进行访问控制。
W--wangzhiqiang
发表于2021-02-28 19:54:16
2021-02-28 19:54:16
最后回复
W--wangzhiqiang
2021-02-28 19:54:16
3058 0 -
生命周期若您配置了生命周期规则,在生命周期规则执行过程中以及执行完成后,可能产生如下费用:各项费用的详细说明,请参见OBS计费说明。表1 生命周期费用说明(执行过程中)生命周期操作产生费用类别费用说明过期删除请求费用免费,删除操作不计请求次数。存储费用当低频访问存储早于30天删除,归档存储早于90天删除,需要补足剩余天数的存储费用。标准存储->低频访问存储请求费用按转换成功的对象数计算请求次数,产生请求费用。转换成功N个对象,记录N次请求。标准存储->归档存储请求费用低频访问存储->归档存储请求费用表2 生命周期费用说明(执行完成后)生命周期操作产生费用类别费用说明过期删除无无标准存储->低频访问存储存储费用转换为低频访问存储后,按低频访问存储计算存储费用。数据取回费用转换为低频访问存储后,当用户访问低频访问存储对象时,会根据对象大小产生数据取回费用。标准存储->归档存储存储费用转换为归档存储后,按归档存储计算存储费用。数据取回费用转换为归档存储后,当用户访问归档存储对象时,会根据对象大小和设置的取回速度级别产生数据取回费用。低频访问存储->归档存储存储费用转换为归档存储后,按归档存储计算存储费用。当低频访问存储早于30天转换为归档存储,需要补足剩余天数的存储费用。数据取回费用转换为归档存储后,当用户访问归档存储对象时,会根据对象大小和设置的取回速度级别产生数据取回费用。
W--wangzhiqiang
发表于2021-02-28 19:52:01
2021-02-28 19:52:01
最后回复
W--wangzhiqiang
2021-02-28 19:52:01
2594 0 -
通过控制台、工具、API、SDK等任意方式对OBS进行操作,实际上都是对OBS API的调用,每调用一次API都计算一次请求次数。请求类别OBS的请求主要分为三大类:读操作(GET类请求):GET/HEAD等,例如下载对象、获取桶区域位置、获取桶策略写操作(PUT类请求):PUT/POST/COPY/LIST,例如上传对象、列举对象删除操作(DELETE类请求):DELETE等,例如删除对象、取消多段上传任务请求次数计费请求次数仅支持按需计费,不同类别请求的单价相同,具体价格可参见产品价格详情。同时,购买标准存储包每月会分别赠送读操作和写操作请求次数,优先使用赠送部分,如果赠送的请求次数用完,超出部分会自动进行按需计费。如果您叠加购买标准存储包,赠送的请求次数也会叠加。
W--wangzhiqiang
发表于2021-02-28 19:50:19
2021-02-28 19:50:19
最后回复
W--wangzhiqiang
2021-02-28 19:50:51
3544 1 -
OBS流量产生原则对OBS发送请求,请求和响应消息中如果带有消息体,则会产生流量。OBS流量分类OBS流量区分内网流入流量、内网流出流量、公网流入流量、公网流出流量、跨区域复制流量、回源流量,部分流量免费,详情请参见计费说明。什么情况下桶内无对象会产生流量?可能原因一:流量每小时结算一次,在这一个小时中其他用户向桶中上传对象后又删除了该对象,结算时桶拥有者看到桶内无对象,但实际已产生流量。可能原因二:桶中有多段上传产生的碎片,并未合并成为对象,碎片也会产生流量。可以通过列举桶中多段任务或在控制台碎片管理排查是否存在碎片。可能原因三:对OBS发送请求失败,返回4xx错误(403除外),会同时返回消息体,该消息体会产生流量。可能原因四:对桶的操作,如设置桶ACL、设置生命周期,请求中均会携带消息体,会产生流量。监控OBS流量如果不清楚桶中流量是如何产生的,可以使用云监控服务对OBS的操作进行监控,参见监控对象存储服务。
W--wangzhiqiang
发表于2021-02-28 19:49:11
2021-02-28 19:49:11
最后回复
W--wangzhiqiang
2021-02-28 19:49:11
2903 0 -
OBS提供按需付费和包年包月两种计费模式。在按需付费的场景下,用多少付多少,不存在资源包的概念。如果用户购买了包年包月的资源包,则可以通过以下方式查看资源包的使用情况。登录华为云控制台。在顶部导航栏右侧单击“资源 > 我的套餐”,进入“资源中心 > 我的套餐”界面。在“我的套餐”界面,您可以查看到您所购买的资源包的使用详情,并且可以导出使用明细。
W--wangzhiqiang
发表于2021-02-28 19:45:23
2021-02-28 19:45:23
最后回复
W--wangzhiqiang
2021-02-28 19:45:56
3340 1
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签