使用资源 URL 删除 AWS S3 资源 - Java SDK

Meg*_*dec 0 java amazon-s3 amazon-web-services aws-sdk

有没有办法通过 URL 使用 java sdk 从 AWS S3 中删除资源?

我知道您可以使用存储桶名称和 keyName 删除资源,如下所示:

s3client.deleteObject(new DeleteObjectRequest(bucketName, keyName));
Run Code Online (Sandbox Code Playgroud)

问题是我只能访问资源 URL,因此我需要操作字符串来提取存储桶名称和键名。

但如果有一种方法可以通过传递 url 来删除,那就干净多了。

Mic*_*bot 5

似乎没有一种方法可以简单地传递 URL。

不过有这样的:

亚马逊S3URI

public AmazonS3URI(String str)

通过解析给定字符串创建新的 AmazonS3URI。字符串在生成 URI 之前将进行 URL 编码。

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3URI.html

您可以调用getKeygetBucket来提取您需要的字符串。它仍然很混乱,但至少看起来你不必编写自己的解析器。

  • 效果非常好。仅供将来阅读本文的其他人使用。通过 URL,我删除了如下对象: AmazonS3URI as3uri = new AmazonS3URI(*URL TO OBJECT*); s3Client.deleteObject(as3uri.getBucket(), as3uri.getKey()); (3认同)
  • 我的朋友,有关于如何在 javascript 中执行相同操作的信息吗? (2认同)