简体   繁体   English

如何从Java中的bucket.s3.amazonaws.com/key更改s3.amazonaws.com/bucket/key之类的Amazon S3文件URL?

[英]How to Change Amazon S3 file URL Like s3.amazonaws.com/bucket/key from bucket.s3.amazonaws.com/key in Java?

Working with AmazonS3 bucket - After uploading file to bucket, we can get uploaded file URL using below code : 使用AmazonS3存储桶-将文件上传到存储桶后,我们可以使用以下代码获取上传的文件URL:

String fileDownloadUrl = AmzonS3Client.getUrl(bucketName, fileName);

In Result it will give url like ie : bucket.s3.amazonaws.com/key but I want s3.amazonaws.com/bucket/key. 在结果中,它将给出网址,例如:bucket.s3.amazonaws.com/key,但是我想要s3.amazonaws.com/bucket/key。 So Can anyone help me how can I solve this in java? 那么有人可以帮助我如何在Java中解决这个问题吗?

By default pathstyleaccess is false so your uploaded file should be bucket.s3.amazonaws.com/key but when you explicitly add clientOptions -- pathStyleAccess to true then it will generate URL like s3.amazonaws.com/bucket/key. 默认情况下,pathstyleaccess为false,因此您上载的文件应为bucket.s3.amazonaws.com/key,但是当您将clientOptions-pathStyleAccess显式添加为true时,它将生成类似s3.amazonaws.com/bucket/key的URL。 Please find below code snippet 请在下面找到代码片段

S3ClientOptions clientOptions = new S3ClientOptions(); S3ClientOptions clientOptions = new S3ClientOptions(); clientOptions.setPathStyleAccess(true); clientOptions.setPathStyleAccess(真);

And set this clientOptions to Amazons3client. 并将此clientOptions设置为Amazons3client。

Another Solution: 另一个解决方案:

Create AmazonS3Client object using AmazonS3ClientBuilder with enablePathStyleAccess() . 使用AmazonS3ClientBuilderenablePathStyleAccess()创建AmazonS3Client对象。

AmazonS3 client = AmazonS3ClientBuilder.standard()
        .enablePathStyleAccess()
        .withRegion(regionName)
        .withCredentials(new AWSStaticCredentialsProvider(credentials))
        .build();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java amazonS3.generatePresignedUrl-如何配置https://s3.amazonaws.com/mycompany而不是https://mycompany.s3.amazonaws.com/com.mycompany - Java amazonS3.generatePresignedUrl - How to configure https://s3.amazonaws.com/mycompany instead of https://mycompany.s3.amazonaws.com/com.mycompany Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException - Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException 如何解决线程“main”中的异常com.amazonaws.AmazonClientException:无法构建密码:使用aws s3非法密钥大小 - how to resolve Exception in thread “main” com.amazonaws.AmazonClientException: Unable to build cipher: Illegal key size using aws s3 如何使用 Java 从 ARN 值解析 Amazon S3 存储桶名称和 object 键? - How to parse an Amazon S3 bucket name and object key from the ARN value by using Java? 使用Java在Amazon S3中下载存储桶的密钥 - Key for download bucket in Amazon S3 using Java AWS S3-com.amazonaws.AmazonServiceException:请求ARN无效 - AWS S3 - com.amazonaws.AmazonServiceException: Request ARN is invalid Amazon S3:`key`是要上传到存储桶而不是文件的对象 - Amazon S3: `key` is the object being uploaded to bucket instead of the file AWS Lambda Java 到 S3 - com.amazonaws.services.s3.AmazonS3ClientBuilder 上的 java.lang.ClassNotFoundException - AWS Lambda Java to S3 - java.lang.ClassNotFoundException on com.amazonaws.services.s3.AmazonS3ClientBuilder 如何在Amazon S3 Bucket中重命名文件? - How to rename a file in Amazon S3 Bucket? java.lang.NoClassDefFoundError:Spark中的com / amazonaws / services / s3 / AmazonS3Client - java.lang.NoClassDefFoundError: com/amazonaws/services/s3/AmazonS3Client in Spark
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM