• [互动交流] IOS无法播放OBS中存储的视频问题
    我们有一个场景:使用微信小程序上传手机视频到OBS中,然后从OBS下载视频在小程序中播放。目前andorid手机可以上传视频并播放正常,但是IOS手机虽然上传成功但是不能正常播放视频。目前定位到的问题点是:把视频访问连接发送到微信群中,IOS手机是无法打开视频。也就是说可以排除小程序的影响因素。
  • [互动交流] 【OBS 桶】公有云上 OBS 的资源桶和用户桶的带宽查询和调整
    问题1:公有云上租户  OBS 带宽怎么查询,有没有API来测试带宽问题2:租户侧 OBS 带宽如何调整问题3:公有云上单个文件上行和下行的速度是多少,受什么情况依赖
  • php如何实现华为云obs跨区域复制
    php如何实现华为云obs跨区域复制
  • CloudIDE中使用OBS云资源
    准备工作:申请一个OBS资源,创建一个桶。开启一个CloudIDE实例,打开一个terminal,先下载并安装obs的工具obsutil。配置obsutil:需要用到开发者的我的凭证->访问密钥->新建访问密钥的AK,SK。使用obsutil命令在桶中新建一个文件夹test
  • 如何删除用户自定义的obs元数据?
    有增加用户自定义的元数据的api,但貌似没有看到可以删除的api?
  • [互动交流] obs的.net版本的代码为何报错??但用同样的java代码却是正常执行。
    请教一个问题,需要华为专业的帮助:我要遍历所有桶名,直接用官方提供obs的API代码,复制粘贴,然后直接运行就报错。错误是在huaweicloud-sdk-dotnet-obs-master源代码里抛出的。需要说明的是:这个.net版本的代码,在连接了互联网的机器上能够正常执行,是不会报错的。但是,由于我们的内网服务器不能连接互联网,是通过专线IPsec来实现对华为云的连接(在此条件下用obs客户端可以连接上并能正常操作云上的对象),并且用obs的java版本的代码也是可以正常执行。但是用obs的.net版本的程序执行却会报错!百思不得其解。报错情况,如下图:我调用执行的API代码,如下图:
  • [互动交流] 我在docker容器中调用obs的sdk创建桶的时候,报java.net.UnknownHostException,怎么解决?
    2020-10-30 10:48:28.386  WARN 23931 --- [pool-5-thread-1] c.o.s.internal.RestStorageService        : com.obs.services.internal.ServiceException: Request Error: java.net.UnknownHostException: bc5d5fe30c3f4da0ac355a56add071d5.obs.cn-north-4.myhuaweicloud.com: Temporary failure in name resolution PUT 'http://bc5d5fe30c3f4da0ac355a56add071d5.obs.cn-north-4.myhuaweicloud.com/' on Host 'bc5d5fe30c3f4da0ac355a56add071d5.obs.cn-north-4.myhuaweicloud.com'com.obs.services.internal.ServiceException: Request Error: java.net.UnknownHostException: bc5d5fe30c3f4da0ac355a56add071d5.obs.cn-north-4.myhuaweicloud.com: Temporary failure in name resolutionat com.obs.services.internal.RestStorageService.handleThrowable(RestStorageService.java:274) ~[esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:812) ~[esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:998) ~[esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:987) ~[esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.internal.ObsService.createBucketImpl(ObsService.java:1483) ~[esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient.access$200(ObsClient.java:211) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient$1.action(ObsClient.java:758) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient$1.action(ObsClient.java:751) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:3929) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient.createBucket(ObsClient.java:750) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient.createBucket(ObsClient.java:738) [esdk-obs-java-3.20.6.1.jar!/:na]at com.obs.services.ObsClient.createBucket(ObsClient.java:708) [esdk-obs-java-3.20.6.1.jar!/:na]at com.pcl.service.obs.OBSFileService.createBucketName(OBSFileService.java:94) [classes!/:0.0.1-SNAPSHOT]at com.pcl.service.obs.OBSFileService.unZipFileToMinio(OBSFileService.java:865) [classes!/:0.0.1-SNAPSHOT]at com.pcl.service.DataSetService$2.run(DataSetService.java:670) [classes!/:0.0.1-SNAPSHOT]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_161]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_161]at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]Caused by: java.net.UnknownHostException: bc5d5fe30c3f4da0ac355a56add071d5.obs.cn-north-4.myhuaweicloud.com: Temporary failure in name resolutionat java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_161]at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) ~[na:1.8.0_161]at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) ~[na:1.8.0_161]at java.net.InetAddress.getAllByName0(InetAddress.java:1276) ~[na:1.8.0_161]at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[na:1.8.0_161]at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[na:1.8.0_161]at okhttp3.Dns$1.lookup(Dns.java:39) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:170) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:136) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:81) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:171) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.7.0.jar!/:na]at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.7.0.jar!/:na]at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185) ~[okhttp-3.7.0.jar!/:na]at okhttp3.RealCall.execute(RealCall.java:69) ~[okhttp-3.7.0.jar!/:na]at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:634) ~[esdk-obs-java-3.20.6.1.jar!/:na]
  • [其他] 【总结】【OBS】obs外表路径定义不规范,导致各种报错
    【现象描述】通过外表从obs中导出数据有大量报错,例如1. duplicate key value violates unique constrain "xxxx"2.  null value in column "yyyy"3. 导入的数据中有大量非本数据文件中的内容【原因分析】obs中的文件名采用路径+文件拼写,读取时使用模糊匹配。当obs外表定义的路径中未加斜杠,且该路径下有其他类似的文件名,会导致obs读取到其他文件,入库时会出现各种违反约束的报错。即使能入库,也会出现非预期数据。【处理办法】定义外表在location的路径最后加斜杠,例如:/user/hive/warehouse/mppdb.db/region_orc11_64stripe/
  • [技术干货] 关于对象存储的低频存储问题
    对象存储的低频存储为什么会有数据取回的步骤,底层架构是什么样的?和标准存储有什么区别?还忘大神解答
  • Android Studio设计app并且上传照片到OBS
    跪求大神帮忙解决!!!以下是我从华为为下载的编程关于 “展示了分段并发上传大对象的用法” 。但是当我们跑完代码, 在模拟的手机,它显示“Create a demo busket for demo Error message: The location contraint is incompatible for the region specific endpoint this request was sent to. Error code: IllegalLocationConstraintExceprtion Request ID: 000000175.... Host ID:wQQYK..."public class MainActivity extends androidx.appcompat.app.AppCompatActivity{   private static final String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";   private static final String ak = "E5DVZAAK95...";   private static final String sk = "PluwDOGzcWcFXXYdlNjsnITWrB4Hud7...";   private static String bucketName = "chenzi";   private static String objectKey = "my-obs-object-key-demo";   private static ExecutorService executorService = Executors.newFixedThreadPool(5);   private static List<PartEtag> partETags = Collections.synchronizedList(new ArrayList<PartEtag>());   private static ObsClient obsClient;   private static StringBuffer sb = new StringBuffer();   @Override   protected void onCreate(Bundle savedInstanceState)   {       super.onCreate(savedInstanceState);       setContentView(R.layout.layout2);       //Toast.makeText(this, "hUAWEItYR", Toast.LENGTH_LONG).show();       ObsConfiguration config = new ObsConfiguration();       config.setSocketTimeout(30000);       config.setConnectionTimeout(10000);       config.setEndPoint(endPoint);       /*        * Constructs a obs client instance with your account for accessing OBS        */       obsClient = new ObsClient(ak, sk, config);       final TextView tv = (TextView)findViewById(R.id.tv);       tv.setText("Click to start test");    //   Toast.makeText(this, "hUAWEItYR", Toast.LENGTH_LONG).show();       tv.setOnClickListener(new View.OnClickListener()       {           @Override           public void onClick(View v)           {               tv.setClickable(false);               AsyncTask<Void, Void, String> task = new ConcurrentUploadPartTask();               task.execute();           }       });   }   private static class PartUploader implements Runnable   {       private File sampleFile;       private long offset;       private long partSize;       private int partNumber;       private String uploadId;       public PartUploader(File sampleFile, long offset, long partSize, int partNumber, String uploadId)       {           this.sampleFile = sampleFile;           this.offset = offset;           this.partSize = partSize;           this.partNumber = partNumber;           this.uploadId = uploadId;       }       @Override       public void run()       {           try           {               UploadPartRequest uploadPartRequest = new UploadPartRequest();               uploadPartRequest.setBucketName(bucketName);               uploadPartRequest.setObjectKey(objectKey);               uploadPartRequest.setUploadId(this.uploadId);               uploadPartRequest.setFile(this.sampleFile);               uploadPartRequest.setPartSize(this.partSize);               uploadPartRequest.setOffset(this.offset);               uploadPartRequest.setPartNumber(this.partNumber);               UploadPartResult uploadPartResult = obsClient.uploadPart(uploadPartRequest);               sb.append("Part#" + this.partNumber + " done\n\n");               partETags.add(new PartEtag(uploadPartResult.getEtag(), uploadPartResult.getPartNumber()));           }           catch (Exception e)           {               e.printStackTrace();           }       }   }   class ConcurrentUploadPartTask extends AsyncTask<Void, Void, String>   {       @Override       protected String doInBackground(Void... params)       {           try           {               /*                * Create bucket                */               sb.append("Create a new bucket for demo\n\n");               obsClient.createBucket(bucketName);               /*                * Claim a upload id firstly                */               String uploadId = claimUploadId();               sb.append("Claiming a new upload id " + uploadId + "\n\n");               long partSize = 5 * 1024 * 1024l;// 5MB               File sampleFile = createSampleFile();               long fileLength = sampleFile.length();               long partCount = fileLength % partSize == 0 ? fileLength / partSize : fileLength / partSize + 1;               if (partCount > 10000)               {                   throw new RuntimeException("Total parts count should not exceed 10000");               }               else               {                   sb.append("Total parts count " + partCount + "\n\n");               }               /*                * Upload multiparts to your bucket                */               sb.append("Begin to upload multiparts to OBS from a file\n\n");               for (int i = 0; i < partCount; i++)               {                   long offset = i * partSize;                   long currPartSize = (i + 1 == partCount) ? fileLength - offset : partSize;                   executorService.execute(new PartUploader(sampleFile, offset, currPartSize, i + 1, uploadId));               }               /*                * Waiting for all parts finished                */               executorService.shutdown();               while (!executorService.isTerminated())               {                   try                   {                       executorService.awaitTermination(5, TimeUnit.SECONDS);                   }                   catch (InterruptedException e)                   {                       e.printStackTrace();                   }               }               /*                * Verify whether all parts are finished                */               if (partETags.size() != partCount)               {                   throw new IllegalStateException("Upload multiparts fail due to some parts are not finished yet");               }               else               {                   sb.append("Succeed to complete multiparts into an object named " + objectKey + "\n\n");               }               /*                * View all parts uploaded recently                */               listAllParts(uploadId);               /*                * Complete to upload multiparts                */               completeMultipartUpload(uploadId);               return sb.toString();           }           catch (ObsException e)           {               sb.append("\n\n");               sb.append("Response Code:" + e.getResponseCode())                       .append("\n\n")                       .append("Error Message:" + e.getErrorMessage())                       .append("\n\n")                       .append("Error Code:" + e.getErrorCode())                       .append("\n\n")                       .append("Request ID:" + e.getErrorRequestId())                       .append("\n\n")                       .append("Host ID:" + e.getErrorHostId());               return sb.toString();           }           catch (Exception e)           {               sb.append("\n\n");               sb.append(e.getMessage());               return sb.toString();           }           finally           {               if (obsClient != null)               {                   try                   {                       /*                        * Close obs client                        */                       obsClient.close();                   }                   catch (IOException e)                   {                   }               }           }       }       @Override       protected void onPostExecute(String result)       {           TextView tv = (TextView)findViewById(R.id.tv);           tv.setText(result);           tv.setOnClickListener(null);           tv.setMovementMethod(ScrollingMovementMethod.getInstance());       }       private String claimUploadId()               throws ObsException       {           InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(bucketName, objectKey);           InitiateMultipartUploadResult result = obsClient.initiateMultipartUpload(request);           return result.getUploadId();       }       private File createSampleFile()               throws IOException       {           File file = File.createTempFile("obs-android-sdk-", ".txt");           file.deleteOnExit();           Writer writer = new OutputStreamWriter(new FileOutputStream(file));           for (int i = 0; i < 1000000; i++)           {               writer.write(UUID.randomUUID() + "\n\n");               writer.write(UUID.randomUUID() + "\n\n");           }           writer.flush();           writer.close();           return file;       }       private void completeMultipartUpload(String uploadId)               throws ObsException       {           // Make part numbers in ascending order           Collections.sort(partETags, new Comparator<PartEtag>()           {               @Override               public int compare(PartEtag o1, PartEtag o2)               {                   return o1.getPartNumber() - o2.getPartNumber();               }           });           sb.append("Completing to upload multiparts\n\n");           CompleteMultipartUploadRequest completeMultipartUploadRequest =                   new CompleteMultipartUploadRequest(bucketName, objectKey, uploadId, partETags);           obsClient.completeMultipartUpload(completeMultipartUploadRequest);       }       private void listAllParts(String uploadId)               throws ObsException       {           sb.append("Listing all parts......");           ListPartsRequest listPartsRequest = new ListPartsRequest(bucketName, objectKey, uploadId);           ListPartsResult partListing = obsClient.listParts(listPartsRequest);           for (Multipart part : partListing.getMultipartList())           {               sb.append("\tPart#" + part.getPartNumber() + ", ETag=" + part.getEtag());           }           sb.append("\n");       }   }      
  • OBS数据输入位置
    如何解决这个问题
  • [互动交流] 使用 JDK 上传图片至OBS出现408
    环境:  JAVA 14esdk-obs-java  [3.19.7,)问题:最近使用时一直出现408
  • [互动交流] obs上传失败
    请教一下各位大佬,一个文件都没有上传成功是因为什么呢  之前是可以得
  • [视频直播] 【视频教程】2020年第4期 视频解说直播录制至OBS
    直播开始前,可配置对应的录制规则,配置完成后,对应域名下的所有直播流将按照录制规则进行录制。录制完成后,可在直播录制管理或OBS中查看录制文件。 如何进行直播录制配置呢?且看视频解说->更多指导请参见视频直播帮助中心:https://support.huaweicloud.com/live/index.html【视频教程】上期回顾【视频教程】2020年第1期 视频解说直播拉流回源配置【视频教程】2020年第2期 视频解说直播开停播通知【视频教程】2020年第3期 视频解说直播HTTPS安全加速
  • [产品体验官] OBS Brower+安装失败是什么原因
总条数:1619 到第 页
上滑加载中