Skip to content

Commit

Permalink
add archive ir
Browse files Browse the repository at this point in the history
  • Loading branch information
YangSen-qn committed Nov 24, 2023
1 parent 86c735d commit 025bdd1
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/main/java/com/qiniu/storage/BucketManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ public Response changeHeaders(String bucket, String key, Map<String, String> hea
*
* @param bucket 空间名称
* @param key 文件名称
* @param type type=0 表示普通存储,type=1 表示低频存存储, type=2 表示归档存储, type=3 表示深度归档存储
* @param type 存储类型
* @return Response
* @throws QiniuException 异常
*/
Expand Down
55 changes: 42 additions & 13 deletions src/main/java/com/qiniu/storage/model/BucketLifeCycleRule.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,15 @@ public class BucketLifeCycleRule {
@SerializedName("to_line_after_days")
int toLineAfterDays;

/**
* 指定文件上传多少天后转归档直读存储。
* 0 表示不转归档直读存储,
* < 0 表示上传的文件立即变归档直读存储
* > 0 表示多少天后转归档直读存储
*/
@SerializedName("to_archive_ir_after_days")
int toArchiveIRAfterDays;

/**
* 指定文件上传多少天后转归档存储。
* 0 表示不转归档存储,
Expand Down Expand Up @@ -141,17 +150,38 @@ public int getToLineAfterDays() {
/**
* 在多少天后转低频存储<br>
*
* @param toLineAfterDays
* 0 - 表示不转低频<br>
* 小于 0 表示上传的文件立即使用低频存储<br>
* 大于 0 表示转低频的天数
* @param toLineAfterDays 0 - 表示不转低频<br>
* 小于 0 表示上传的文件立即使用低频存储<br>
* 大于 0 表示转低频的天数
* @return 规则信息
*/
public BucketLifeCycleRule setToLineAfterDays(int toLineAfterDays) {
this.toLineAfterDays = toLineAfterDays;
return this;
}

/**
* 获得在多少天后转归档直读存储
*
* @return 多少天后转归档直读存储
*/
public int getToArchiveIRAfterDays() {
return toArchiveIRAfterDays;
}

/**
* 在多少天后转归档直读存储<br>
*
* @param toArchiveIRAfterDays 0 - 表示不转归档直读存储<br>
* 小于 0 表示上传的文件立即使用归档直读存储<br>
* 大于 0 表示多少天后转归档直读存储
* @return 规则信息
*/
public BucketLifeCycleRule setToArchiveIRAfterDays(int toArchiveIRAfterDays) {
this.toArchiveIRAfterDays = toArchiveIRAfterDays;
return this;
}

/**
* 获得在多少天后转归档存储
*
Expand All @@ -164,10 +194,9 @@ public int getToArchiveAfterDays() {
/**
* 在多少天后转归档存储<br>
*
* @param toArchiveAfterDays
* 0 - 表示不转归档存储<br>
* 小于 0 表示上传的文件立即使用归档存储<br>
* 大于 0 表示多少天后转归档存储
* @param toArchiveAfterDays 0 - 表示不转归档存储<br>
* 小于 0 表示上传的文件立即使用归档存储<br>
* 大于 0 表示多少天后转归档存储
* @return 规则信息
*/
public BucketLifeCycleRule setToArchiveAfterDays(int toArchiveAfterDays) {
Expand All @@ -187,10 +216,9 @@ public int getToDeepArchiveAfterDays() {
/**
* 在多少天后转深度归档存储<br>
*
* @param toDeepArchiveAfterDays
* 0 - 表示不转深度归档存储<br>
* 小于 0 表示上传的文件立即使用深度归档存储<br>
* 大于 0 表示多少天后转深度归档存储
* @param toDeepArchiveAfterDays 0 - 表示不转深度归档存储<br>
* 小于 0 表示上传的文件立即使用深度归档存储<br>
* 大于 0 表示多少天后转深度归档存储
* @return 规则信息
*/
public BucketLifeCycleRule setToDeepArchiveAfterDays(int toDeepArchiveAfterDays) {
Expand All @@ -204,11 +232,12 @@ public BucketLifeCycleRule setToDeepArchiveAfterDays(int toDeepArchiveAfterDays)
* @return query
*/
public String asQueryString() {
return String.format("name=%s&prefix=%s&delete_after_days=%d&to_line_after_days=%d&to_archive_after_days=%d&to_deep_archive_after_days=%d",
return String.format("name=%s&prefix=%s&delete_after_days=%d&to_line_after_days=%d&to_archive_ir_after_days=%d&to_archive_after_days=%d&to_deep_archive_after_days=%d",
null == name ? "" : name,
null == prefix ? "" : prefix,
deleteAfterDays,
toLineAfterDays,
toArchiveIRAfterDays,
toArchiveAfterDays,
toDeepArchiveAfterDays
);
Expand Down
19 changes: 15 additions & 4 deletions src/main/java/com/qiniu/storage/model/FileInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public final class FileInfo {
* 1 表示低频存存储
* 2 表示归档存储
* 3 表示深度归档存储
* 4 表示归档直读存储
*/
public int type;

Expand All @@ -73,7 +74,7 @@ public final class FileInfo {
* 文件在设置过期时间后才会返回该字段(通过生命周期规则设置文件过期时间,仅对该功能发布后满足规则条件新上传文件返回该字段;
* 历史文件想要返回该字段需要在功能发布后可通过 修改文件过期删除时间 API 或者 修改文件生命周期 API 指定过期时间;对于已
* 经设置过过期时间的历史文件,到期都会正常过期删除,只是服务端没有该字段返回)
*
* <p>
* 例如:值为1568736000的时间,表示文件会在2019/9/18当天内删除。
*/
public Long expiration;
Expand All @@ -84,7 +85,7 @@ public final class FileInfo {
* 文件在设置转低频后才会返回该字段(通过生命周期规则设置文件转低频,仅对该功能发布后满足规则条件新上传文件返回该字段;
* 历史文件想要返回该字段需要在功能发布后可通过 修改文件生命周期 API 指定转低频时间;对于已经设置过转低频时间的历史文
* 件,到期都会正常执行,只是服务端没有该字段返回)
*
* <p>
* 例如:值为1568736000的时间,表示文件会在2019/9/18当天转为低频存储类型。
*/
public Long transitionToIA;
Expand All @@ -94,7 +95,17 @@ public final class FileInfo {
* 文件在设置转归档后才会返回该字段(通过生命周期规则设置文件转归档,仅对该功能发布后满足规则条件新上传文件返回该字段;
* 历史文件想要返回该字段需要在功能发布后可通过 修改文件生命周期 API 指定转归档时间;对于已经设置过转归档时间的历史文
* 件,到期都会正常执行,只是服务端没有该字段返回)
*
* <p>
* 例如:值为1568736000的时间,表示文件会在2019/9/18当天转为归档存储类型。
*/
public Long transitionToArchiveIR;

/**
* 文件生命周期中转为归档存储的日期,int64 类型,Unix 时间戳格式 ,具体日期计算参考 生命周期管理。
* 文件在设置转归档后才会返回该字段(通过生命周期规则设置文件转归档,仅对该功能发布后满足规则条件新上传文件返回该字段;
* 历史文件想要返回该字段需要在功能发布后可通过 修改文件生命周期 API 指定转归档时间;对于已经设置过转归档时间的历史文
* 件,到期都会正常执行,只是服务端没有该字段返回)
* <p>
* 例如:值为1568736000的时间,表示文件会在2019/9/18当天转为归档存储类型。
*/
@SerializedName("transitionToARCHIVE")
Expand All @@ -105,7 +116,7 @@ public final class FileInfo {
* 文件在设置转深度归档后才会返回该字段(通过生命周期规则设置文件转深度归档,仅对该功能发布后满足规则条件新上传文件返回该字段;
* 历史文件想要返回该字段需要在功能发布后可通过 修改文件生命周期 API 指定转深度归档时间;对于已经设置过转深度归档时间的历史文
* 件,到期都会正常执行,只是服务端没有该字段返回)
*
* <p>
* 例如:值为1568736000的时间,表示文件会在2019/9/18当天转为深度归档存储类型。
*/
public Long transitionToDeepArchive;
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/com/qiniu/storage/model/StorageType.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ public enum StorageType {
*/
INFREQUENCY,

/**
* 归档直读存储
*/
ArchiveIR,

/**
* 归档存储
*/
Expand Down

0 comments on commit 025bdd1

Please sign in to comment.