首页   注册   登录
 THESDZ 最近的时间轴更新

THESDZ

V2EX 第 408987 号会员,加入于 2019-05-05 14:45:18 +08:00
今日活跃度排名 25294
THESDZ 最近回复了
使用 @Conditional impl Condtion 方法
5 楼的代码有点问题,参数不能拼接在 path 后面,而是
appendRawQueryParameter("name","value")
下面具体代码
使用的 sdk 是

```
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.9.9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

```
###############


Aws4PresignerParams params = Aws4PresignerParams.builder()
// .expirationTime(storageTemplate.processExpires(expires))
.awsCredentials(storageTemplate.getCredentials())
.signingName("s3")
.expirationTime(Instant.now().plusSeconds(storageTemplate.getExpiresOrDefault(expires)))
.signingRegion(Region.of(storageTemplate.processRegion(region)))
.build();
SdkHttpFullRequest request = SdkHttpFullRequest.builder()
.encodedPath(storageTemplate.processPath(bucketName, key))
.host(storageTemplate.getHost())
.appendRawQueryParameter("uploadId", uploadId)
.appendRawQueryParameter("partNumber", String.valueOf(partNumber))
.method(SdkHttpMethod.PUT)
.protocol(storageTemplate.getProtocol())
.build();
return AwsS3V4Signer.create().presign(request, params).getUri().toString();
https://sandyghai.github.io/AWS-S3-Multipart-Upload-Using-Presigned-Url/
可以生成预签名,分片上传时,每一个分片都可以生成预签名
实际上每个地址都可以生成预签名
```
Aws4PresignerParams params = Aws4PresignerParams.builder()
// .expirationTime(storageTemplate.processExpires(expires))
.awsCredentials(storageTemplate.getCredentials())
.signingName("s3")
.expirationTime(Instant.now().plusSeconds(storageTemplate.getExpiresOrDefault(expires)))
.signingRegion(Region.of(storageTemplate.processRegion(region)))
.build();
SdkHttpFullRequest request = SdkHttpFullRequest.builder()
.encodedPath(storageTemplate.processPath(bucketName, key) + "?uploadId=" + uploadId + "&partNumber=" + partNumber)
.host(storageTemplate.getHost())
.method(SdkHttpMethod.PUT)
.protocol(storageTemplate.getProtocol())
.build();
return AwsS3V4Signer.create().presign(request, params).getUri().toString();
```
177 天前
回复了 xuddk727 创建的主题 程序员 有没有开源的公众号发券的功能?
github 上挺多微信接口的 sdk 吧,看看你用哪个咯
@xiaojinmaolove 消息中间件
@firejoke 合理的事务控制,中心化配置
最搞的是 A=>B=>A...=>A
缓存中读取,避免脏读即可
192 天前
回复了 aLazarus 创建的主题 Android 三星手机的相机简直是个坑…
urlencode
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1069 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 9ms · UTC 22:59 · PVG 06:59 · LAX 14:59 · JFK 17:59
♥ Do have faith in what you're doing.