• [互动交流] 【OBS】【调用python上传文件】报错IndexError: tuple index out of range
    【功能模块】OBS Python SDK上传文件【操作步骤&问题现象】from obs import PutObjectHeaderfrom obs import ObsClient# 创建ObsClient实例ak = 'XXXXXX'sk = 'XXXXXX'server = 'https://obs.cn-south-1.myhuaweicloud.com'obsClient = ObsClient(access_key_id=ak,secret_access_key=sk,server=server)# 使用访问OBSresp = ObsClient.putFile(bucketName='XXXXXX',objectKey='test.txt',file_path='/Users/test.txt')if resp.status < 300: print('requestId:', resp.requestId) print('etag:', resp.body.etag) print('versionId:', resp.body.versionId) print('storageClass:', resp.body.storageClass)else: print('errorCode:', resp.errorCode) print('errorMessage:', resp.errorMessage)
  • [互动交流] 【OBS产品】【安装】Angular项目集成 OBS的对于的sdk,编译报错,无法使用
    安装 obs,使用的 npm install esdk-obs-nodejs 进行安装安装之后,项目编译就报错了(Angular12项目)在使用下面语句引入时,就会报错了var ObsClient = require('esdk-obs-nodejs');有没有遇到同样问题的,烦请大佬帮忙解答一下啊,感谢~
  • [互动交流] 【OBS】【生成下载对象的URL】c-sdk获取下载对象的临时URL无法使用浏览器访问
    【功能模块】c-sdk 生成下载对象的URL【操作步骤&问题现象】1、参考c-sdk的demo写了一个获取下载对象的临时url函数static void test_gen_signed_url_get_object(char *bucket_name, char *key, char *versionid)2、获取到的url不能直接在浏览器中访问【截图信息】个人代码:std::pair<obs_status, tempAuthResult>HuaWeiOBS::getObjectTemporaryAuth(const std::string &bucketName,                                  const std::string &keyName,                                  const std::string &versionId){    std::pair<obs_status, tempAuthResult> urlPair =        std::make_pair(OBS_STATUS_BUTT, tempAuthResult());    // obs options configure    m_obsOptions.bucket_options.bucket_name = const_cast<char *>(bucketName.data());    obs_options option;    init_obs_options(&option);    option.bucket_options.bucket_name = const_cast<char *>(bucketName.data());    option.bucket_options.access_key = m_accessKey.data();    option.bucket_options.secret_access_key = m_secretAccessKey.data();    option.bucket_options.host_name = m_hostName.data();    // key info configure    obs_object_info objectInfo;    memset(&objectInfo, 0, sizeof(objectInfo));    objectInfo.key = const_cast<char *>(keyName.data());    objectInfo.version_id  = NULL;    // condition    obs_get_conditions getcondition;    memset(&getcondition, 0, sizeof(obs_get_conditions));    init_get_properties(&getcondition);    getcondition.start_byte = 0;    getcondition.byte_count = 100;    // callback prepair    std::string objectContent;    objectContent.reserve(1024);    get_object_callback_data data{objectContent, OBS_STATUS_BUTT};    // 定义下载的回调函数    obs_get_object_handler getObjectHandler = {        {&response_properties_callback, &get_object_complete_callback},        &get_object_data_callback};    // down object    tempAuthResult ptrResult;    temp_auth_configure tempauth;    tempauth.callback_data = (void *)(&ptrResult);    tempauth.expires = 10;    tempauth.temp_auth_callback = &object_temp_auth_callback;    option.temp_auth = &tempauth;    get_object(&option, &objectInfo, &getcondition, 0, &getObjectHandler, &data);    if (OBS_STATUS_OK == data.ret_status)    {        printf("gen key: %s object temporary url successfully.\n", keyName.data());    }    else    {        printf("en key: %s object temporary url faied(%s).\n", keyName.data(), obs_get_status_name(data.ret_status));    }    urlPair.first = data.ret_status;    urlPair.second = ptrResult;    return urlPair;}【日志信息】(可选,上传日志内容或者附件)2022-05-18 10:45:38 657| CRIT|[140132699154304]==============log start============2022-05-18 10:45:38 657| WARN|[140132699154304]|obs_initialize OBS SDK Version= 3.21.82022-05-18 10:45:38 658| WARN|[140132699154304]|curl_easy_setopt curl path= https://dtu.obs.cn-south-1.myhuaweicloud.com/?apiversion2022-05-18 10:45:38 774| WARN|[140132699154304]|enter request perform!!!2022-05-18 10:45:38 774| WARN|[140132699154304]|src for urlEncode is NULL.2022-05-18 10:45:38 774| WARN|[140132699154304]|request_perform status = 02022-05-18 10:45:38 774| WARN|[140132699154304]|enter request perform!!!2022-05-18 10:45:38 774| WARN|[140132699154304]|src for urlEncode is NULL.2022-05-18 10:45:38 774| WARN|[140132699154304]|compose_auth_header request_perform : StringToSign:  HEADx-amz-date:Wed, 18 May 2022 02:45:38 GMT/dtu/Test_HuangLi/DTU/3F000000010010031A8200012022-05-18 10:45:38 845| WARN|[140132699154304]|Content-Type:2022-05-18 10:45:38 845| WARN|[140132699154304]|User-Agent: obs-sdk-c-3.21.82022-05-18 10:45:38 845| WARN|[140132699154304]|x-amz-date: Wed, 18 May 2022 02:45:38 GMT2022-05-18 10:45:38 845| WARN|[140132699154304]|request_finish request_finish status = 0,httpResponseCode = 4042022-05-18 10:45:38 845| WARN|[140132699154304]|Message: (null)2022-05-18 10:45:38 845| WARN|[140132699154304]|Request Id: 00000180D50E7F6C930F8F0EEAA391DC2022-05-18 10:45:38 845| WARN|[140132699154304]|Reserved Indicator: (null)2022-05-18 10:45:38 846| WARN|[140132699154304]|enter request perform!!!2022-05-18 10:45:38 846| WARN|[140132699154304]|src for urlEncode is NULL.2022-05-18 10:45:38 846| WARN|[140132699154304]|compose_auth_header request_perform : StringToSign:  HEADx-amz-date:Wed, 18 May 2022 02:45:38 GMT/dtu/Test_HuangLi/DTU/3F000000010010031A820001/DeviceDescription2022-05-18 10:45:38 908| WARN|[140132699154304]|obs_initialize OBS SDK Version= 3.21.82022-05-18 10:45:38 908| WARN|[140132699154304]|obs_initialize OBS SDK Version= 3.21.82022-05-18 10:45:38 908| WARN|[140132699154304]|curl_easy_setopt curl path= https://dtu.obs.cn-south-1.myhuaweicloud.com/?apiversion2022-05-18 10:45:38 962| WARN|[140132699154304]|enter request perform!!!2022-05-18 10:45:38 962| WARN|[140132699154304]|src for urlEncode is NULL.2022-05-18 10:45:38 962| WARN|[140132699154304]|src for urlEncode is NULL.2022-05-18 10:45:38 962| WARN|[140132699154304]|compose_auth_header request_perform : StringToSign:  GETx-obs-date:Wed, 18 May 2022 02:45:38 GMT/dtu/2022-05-18 10:47:28 622| CRIT|[140737353881472]==============log start============2022-05-18 10:47:28 622| WARN|[140737353881472]|obs_initialize OBS SDK Version= 3.21.82022-05-18 10:47:51 501| WARN|[140737353881472]|curl_easy_setopt curl path= https://dtu.obs.cn-south-1.myhuaweicloud.com/?apiversion2022-05-18 10:47:51 639| WARN|[140737353881472]|enter request perform!!!2022-05-18 10:47:51 639| WARN|[140737353881472]|src for urlEncode is NULL.2022-05-18 10:49:11 035| WARN|[140737353881472]|request_perform status = 0
  • [互动交流] 【OBS】【安装SDK】composer无法安装
    【功能模块】安装SDK【操作步骤&问题现象】php版本7.4  composer版本2.3.51、运行composer require obs/esdk-obs-php执行安装。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [互动交流] 突然无法获取到桶的列举对象
    参考对象存储服务OBS -》 SDK -》 列举对象 -》列举文件夹中的所有对象 的代码,实现的列举对象,之前都是OK的,今天突然获取不到列举对象了,错误信息提示为:“The request signature we calculated does not match the signature you provided. Check your key and signing method.”请教下为啥突然签名计算不一致,代码都没动。
  • [技术干货] 案例:创建OBS外表后,将数据导入外表报错Failed to open file region_map
    1、问题出在region_map这个文件上,文件不能打开一般是权限问题或者文件是否存在的问题2、这个问题一般是因为扩容引起的,扩容后有的新的DN节点没有region_map这个文件。问题的解决办法就是将region_map文件拷贝到扩容后新的DN节点。
  • [互动交流] OBS回源
    可以回源其他云厂商的私有桶吗?我配置携带请求参数也无法回源成功
  • [互动交流] 用OBS 官方提供的下载服务,无法下载指定资源
    public class MainActivity extends AppCompatActivity { // private static final String endPoint = "https://yourdomainname"; private static final String endPoint = "https://obs-advertising.obs.cn-south-1.myhuaweicloud.com"; // private static final String ak = "*** Provide your Access Key ***"; private static final String ak = ""; // private static final String sk = "*** Provide your Secret Key ***"; private static final String sk = ""; private static String bucketName = "obs-advertising"; private static String objectKey = "myobsobjectkey"; private static String localFilePath = "/storage/sdcard/" + objectKey; //这个位置要注意,文件夹层级要是 / 才行,右斜杠会找不到资源报错404 private static String objectName = "fj-advertising/video/2022-04-13/aaaa.avi"; public static String localfile = Environment.getExternalStorageDirectory() + File.separator + "11.avi"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView tv = (TextView) findViewById(R.id.tv); tv.setText("Click to start test"); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setClickable(false); AsyncTask task = new ConcurrentDownloadTask(); task.execute(); } }); } private class ConcurrentDownloadTask extends AsyncTask { @Override protected String doInBackground(Void... voids) { ObsConfiguration config = new ObsConfiguration(); config.setSocketTimeout(30000); config.setConnectionTimeout(10000); config.setEndPoint(endPoint); // 创建ObsClient实例 ObsClient obsClient = new ObsClient(ak, sk, config); DownloadFileRequest request = new DownloadFileRequest(bucketName, objectName); // 设置下载对象的本地文件路径 request.setDownloadFile(localfile); // 设置分段下载时的最大并发数 request.setTaskNum(1); // 设置分段大小为10MB request.setPartSize(10 * 1024 * 1024); // 开启断点续传模式 request.setEnableCheckpoint(true); request.setProgressListener(new ProgressListener() { @Override public void progressChanged(ProgressStatus status) { System.out.println(status.getTransferPercentage()); } }); try { long startTime = System.currentTimeMillis(); // 进行断点续传下载 DownloadFileResult result = obsClient.downloadFile(request); long endtime = System.currentTimeMillis(); System.out.println(String.valueOf((endtime - startTime) / 1000.0D) + "s"); System.out.println(String.valueOf((result.getObjectMetadata().getContentLength() * 1000.0 / (endtime - startTime)) / (1024 * 1024)) + "MB/s"); } catch (ObsException e) { // 发生异常时可再次调用断点续传下载接口进行重新下载 System.out.println("Response Code: " + e.getResponseCode()); System.out.println("Error Message: " + e.getErrorMessage()); System.out.println("Error Code: " + e.getErrorCode()); System.out.println("Request ID: " + e.getErrorRequestId()); System.out.println("Host ID: " + e.getErrorHostId()); } finally { if (obsClient != null) { try { /* * Close obs client */ obsClient.close(); } catch (IOException e) { } } } return null; } } } DownloadFileRequest [bucketName=obs-advertising, objectKey=fj-advertising/video/2022-04-13/aaaa.avi, downloadFile=/storage/emulated/0/11.avi, partSize=10485760, taskNum=1, checkpointFile=/storage/emulated/0/11.avi.downloadFile_record, enableCheckpoint=true, ifModifiedSince=null, ifUnmodifiedSince=null, ifMatchTag=null, ifNoneMatchTag=null, versionId=null, isEncodeHeaders=true] 报错:com.obs.services.exception.ObsException: Error message:Request Error.OBS servcie Error Message. -- ResponseCode: 404, ResponseStatus: Not Found
  • [Sql迁移] 【DWS】【外表导入】创建OBS外表后,将数据导入外表报错Failed to open file region_map
    【功能模块】在DWS创建OBS外表后,将数据导入外表报错Failed to open file region_map【操作步骤&问题现象】1、再dws上创建存储为OBS的外表2、将DWS数据insert到外表【截图信息】建表语句:【日志信息】(可选,上传日志内容或者附件)
  • [其他] 数据集导入操作简介
    前提条件已存在创建完成的数据集。至少已创建了一个OBS桶,用于数据存储,确保OBS桶与ModelArts在同一区域,并确保用户具有OBS桶的操作权限。数据集中的数据导入入口数据集中的数据导入有5个入口。创建数据集时直接从设置的数据导入路径中自动同步数据。图1 创建数据集时导入数据创建完数据集后,在数据集列表页面的操作栏单击“导入”,导入数据。图2 在数据集列表页导入数据在数据集列表页面,单击某个数据集的名称,进入数据集详情页中,单击“导入”,导入数据。图3 在数据集详情页中导入数据在数据集列表页面,单击某个数据集的名称,进入数据集详情页中,单击“同步数据源”,同步OBS中的数据。图4 在数据集详情页中同步数据源在数据标注的标注作业详情中添加数据。图5 标注作业详情中添加数据文件型数据来源文件型数据集的导入支持两种数据来源:“OBS”和“本地上传”。导入后,导入目录下的数据会拷贝至数据集的数据源路径下。OBS:需要将导入的数据或Manifest文件提前存储至OBS目录中。本地上传:将本地数据直接通过Internet上传至OBS指定目录后,再导入数据集。文件型数据导入方式导入方式分为“目录”和“manifest”两种。目录:导入路径选择OBS目录,读取OBS目录下的数据并导入数据集。Manifest:按Manifest文件读取OBS上的数据并导入,需要满足Manifest的文件规范,同时每个Manifest文件仅包含一种标注类型。Manifest文件定义了标注对象和标注内容的对应关系。文件规范请参见导入Manifest文件的规范说明。当前“自由格式”的数据集不支持Manifest导入。文件型数据标注状态数据标注状态分为“未标注”和“已标注”。未标注:仅导入标注对象(指待标注的图片,文本等),不导入标注内容(指标注结果信息)。已标注:同时导入标注对象和标注内容,当前“自由格式”的数据集不支持导入标注内容。为了确保能够正确读取标注内容,要求用户严格按照规范存放数据:导入方式选择目录时,需要用户选择“标注格式”,并按照标注格式的要求存放数据,详细规范请参见标注格式章节。导入方式选择manifest时,需要满足manifest文件的规范。
  • [分享交流] 微信小程序操作华为云OBS
    请问微信小程序怎么对华为云OBS进行操作哇?
  • [互动交流] obs-c-sdk
    求一个 windows10下 编译 obs-c-sdk 的说明教程
  • [其他] 快照不可用
    1      问题现象自动快照不可用,手动快照当前策略不支持2      分析过程1.查看后台日志,根据快照ID 快照名称,在oss.dws.log 日志中  grep 快照id oss.dws.log 筛查;grep 快照名称  oss.dws.log  排查  或  grep 快照id/快照名称 oss.dws.log | grep ERROR 来筛选有用信息。2.根据grep  backup oss.dws.log 来查询发现节点到obs的域名网络有问题,拉obs的人进行网络处理验证,obs问题经过排查排除,网络没问题3.通过jobid 在oss.dws.log日志中筛选到ERROR 报错,筛选服务日志中的报错信息4.在console上点击手动创建,F12下找到traceid5.通过traceid 筛选服务日志,错误信息 grep xxxxxx oss.dws.log6.通过jobid 找到快照所在实例,登录此实列,在$GAUSSLOG下看rouch 和agent 日志在agent日志发现Error:121 InsufficientStorageSpace  定位到 OBS 资源不足。配额不够从堡垒机进去看到OBS内存 找obs的同事查看桶配额,发现桶满了。3      解决方法当前版本8.1.0.100  存在下发删除命令BUG  未响应。采取手动清理过期快照信息后。业务恢复,OBS内存清理后,需要25分钟时间将空间释放出来手动清理obs桶过期快照步骤:https://bbs.huaweicloud.com/forum/thread-121998-1-1.html    
  • [技术干货] 智慧园区如何配置模板原生服务
    背景说明当某一个租户下安装的原生服务需要提供给其他租户服务时,安装了的原生服务的租户为服务端,需要使用原生服务的租户为客户端。在客户端还需要配置原生服务的相关参数和AppCube平台的URL地址。操作步骤以其他需要使用原生服务的租户用户登录AppCube平台。选择“管理 > 应用管理 > BO配置”。单击“Template”,进入模板BO配置页面。单击“模板功能配置”,若是参数不存在,则新增以下相关参数;若参数已存在,则修改其参数值。表1 新增模板参数参数名说明BUCKET桶名称。取值请在“应用管理 > 连接器 > 对象存储代理”中获取对应对象存储代理使用的桶名称。建议获取SmartCampus__FileOperator对象存储代理使用的桶名称。CONNECTOR_NAME连接器名称。取值请在“应用管理 > 连接器 > 对象存储代理”中获取对象存储代理的名称。建议值:SmartCampus__FileOperator。单击“系统参数配置”,配置TemplateBO_URL系统参数。TemplateBO_URL设置为提供原生服务的AppCube平台的URL,例如https://abc_dev.test.com。
  • [问题求助] 【ABC产品】如何脚本中将base64编码,转化为文件流存入OBS桶
    【功能模块】项目:盐城1.先建一张人员表,头像存入base64编码,2.在人员授权成功之后需要将该人员同步到人员BO,3.请问:我如何将图片base64编码转化为文件流,再存入平台ABC的OBS桶中?【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
总条数:1613 到第 页
上滑加载中