当前位置:   article > 正文

华为云NFS使用API删除大文件目录_nfs 删除目录 速度

nfs 删除目录 速度

最近在使用华为云SFS时,如果一个目录存储文件数超过100W,执行 “rm -rf path”时,存在删不动的情况,可以使用华为云API接口,执行异步删除。 

华为官网:

删除文件系统目录_弹性文件服务 SFS_API参考_SFS Turbo API说明_目录管理_华为云删除文件系统目录在2023年6月1号之后创建的文件系统支持该API操作。 警告:该API为删除文件系统子目录数据的高危操作,删除后无法恢复,使用前请确认下发的文件系统目录是否正确。您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。DELETE https://support.huaweicloud.com/api-sfs/DeleteFsDir.html

实现代码:

  1. import com.huaweicloud.sdk.core.auth.ICredential;
  2. import com.huaweicloud.sdk.core.auth.BasicCredentials;
  3. import com.huaweicloud.sdk.core.exception.ConnectionException;
  4. import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  5. import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  6. import com.huaweicloud.sdk.sfsturbo.v1.region.SFSTurboRegion;
  7. import com.huaweicloud.sdk.sfsturbo.v1.*;
  8. import com.huaweicloud.sdk.sfsturbo.v1.model.*;
  9. /**
  10. * TODO 删除NFS文件系统目录,高危险操作,务必谨慎执行!!!
  11. * TODO 删除NFS文件系统目录,高危险操作,务必谨慎执行!!!
  12. * TODO 删除NFS文件系统目录,高危险操作,务必谨慎执行!!!
  13. *
  14. *
  15. * @author XHH
  16. */
  17. public class DeleteFsDirSolution {
  18. public static void main(String[] args) {
  19. String ak = "<Your AK>";
  20. String sk = "<Your SK>";
  21. String pathStr = "<Your Path>";
  22. String shareId = "<文件系统ID>";
  23. // 删除
  24. delFsDir(ak, sk, shareId, pathStr);
  25. }
  26. private static void delFsDir(String ak, String sk, String shareId, String pathStr) {
  27. ICredential auth = new BasicCredentials().withAk(ak).withSk(sk);
  28. SFSTurboClient client = SFSTurboClient.newBuilder()
  29. .withCredential(auth)
  30. .withRegion(SFSTurboRegion.valueOf("cn-southwest-2"))
  31. .build();
  32. DeleteFsDirRequest request = new DeleteFsDirRequest();
  33. request.withShareId(shareId);
  34. DeleteFsDirRequestBody body = new DeleteFsDirRequestBody();
  35. body.withPath(pathStr);
  36. request.withBody(body);
  37. System.out.println("删除路径: " +pathStr);
  38. try {
  39. DeleteFsDirResponse response = client.deleteFsDir(request);
  40. System.out.println("response ===> " + response.toString());
  41. } catch (ConnectionException | RequestTimeoutException e) {
  42. e.printStackTrace();
  43. } catch (ServiceResponseException e) {
  44. e.printStackTrace();
  45. System.out.println("删除路径: " +pathStr+ " --> HttpStatusCode:" + e.getHttpStatusCode() + " --> RequestId:" + e.getRequestId() + " --> ErrorMsg:" + e.getErrorMsg());
  46. }
  47. }
  48. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/298176
推荐阅读
相关标签
  

闽ICP备14008679号