我正在使用Java8和aws-java-sdk1.10.43来获取S3文件的预签名URL。我确实获得了一个链接,但是浏览到该链接会导致此错误:
您提供的授权机制不受支持。请使用AWS4-HMAC-SHA256
要强调的是,我希望生成一个可以通过电子邮件发送并在浏览器中打开的URL,而不是使用Java代码从该URL中读取。
我正在使用下面的代码,并且我相信发现我需要以某种方式将setSSEAlgorithm设置为使用“
v4”,但是我未能使其工作。我想念什么?我应该配置什么(注意:我在避免使用配置文件,我希望代码设置环境变量中的所有属性)
Date expiration = <some date>;
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, targetPath);
generatePresignedUrlRequest.setMethod(HttpMethod.GET);
generatePresignedUrlRequest.setExpiration(expiration);
AmazonS3 s3client = new AmazonS3Client(s3Credentials);
URL s = s3client.generatePresignedUrl(generatePresignedUrlRequest);
铲斗位于eu-central-1
谢谢
通过一些帮助,我找到了答案,它是2个缺失部分的组合(其中一个在注释中提到):
需要设置以下内容:
System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");
必须设置“ endPoint”(上传或下载不需要):
s3Client.setEndpoint(endpoint);
(可选)也可以添加以下内容:
s3Client.setS3ClientOptions(new S3ClientOptions().withPathStyleAccess(true));
标题说明一切。这是我的代码; 我使用节点强大的文件。 成功上传后,url变量返回s3 url,类似以下内容; 下面是我的参数 我错过了什么?
我通过在我的租户上创建azure应用程序来使用PowerBI报告我的项目。报告在我的本地环境中流畅地呈现,但当我将应用程序发布到azure时,PowerBI报告将不会显示,并给出了这个错误。 {“error”:“invalid_grant”,“error_description”:“AADSTS65001:用户或管理员尚未同意使用ID为'55A3B089-C45C-4496-B2DB-63C98F
我正试图上传一个媒体文件(图片,任何扩展名jpg/png/jpeg或视频)到aws s3桶,从邮递员我创建了我的预签名url在我的后端如下 这成功地生成了一个url,但我似乎无法使用postman来测试它,这是我如何在postman中调整请求的截图 我所尝试的: 在上面的代码中,我尝试将签名版本v4添加到params中,但它给了我一个错误,说出了意外的关键字。我甚至尝试将其添加到aws配置和s3中
我正在使用AWS JAVA SDK自动调用设备场。我已经成功地创建了project、创建了upload并生成了S3预签名url,但现在我必须使用这个预签名url发送IPA文件。 这是我的代码,请让我知道我做错了什么。我认为我没有以正确的方式将文件发送到服务器。请共享使用预签名url发送文件的代码示例。我已经尝试了许多不同的方法将文件发送到设备场。 任何帮助将不胜感激。
我正试图用预签名的URL直接上传一个文件到S3 bucket,但在PUT请求上出现AccessDenied(403 Plibended)错误。 附注。忘了补充。我已经尝试添加和以及并且在本例中上载工作正常,但是如何限制上载的访问?它应该只适用于预签名的URL,对吗?
我试图使用S3预签名的PUT url执行文档上传。我使用java AWSSDK(GeneratePresignedUrlRequest.java)生成url。此url生成代码位于AWS API网关后面的lambda函数中。 然而,当我在Postman中复制生成的url时,我遇到了以下错误 生成的url是“https:// 关于在生成url时需要更正的内容,有什么建议吗?