• 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的问题
    OBS删除文件感觉比传输文件慢好多呐,有没有大佬知道怎么使obs删除文件更快?
  • OBS数据输入位置
    如何解决这个问题
  • [问题求助] Sync OBS 问题
    用ModelArts预测一些照片但是文件槽数不能 Sync OBS. 有什么办法可以给意见吗?
  • [问题求助] 使用 JDK 上传图片至OBS出现408
    环境:  JAVA 14esdk-obs-java  [3.19.7,)问题:最近使用时一直出现408
  • [开发环境] Sync OBS数据保存
    使用Sync OBS同步后,数据保存在哪个位置?我要怎么查看
  • [部署上线] 如何在推理代码中导入obs桶的数据?
    【功能模块】推理代码文件中怎么读取obs桶中的数据集?【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] obs上传失败
    请教一下各位大佬,一个文件都没有上传成功是因为什么呢  之前是可以得
  • [数据管理] OBS问题
    在ModelArts中如何查看OBS目录下的所有文件?我现在知道的是通过OBS管理控制台进行查看,登录OBS管理控制台,去查找对应的OBS桶、文件夹、文件。还有没有其他方法呢?
  • [视频直播] 【视频教程】2020年第4期 视频解说直播录制至OBS
    直播开始前,可配置对应的录制规则,配置完成后,对应域名下的所有直播流将按照录制规则进行录制。录制完成后,可在直播录制管理或OBS中查看录制文件。 如何进行直播录制配置呢?且看视频解说->更多指导请参见视频直播帮助中心:https://support.huaweicloud.com/live/index.html【视频教程】上期回顾【视频教程】2020年第1期 视频解说直播拉流回源配置【视频教程】2020年第2期 视频解说直播开停播通知【视频教程】2020年第3期 视频解说直播HTTPS安全加速
  • [产品体验官] OBS Brower+安装失败是什么原因
  • [开发环境] ModelArts SDK、OBS SDK和MoXing的区别?
    如题,ModelArts SDK、OBS SDK和MoXing的区别?
  • [问题求助] 为什么调用go 版obs sdk下载速度很慢
    同一张图片在浏览器上下载大概在300 ms的样子,而在我们提供的go例子中却需要约2-3s耗时10倍以上采用的例子是examples中的download_sample.go的getobs函数
  • [数据管理] OBS连接notebook是一直扣费吗
    创建了免费的notebook后,使用OBS上的数据,会扣费吗?从OBS上传到Modelarts的数据,使用中也会一直扣费吗?
  • [数据管理] 能否将OBS中压缩文件作为数据集,在ModelArts中创建训练任务呢?
    有时候我需要的数据集比较大,以压缩包的形式存在OBS中,在ModelArts上使用创建训练任务怎么使用?能不能不解压使用呢?
总条数:1275 到第
上滑加载中