• [技术干货] obsftp 工具使用实践
    工具概述文件传输协议(File Transfer Protocol,FTP)当前广泛应用于个人和企业场景,而随着使用时间越来越长,用户越来越多,本地搭建的FTP服务器都会面临空间使用量增长过快,扩容成本高等问题,增加了IT运维管理的难度。华为云的obsftp工具利用pyftpdlib库的FTP server能力和对象存储云端存储能力,提供出具有FTP接入的云上存储使用能力,提供给FTP近乎无限的存储空间。在企业实际业务中,无需单独搭建FTP服务器和存储池,实现业务和运维的轻量化,极大降低了原有的FTP访问方式的技术成本,完美解决了FTP场景下的存储问题,使数据存储和访问不再困难。工具说明工具下载地址:https://github.com/huaweicloud-obs/obsftp功能特性说明:FTP基本的数据上传、下载、删除能力无损支持。后端数据传输支持HTTP/HTTPS两种模式,在兼容性和安全性上提供更多选择。使用不同桶进行不同服务的数据存储,利于业务规划和运维。支持多个FTP客户端挂载使用。一般4核8GB内存的X86服务器可支撑200个以上客户端同时操作。多操作系统支持:支持32/64位Windows、Linux和Mac操作系统。免安装&配置:拥有默认配置,解压后直接启动使用。开源透明:obsftp工具使用Python语言编程,完整的源代码可直接在GitHub获取;可以根据自己的业务诉求进行灵活的二次开发和改造。约束与限制由于FTP协议为明文传输,为了数据的安全性建议将obsftp工具和FTP Client运行在同一台主机上,通过127.0.0.1:port地址来访问规避FTP协议的不安全性。工具包需要解压在以ASCII码支持的字符(即英文与数字、_等)组成的目录下。obsftp对运行环境中的Python版本要求为2.7.9及以上的2.7系列。obsftp工具因FTP协议限制,单个客户端上传大量数据不会并发进行,因此如有大规模数据处理上云建议使用obsutil等工具或使用OBS SDK进行软件开发实现。安装和使用前提条件在使用本工具前,您需完成华为云帐号注册,开通OBS,并创建一个可用的桶。已下载obsftp工具。工具下载地址:https://github.com/huaweicloud-obs/obsftp在Windows上使用此工具前需要您先完成Python安装。Python工具获取地址:https://www.python.org/downloads/release/python-2715/Python安装指导:以普通Windows程序默认安装方式运行安装即可。操作步骤将obsftp工具包解压到ASCII码支持的字符即英文与数字、_等组成的目录下。按“Windows+R”打开运行窗口,输入cmd命令,按“Enter”,打开CMD命令窗口。在CMD命令窗口进入obsftp工具所在目录,执行以下命令,启动obsftp工具。python FTPServerStart.py python FTPServerStart.py --help FTPServerStart.py [options] -h, --help                                 show this help message and exit --masquerade_address=MASQUERADE_ADDRESS    the ip that will reply to FTP Client, then client will send data request to this address. --listen_address=LISTEN_ADDRESS            the address which ftpserver will listen, default is 127.0.0.1 --port=PORT                                the local port which ftpserver will listen, default is 10020 --loglevel=LOGLEVEL                        DEBUG/INFO/ --passive_ports_start==PASSIVE_PORTS_START the start port of passive ports when transefer data,must be >=1 --passive_ports_end==PASSIVE_PORTS_END     the end port of passive ports when transefer data,must be <=65535
  • [互动交流] obs java 服务端sdk
    请问有国内的obs java 服务端sdk下载地址吗?或者maven的库,现在开发者文档上都是指向的github,github下载非常缓慢。还有个问题java的sdk是不是android和服务端的可以通用?
  • [互动交流] OBS C SDK在ubuntu系统下无法调用,提示无法引用libcrypto.so.10动态库?这个库应该如何安装?
    OBS C SDK在ubuntu系统下无法调用,提示无法引用libcrypto.so.10动态库?这个库应该如何安装?
  • [互动交流] OBS_C-SDK上传对象失败错误码109
    第一次使用这个SDK, 上传文件upload_file是OK的,但是上传对象put_object总是失败,照搬SDK demo程序,上传的本地文件就10几字节;put_object阻塞了好久,回调函数obs_response_complete_CB里面的状态提示109, 不知道哪里有问题:日志:
  • [互动交流] obs文件通过URL访问对象失败
    出现这种需要怎么配置
  • [互动交流] 关于OBS C SDK
    楼主好:华为云的C SDK demo 能不能提供下静态库或把编译静态库的.sh提供下,个人想编译一下非常难,ndk so库没的完整的Android工程实例,不好调用成功,增加开发难度,Android工程ndk 编译错误一堆,没的完整Android工程实例,不知道是配置错误,还是代码错误。
  • [产品讨论] 从dws向obs导出数据错误
    obs桶对象均已配置成功,数据库服务器和obs服务器均在同一地区         创建外表未报错,出现如下问题,原因?
  • [互动交流] 从dws向obs导出数据错误
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【ABC产品】【obs存储功能】测试上传提示403,ak错误
    【功能模块】项目组换了新的华为云账号,从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【截图信息】如上【日志信息】(可选,上传日志内容或者附件)
  • OBS C SDK基于Windows进行编译
    基于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基本一致。
  • [教程] 已配置OBS权限,仍然无法访问OBS(403 AccessDenied)
    问题描述已经通过IAM权限、桶策略或ACL配置了OBS权限,访问OBS时仍然提示“拒绝访问,请检查相应权限”,或报“403 AccessDenied”错误
  • [教程] 在IAM配置OBS系统权限后仍然提示拒绝访问,请检查相应权限
    原因IAM中预置的OBS ReadOnlyAccess、OBS OperateAccess、OBS Buckets Viewer等系统权限只允许执行一部分OBS操作,例如OBS OperateAccess可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象、上传对象、下载对象、删除对象、获取对象ACL操作,每一项操作对应一个OBS功能接口。授予系统权限之后,表示拥有了对应功能接口的权限,通过API或SDK可以正常调用这些接口。但是通过控制台或者客户端工具(OBS Browser+)登录时,加载如桶列表、桶概览等页面会调用多个OBS接口,如果授予的权限中没有包含这些接口,则会提示“拒绝访问,请检查响应权限”,或者“不允许在请求的资源上执行此操作”。例如桶概览页面会通过接口查看桶的生命周期规则、CORS规则等是否已经配置,如图1,而预置的系统权限并未包含这些操作权限。
  • [教程] 如何对OBS进行访问权限控制?
    您可以使用以下几种机制来控制对OBS的访问权限。更多详细信息,请参见OBS权限控制概述。IAM权限IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。推荐使用IAM权限的场景:对同一帐号内的子用户授权。IAM权限的实现机制如下:创建用户组,为用户组设定IAM权限集。创建IAM用户,用户加入用户组以获取相关的权限。桶策略桶策略是作用于所配置的OBS桶及桶内对象的。OBS桶拥有者通过桶策略可为IAM用户或其他帐号授权桶及桶内对象的操作权限。访问控制列表 (ACL)ACL是基于帐号级别的读写权限控制,权限控制细粒度不如桶策略和IAM权限。一般情况下,建议使用IAM权限和桶策略进行访问控制。
  • [教程] OBS有哪些特殊的计费场景
    生命周期若您配置了生命周期规则,在生命周期规则执行过程中以及执行完成后,可能产生如下费用:各项费用的详细说明,请参见OBS计费说明。表1 生命周期费用说明(执行过程中)生命周期操作产生费用类别费用说明过期删除请求费用免费,删除操作不计请求次数。存储费用当低频访问存储早于30天删除,归档存储早于90天删除,需要补足剩余天数的存储费用。标准存储->低频访问存储请求费用按转换成功的对象数计算请求次数,产生请求费用。转换成功N个对象,记录N次请求。标准存储->归档存储请求费用低频访问存储->归档存储请求费用表2 生命周期费用说明(执行完成后)生命周期操作产生费用类别费用说明过期删除无无标准存储->低频访问存储存储费用转换为低频访问存储后,按低频访问存储计算存储费用。数据取回费用转换为低频访问存储后,当用户访问低频访问存储对象时,会根据对象大小产生数据取回费用。标准存储->归档存储存储费用转换为归档存储后,按归档存储计算存储费用。数据取回费用转换为归档存储后,当用户访问归档存储对象时,会根据对象大小和设置的取回速度级别产生数据取回费用。低频访问存储->归档存储存储费用转换为归档存储后,按归档存储计算存储费用。当低频访问存储早于30天转换为归档存储,需要补足剩余天数的存储费用。数据取回费用转换为归档存储后,当用户访问归档存储对象时,会根据对象大小和设置的取回速度级别产生数据取回费用。
  • [教程] 请求次数是如何计算的?
    通过控制台、工具、API、SDK等任意方式对OBS进行操作,实际上都是对OBS API的调用,每调用一次API都计算一次请求次数。请求类别OBS的请求主要分为三大类:读操作(GET类请求):GET/HEAD等,例如下载对象、获取桶区域位置、获取桶策略写操作(PUT类请求):PUT/POST/COPY/LIST,例如上传对象、列举对象删除操作(DELETE类请求):DELETE等,例如删除对象、取消多段上传任务请求次数计费请求次数仅支持按需计费,不同类别请求的单价相同,具体价格可参见产品价格详情。同时,购买标准存储包每月会分别赠送读操作和写操作请求次数,优先使用赠送部分,如果赠送的请求次数用完,超出部分会自动进行按需计费。如果您叠加购买标准存储包,赠送的请求次数也会叠加。
总条数:1488 到第
上滑加载中