我应该如何切换到使用Amazon S3官方SDK?

阿里尔Kabov
2020-02-10 22:37

相关版本:Artifactory 6.12.0及以上版本。

开始Artifactory 6.12.0, Artifactory可以使用官方的Amazon SDK与S3云存储提供商进行交互。
之前使用的JetS3t库仍然可以使用,事实上,现有的Artifactory安装在升级到受支持的版本时并没有切换到使用新库。
(注意:在未来的版本中可能会出现“强制”迁移)

如何知道我正在使用哪个S3 SDK ?
filestore配置为美元ARTIFACTORY_HOME / etc / binarystore.xml
如果配置使用提供程序type = " s3-storage-v3 ",这意味着使用的是官方Amazon S3 SDK。
如果类型为“s3”, Artifactory仍在使用JetS3t库。

为什么要远离JetS3t库?

  1. 它已弃用,最后一次发布是在2015年。
  2. 名单问题越来越多,包括安全问题。
  3. 支持在开发JetS3t时没有考虑到的S3中可用的最新特性。
  4. 新的SDK是官方的,并得到了Amazon的支持。

如何切换使用Amazon S3官方SDK?
转换是非常容易的,即使你不是专家配置文件存储

ARTIFACTORY_HOME / etc /美元binarystore.xml我们应该更新如下:

如果存在 取代,
链模板= " s3 " 链模板= " s3-storage-v3 "
链模板= " cluster-s3 " 链模板= " cluster-s3-storage-v3 "
提供商id="s3" type="s3" Provider id="s3-storage-v3" type="s3-storage-v3"
type = " s3 " type = " s3-storage-v3 "

在更新文件之后,重新启动Artifactory将启动这些更改,并且它将切换到使用Amazon官方SDK。

注意!如果您在“s3”提供程序中使用了任何专用的JetS3t属性,那么新的SDK将不支持这些属性。
但是,请检查该参数是否在文档中公开,如果是,则在“s3-storage-v3”提供程序中设置它。

例子

旧配置#1 -简单的“s3”<配置version = " 2 " >
s3 <链模板= " " / >

端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
> < /供应商
< / config >

迁移配置#1 -简单的“s3”<配置version = " 2 " >
<链模板= " s3-storage-v3 " / >

端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
> < /供应商
< / config >

旧配置#2 -带属性的“s3”<配置版本=“v1”>
<链模板= " s3 " >
.

.
.
> < /供应商
> < /供应商
> < /供应商
< / >链

.
< maxCacheSize > 100000000000 < / maxCacheSize >
> < /供应商


10 < numberOfThreads > < / numberOfThreads >
<超时> 180000 > < /超时
5000年< dispatcherInterval > < / dispatcherInterval >
> < /供应商

.
10 < maxTrys > < / maxTrys >
<时间> 1000 > < /间隔
> < /供应商


端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
<属性名= " s3service。disable-dns-buckets " value = " true " > < /属性>
<属性名= " httpclient。最大连接“价值= " 200 " > < /属性>

> < /供应商

< / config >

迁移配置#2 -带属性的“s3”<配置版本=“v1”>
<链模板= " s3-storage-v3 " >
.

.

> < /供应商
> < /供应商
> < /供应商
< / >链

.
< maxCacheSize > 100000000000 < / maxCacheSize >
> < /供应商


10 < numberOfThreads > < / numberOfThreads >
<超时> 180000 > < /超时
5000年< dispatcherInterval > < / dispatcherInterval >
> < /供应商

.
10 < maxTrys > < / maxTrys >
<时间> 1000 > < /间隔
> < /供应商


端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
真正< enablePathStyleAccess > < / enablePathStyleAccess >
200年< maxConnections > < / maxConnections >

> < /供应商

< / config >

旧配置#3 -“cluster-s3”<配置version = " 2 " >
<链模板= " cluster-s3 " >




.
> < /供应商
< / sub-provider >

> < /供应商
> < /供应商
< / >链


< maxCacheSize > 100000000000 < / maxCacheSize >
> < /供应商


冗余冗余< > 3 < / >
2 < lenientLimit > < / lenientLimit >
.
> < /供应商


10 < maxWorkers > < / maxWorkers >
1000年< dispatcherInterval > < / dispatcherInterval >
15000年< checkPeriod > < / checkPeriod >
300000年< addStalePeriod > < / addStalePeriod >
当地<区> < /区>
> < /供应商

.
15000年< checkPeriod > < / checkPeriod >
5000年< connectionTimeout > < / connectionTimeout >
15000年< socketTimeout > < / socketTimeout >
200年< maxConnections > < / maxConnections >
2 < connectionRetry > < / connectionRetry >
<区>远程> < /区
> < /供应商


端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
> < /供应商

< / config >

迁移配置#3 -“cluster-s3”<配置version = " 2 " >
<链模板= " cluster-s3-storage-v3 " >





> < /供应商
< / sub-provider >

> < /供应商
> < /供应商
< / >链


< maxCacheSize > 100000000000 < / maxCacheSize >
> < /供应商


冗余冗余< > 3 < / >
2 < lenientLimit > < / lenientLimit >
.
> < /供应商


10 < maxWorkers > < / maxWorkers >
1000年< dispatcherInterval > < / dispatcherInterval >
15000年< checkPeriod > < / checkPeriod >
300000年< addStalePeriod > < / addStalePeriod >
当地<区> < /区>
> < /供应商

.
15000年< checkPeriod > < / checkPeriod >
5000年< connectionTimeout > < / connectionTimeout >
15000年< socketTimeout > < / socketTimeout >
200年< maxConnections > < / maxConnections >
2 < connectionRetry > < / connectionRetry >
<区>远程> < /区
> < /供应商


端点> < https://s3.amazonaws.com > < /端点
[ENTER identity HERE
[ENTER CREDENTIALS HERE] . [/credential> .
[ENTER path HERE]
[ENTER BUCKET NAME HERE
> < /供应商

< / config >