最近更新时间:2024-12-13 18:51:09
本文以 Linux系统为例,介绍使用 KS3Util工具的桶操作的命令和相关示例。
存储空间(Bucket)是用于存储对象(Object)的容器。在上传任意类型的Object前,需要先创建Bucket。mb
命令用于创建Bucket。创建的Bucket的地域为配置文件或选项中指定的Endpoint所在的地域。
./ks3util mb ks3://bucketname [--acl <value>] [--bucket-type <value>]
参数 | 说明 |
---|---|
bucketname | 创建的Bucket名称 |
--acl | Bucket的读写权限。 取值:private(默认),public-read,public-read-write。 |
--bucket-type | Bucket的存储类型。 取值:NORMAL(默认),ARCHIVE。 |
创建名称为samplebucket的桶。
./ks3util mb ks3://samplebucket
创建名称为samplebucket的桶并指定ACL权限为公开读,存储类型为归档类型。
./ks3util mb ks3://samplebucket--acl public-read --bucket-type ARCHIVE
stat命令用于查看指定存储空间(Bucket)的相关信息,可以通过该命令查看Bucket的存储类型 。
./ks3util stat ks3://bucketname
参数 | 说明 |
---|---|
bucketname | 目标Bucket名称。 |
查看Bucket的信息
./ks3util stat ks3://samplebucket
以下输出结果
Name : samplebucket
Region : BEIJING
CreationDate : 2022-09-01 08:34:50.684 +0000 UTC
ExtranetEndpoint : ks3-cn-beijing.ksyuncs.com
IntranetEndpoint : ks3-cn-beijing-internal.ksyuncs.com
ACL : private
Owner : 123456
Type : NORMAL
0.440632(s) elapsed
可以使用ls命令列举当前账号下的存储空间(Bucket)、对象(Object)和碎片(Part)信息。
./ks3util ls [-s, --short-format] [--limited-num <value>]
参数 | 说明 |
---|---|
-s, --short-format | 显示精简格式,如果未指定该选项,默认显示长格式。 |
--limited-num | 返回结果的最大个数。 |
列举所有的Bucket
./ks3util ls
以下输出结果表明已成功列举当前账号下所有Bucket,包括Bucket创建时间、所在地域、存储类型、Bucket名称、数量等信息。
CreationTime Region StorageClass BucketName
2021-12-02 17:03:21.811 +0800 CST Region1 NORMAL samplebucket1
2022-08-15 16:02:43.007 +0800 CST Region2 NORMAL samplebucket2
Bucket Number is: 2
0.112480(s) elapsed
以精简模式列举所有Bucket
./ks3util ls -s
以下输出结果表明已成功列举出所有Bucket,仅包含Bucket名称及Bucket数量。
ks3://sampleBucket1
ks3://sampleBucket2
ks3://sampleBucket3
Bucket Number is: 3
0.083726(s) elapsed
./ks3util ls ks3://bucketname[/prefix]
[-s, --short-format]
[-d, --directory]
[--limited-num <value>]
[--marker <value>]
[--include <value>]
[--exclude <value>]
参数 | 说明 |
---|---|
bucketname | 目标桶名称。 |
prefix | 目标Object前缀,当列举目标Bucket中指定前缀的Object时添加此项。 |
-s, --short-format | 显示精简格式,如果未指定该选项,默认显示长格式。 |
-d, --directory | 返回当前目录下的文件和子目录,而非递归显示所有子目录下的所有Object。 |
--limited-num | 返回结果的最大个数。 |
--marker | 列举名称字母排序在marker之后的Object。 |
--include | 包含对象匹配模式,如:*.jpg。 |
--exclude | 不包含对象匹配模式,如:*.txt。 |
列举sampleBucket中的所有文件
./ks3util ls ks3://sampleBucket
以下输出结果表明已成功列举出所有Object,包括每个Object的最后修改时间、大小、存储类型、ETag、名称,以及列举出的所有Object的总数量和总大小。
LastModifiedTime Size(B) StorageClass ETAG ObjectName
2024-12-11 10:42:11.937 +0800 CST 0 STANDARD d41d8cd98f00b204e9800998ecf8427e ks3://sampleBucket/prefix/
2024-12-11 10:42:24.071 +0800 CST 10240 STANDARD 294f5fd2c28bd8d3cb0e0edd19863c3b ks3://sampleBucket/prefix/file1
2024-12-11 10:42:29.806 +0800 CST 10240 STANDARD 68f5c47a094ab92b1fa4b945bafaf4dd ks3://sampleBucket/prefix/file2
Object Number is: 3
Object Size is: 20480
0.138521(s) elapsed
列举sampleBucket中前缀为abc的所有文件
./ks3util ls ks3://sampleBucket/abc
以下输出结果表明已成功列举出前缀为abc的所有Object,包括每个Object的最后修改时间、大小、存储类型、ETag、名称,以及列举出的所有Object的总数量和总大小。
LastModifiedTime Size(B) StorageClass ETAG ObjectName
2024-12-11 10:43:17.677 +0800 CST 0 STANDARD d41d8cd98f00b204e9800998ecf8427e ks3://sampleBucket/abc/
2024-12-11 10:43:29.759 +0800 CST 10240 STANDARD 294f5fd2c28bd8d3cb0e0edd19863c3b ks3://sampleBucket/abc/file1
2024-12-11 10:43:34.744 +0800 CST 10240 STANDARD 68f5c47a094ab92b1fa4b945bafaf4dd ks3://sampleBucket/abc/file2
Object Number is: 3
Object Size is: 20480
0.142833(s) elapsed
列举sampleBucket中所有后缀名为.jpg的文件
./ks3util ls ks3://sampleBucket --include *.jpg
以下输出结果表明已成功列举出后缀名为.jpg的所有Object,包括每个Object的最后修改时间、大小、存储类型、ETag、名称,以及列举出的所有Object的总数量和总大小。
LastModifiedTime Size(B) StorageClass ETAG ObjectName
2024-12-11 10:44:27.862 +0800 CST 10240 STANDARD 294f5fd2c28bd8d3cb0e0edd19863c3b ks3://sampleBucket/file1.jpg
2024-12-11 10:44:34.014 +0800 CST 10240 STANDARD 68f5c47a094ab92b1fa4b945bafaf4dd ks3://sampleBucket/file2.jpg
Object Number is: 2
Object Size is: 20480
0.207725(s) elapsed
仅列举sampleBucket根目录下所有Object和子目录
./ks3util ls ks3://sampleBucket -d
以下输出结果表明已成功列举出根目录下所有Object和子目录的名称,以及列举出的所有Object和子目录的总数量。
ks3://sampleBucket/file1
ks3://sampleBucket/file2
ks3://sampleBucket/abc/
ks3://sampleBucket/prefix/
Object and Directory Number is: 4
0.518357(s) elapsed
创建的每个目录也会记为1个Object的数量。
./ks3util ls ks3://bucketname[/prefix] -m
[-s, --short-format]
[-d, --directory]
[--limited-num <value>]
[--marker <value>]
[--include <value>]
[--exclude <value>]
参数 | 说明 |
---|---|
bucketname | 目标桶名称。 |
prefix | 目标Object前缀,当列举目标Bucket中指定前缀的Object时添加此项。 |
-s, --short-format | 显示精简格式,如果未指定该选项,默认显示长格式。 |
-d, --directory | 返回当前目录下的文件和子目录,而非递归显示所有子目录下的所有Object。 |
--limited-num | 返回结果的最大个数。 |
--marker | 列举名称字母排序在marker之后的Object。 |
--include | 包含对象匹配模式,如:*.jpg。 |
--exclude | 不包含对象匹配模式,如:*.txt。 |
列举sampleBucket中所有未完成分块上传的Object信息。
./ks3util ls ks3://sampleBucket -m
输出示例
InitiatedTime UploadID ObjectName
2024-12-11 11:54:45.277 +0800 CST 25123d10c0554a328ba4f196fba0daf5 ks3://sampleBucket/file1
2024-12-11 11:54:47.029 +0800 CST 89dae5783c9f4b7db6befd9634ec0812 ks3://sampleBucket/file2
UploadID Number is: 2
0.198764(s) elapsed
列举sampleBucket中前缀为abc的所有未完成分块上传的Object信息。
./ks3util ls ks3://sampleBucket/abc -m
输出示例
InitiatedTime UploadID ObjectName
2024-12-11 11:54:45.277 +0800 CST 25123d10c0554a328ba4f196fba0daf5 ks3://sampleBucket/abc/file1
2024-12-11 11:54:47.029 +0800 CST 89dae5783c9f4b7db6befd9634ec0812 ks3://sampleBucket/abc/file2
UploadID Number is: 2
0.198764(s) elapsed
列举sampleBucket中后缀为.jpg的所有未完成分块上传的Object信息。
./ks3util ls ks3://sampleBucket -m --include *.jpg
输出示例
InitiatedTime UploadID ObjectName
2024-12-11 11:54:45.277 +0800 CST 25123d10c0554a328ba4f196fba0daf5 ks3://sampleBucket/file1.jpg
2024-12-11 11:54:47.029 +0800 CST 89dae5783c9f4b7db6befd9634ec0812 ks3://sampleBucket/file2.jpg
UploadID Number is: 2
0.198764(s) elapsed
du命令用于获取指定存储空间、目录下包含的所有对象(Object)和碎片(Part)的大小和数量。
./ks3util du ks3://bucketname[/prefix]
[-m, --multipart]
[-a, --all-type]
[--retention]
[--readable]
[-d, --directory]
[--limited-num <value>]
[--marker <value>]
[--include <value>]
[--exclude <value>]
参数 | 说明 |
---|---|
bucketname | 操作的桶名。 |
prefix | 操作的对象的前缀。 |
-m, --multipart | 指定操作的对象为Bucket中未完成的Multipart事件,而非默认情况下的Object。 |
-a, --all-type | 指定操作的对象为Bucket中符合prefix条件的Object和未完成的Multipart事件。 |
--retention | 指定操作的对象为回收站中的Object。使用该选项时,将无法使用--directory/--all-type/--multipart选项。 |
--readable | 以更友好的可读性输出信息,文件大小自适应合适的单位显示。 |
-d, --directory | 指定操作当前目录下的文件,而非递归显示所有子目录下的所有Object或Part。 |
--limited-num | 计算结果的最大个数。 |
--marker | 计算名称字母排序在marker之后的Object或Part。 |
--include | 包含对象匹配模式,如:*.jpg。 |
--exclude | 不包含对象匹配模式,如:*.txt。 |
获取sampleBucket中所有文件的大小和数量
./ks3util du ks3://sampleBucket
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 14000 141516800(byte)
STANDARD_IA 6000 65658880(byte)
---------------------------------------------------------------------------------------------
Total object number: 20000 Total object size: 207175680(byte)
3.758233(s) elapsed
获取sampleBucket中所有文件的大小和数量,自适应单位展示文件大小
./ks3util du ks3://sampleBucket --readable
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 14000 134.96MB
STANDARD_IA 6000 62.62MB
---------------------------------------------------------------------------------------------
Total object number: 20000 Total object size: 197.58MB
3.702493(s) elapsed
获取sampleBucket中前缀为abc的所有文件的大小和数量
./ks3util du ks3://sampleBucket/abc
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 3400 35256320(byte)
---------------------------------------------------------------------------------------------
Total object number: 3400 Total object size: 35256320(byte)
0.621619(s) elapsed
获取sampleBucket根目录下所有文件的大小和数量
./ks3util du ks3://sampleBucket -d
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 600 6389760(byte)
---------------------------------------------------------------------------------------------
Total object number: 600 Total object size: 6389760(byte)
0.472973(s) elapsed
获取sampleBucket中所有未完成分块上传任务的数量和碎片的大小
./ks3util du ks3://sampleBucket -m
输出示例
Total multipart upload number: 10 Total multipart upload size: 251658240(byte)
0.349222(s) elapsed
获取sampleBucket中所有文件的大小和数量、所有未完成分块上传任务的数量和碎片的大小
./ks3util du ks3://sampleBucket -a
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 14000 141516800(byte)
STANDARD_IA 6000 65658880(byte)
---------------------------------------------------------------------------------------------
Total object number: 20000 Total object size: 207175680(byte)
Total multipart upload number: 10 Total multipart upload size: 251658240(byte)
4.047088(s) elapsed
获取sampleBucket中对象的key排序在file100后所有文件的大小和数量
./ks3util du ks3://sampleBucket --marker file100
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 9900 101376000(byte)
---------------------------------------------------------------------------------------------
Total object number: 9900 Total object size: 101376000(byte)
1.298945(s) elapsed
获取sampleBucket中前1000个文件的大小和数量
./ks3util du ks3://sampleBucket --limited-num 1000
输出示例
Storage class Object number Object size
---------------------------------------------------------------------------------------------
STANDARD 1000 10240000(byte)
---------------------------------------------------------------------------------------------
Total object number: 1000 Total object size: 10240000(byte)
0.286927(s) elapsed
获取sampleBucket回收站中所有文件的大小和数量
./ks3util du ks3://sampleBucket --retention
输出示例
Storage class Retention Object number Retention object size
---------------------------------------------------------------------------------------------
STANDARD 4000 38328320(byte)
STANDARD_IA 3000 35225600(byte)
---------------------------------------------------------------------------------------------
Total retention object number: 7000 Total retention object size: 73553920(byte)
2.871750(s) elapsed
获取sampleBucket回收站中前缀为abc的所有文件的大小和数量
./ks3util du ks3://sampleBucket/abc --retention
输出示例
Storage class Retention Object number Retention object size
---------------------------------------------------------------------------------------------
STANDARD 3400 35256320(byte)
---------------------------------------------------------------------------------------------
Total retention object number: 3400 Total retention object size: 35256320(byte)
1.121254(s) elapsed
可以使用rm命令删除存储空间(Bucket)。
./ks3util rm ks3://bucketname -b -r
参数 | 说明 |
---|---|
bucketname | 进行删除操作的桶名。 |
-b | 对Bucket进行操作,该选项用于确认操作作用于Bucket。 |
删除空桶
删除桶前请确保桶内文件、回收站内文件、自定义域名、区域复制规则已删除。
./ks3util rm ks3://samplebucket -b
删除所有文件然后删除桶。
./ks3util rm ks3://samplebucket -b -r
可以使用set-acl命令设置存储空间(Bucket)的读写权限ACL。
./ks3util set-acl ks3://bucketname <acl>
[-f, --force]
[-b, --bucket]
[--include <value>]
[--exclude <value>]
[-j, --jobs]
参数 | 说明 |
---|---|
bucketname | 操作的桶名。 |
acl | 读写权限ACL。可选值:private、public-read、public-read-write |
-f, --force | 强制操作,不进行询问提示。 |
-b, --bucket | 对Bucket进行操作,该选项用于确认操作作用于Bucket。 |
Bucket设置ACL
./ks3util set-acl ks3://samplebucket private -b
lifecycle命令用于添加或修改Lifecycle规则、获取Lifecycle规则、删除Lifecycle规则。
配置Lifecycle规则后,KS3会定期将对象(Object)转储为低频、归档存储类型,或将过期的Object和碎片删除,从而节省存储费用。以下介绍如何通过lifecycle命令添加、修改、查询、删除Lifecycle规则配置。
添加或修改Lifecycle规则步骤如下所示:
1. 创建本地文件,并根据使用场景在该文件中写入Lifecycle规则。
2. KS3Util先从本地文件中读取Lifecycle配置,然后根据读取到Lifecycle配置为指定Bucket添加Lifecycle规则。
./ks3util lifecycle --method put ks3://bucketname local_xml_file
参数 | 说明 |
---|---|
bucketname | 配置Lifecycle规则的Bucket名称。 |
local_xml_file | 配置Lifecycle规则的本地文件名称,例如 |
a. 在本地创建名为localfile.xml
的文件,并根据使用场景写入不同的Lifecycle规则。
场景一:指定Lifecycle规则应用于目标存储空间samplebucket,指示与前缀test/匹配的Object距其最后修改时间超过30天后转换为ARCHIVE存储类型。
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>test-rule1</ID>
<Filter>
<Prefix>test/</Prefix>
</Filter>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>ARCHIVE</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
场景二:指定Lifecycle规则应用于目标存储空间samplebucket,指示与前缀test/匹配的Object最后更新 365 天后,文件删除。
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>test-rule2</ID>
<Filter>
<Prefix>test/</Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
指定Lifecycle规则应用于目标存储空间samplebucket,指示与前缀test/匹配的Object在分块上传任务初始化10天后,删除未完成的分块上传任务。
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>test-rule3</ID>
<Filter>
<Prefix>test/</Prefix>
</Filter>
<Status>Enabled</Status>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>10</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
b. 为Bucket添加Lifecycle规则。
为samplebucket添加Lifecycle规则。
./ks3util lifecycle --method put ks3://samplebucket localfile.xml
以下输出结果表明已成功添加Lifecycle规则。
0.299514(s) elapsed
./ks3util lifecycle --method get ks3://bucketname [local_xml_file]
参数 | 说明 |
---|---|
bucketname | 获取Lifecycle规则配置的目标Bucket名称。 |
local_xml_file | 用于存放Lifecycle规则配置的本地文件名称,例如 |
获取samplebucket的Lifecycle规则。
./ks3util lifecycle --method get ks3://samplebucket localfile.xml
以下输出结果表明已成功获取Lifecycle规则配置,并将其写入本地localfile.xml
文件。
0.299514(s) elapsed
./ks3util lifecycle --method delete ks3://bucketname
参数 | 说明 |
---|---|
bucketname | 删除Lifecycle规则配置的目标Bucket名称。 |
删除samplebucket的Lifecycle规则。
./ks3util lifecycle --method delete ks3://samplebucket
以下输出结果表明已成功删除samplebucket的Lifecycle规则配置。
0.299514(s) elapsed
Bucket Policy是基于资源的授权策略,Bucket拥有者可以通过Bucket Policy授权其他用户访问KS3指定资源。bucket-policy命令用于添加、修改、查询、删除Bucket授权策略。有关空间策略规则的更多详情请参见文档:空间策略(Bucket Policy)。
如果Bucket此前未添加过Bucket Policy配置,则使用该命令将为Bucket添加Bucket Policy配置。如果Bucket已存在Bucket Policy配置,则使用该命令将直接覆盖已有的Bucket Policy配置。
添加或修改Bucket Policy配置步骤如下:
1. 创建本地文件,并在文件中添加Bucket Policy规则。
2. KS3Util先从本地文件中读取Bucket Policy配置,然后将读取到的Bucket Policy配置添加到指定的Bucket。
./ks3util bucket-policy --method put ks3://bucketname local_json_file
参数 | 说明 |
---|---|
bucketname | 添加或修改Bucket Policy的目标存储空间名称。 |
local_json_file | 配置Bucket Policy的本地JSON文件名称,例如 |
a. 在本地创建名为localfile.json
的文件,并根据使用场景写入不同的Bucket Policy规则。
场景一:授予主账号为10000123456的用户拥有samplebucket桶下全部资源的只读权限。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ks3:ListBucket",
"ks3:ListBucketMultipartUploads",
"ks3:GetObject",
"ks3:GetObjectAcl",
"ks3:ListMultipartUploadParts"
],
"Principal": {
"KSC": [
"krn:ksc:iam::20000123456:root"
]
},
"Resource": [
"krn:ksc:ks3:::samplebucket",
"krn:ksc:ks3:::samplebucket/*"
]
}
]
}
场景二:授予主账号为10000123456下的子账号test-child1拥有samplebucket桶下data目录中资源的读写权限。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ks3:ListBucket",
"ks3:ListBucketMultipartUploads",
"ks3:GetObject",
"ks3:PutObject",
"ks3:DeleteObject",
"ks3:AbortMultipartUpload",
"ks3:ListMultipartUploadParts",
"ks3:PostObjectRestore",
"ks3:GetObjectAcl",
"ks3:PutObjectAcl"
],
"Principal": {
"KSC": [
"krn:ksc:iam::10000123456:user/test-child1"
]
},
"Resource": [
"krn:ksc:ks3:::samplebucket",
"krn:ksc:ks3:::samplebucket/data/*"
]
}
]
}
场景三:授予指定IP下的用户拥有samplebucket桶的全部权限。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ks3:*"
],
"Principal": {
"KSC": [
"*"
]
},
"Resource": [
"krn:ksc:ks3:::samplebucket",
"krn:ksc:ks3:::samplebucket/*"
],
"Condition": {
"IpAddress": {
"ksc:SourceIp": [
"54.240.143.1"
]
}
}
}
]
}
b. 添加Bucket Policy规则。
为samplebucket桶添加Bucket Policy规则。
./ks3util bucket-policy --method put ks3://samplebucket localfile.json
以下输出结果表明已成功添加Bucket Policy规则。
0.204926(s) elapsed
./ks3util bucket-policy --method get ks3://bucketname [local_json_file]
参数 | 说明 |
---|---|
bucketname | 获取Bucket Policy的目标存储空间名称。 |
local_json_file | 用于存放Bucket Policy配置的本地文件名称,例如 |
获取目标存储空间samplebucket的Bucket Policy配置,并将配置结果写入本地文件localfile.json
。
./ks3util bucket-policy --method get ks3://samplebucket localfile.json
以下输出结果表明已成功获取Bucket Policy配置。
0.188731(s) elapsed
./ks3util bucket-policy --method delete ks3://bucketname
参数 | 说明 |
---|---|
bucketname | 删除Bucket Policy规则配置的目标Bucket名称。 |
删除samplebucket的Bucket Policy配置。
./ks3util bucket-policy --method delete ks3://samplebucket
以下输出结果表明已删除samplebucket的Bucket Policy配置。
0.156663(s) elapsed
访问对象存储KS3的过程中会产生大量的访问日志,您可以通过日志转存功能将这些日志按照固定命名规则,以小时为单位生成日志文件写入您指定的Bucket。您可以通过logging命令开启、查询、关闭Bucket的日志转存配置。
如果Bucket此前未开启过日志转存,则使用该命令将为Bucket开启日志转存。如果Bucket此前已开启日志转存,则使用该命令将直接覆盖已有的日志转存配置。
开启或修改日志转存配置的命令格式及示例如下:
./ks3util logging --method put ks3://bucketname ks3://destbucket/[prefix]
参数 | 说明 |
---|---|
bucketname | 生成日志的源Bucket名称。 |
destbucket | 存储日志文件的目标Bucket名称。 |
prefix | 日志文件存储的目录。如果指定此项,则日志文件将保存在目标Bucket的指定目录下。如果不指定此项,则日志文件将保存在目标Bucket的根目录下。 |
生成日志的源Bucket和存储日志的目标Bucket可以相同也可以不同,但是必须位于同一账号下的相同地域。
将源存储空间samplebucket1产生的日志文件保存至目标存储空间samplebucket2的根目录下。
./ks3util logging --method put ks3://samplebucket1 ks3://samplebucket2
以下输出结果表明已为srcbucket开启日志转存。
0.016021(s) elapsed
将源存储空间samplebucket1产生的日志文件保存至目标存储空间samplebucket2的根目录下的子目录destdir下。
./ks3util logging --method put ks3://samplebucket1 ks3://samplebucket2/destdir
以下输出结果表明已为srcbucket开启日志转存。
0.016021(s) elapsed
./ks3util logging --method get ks3://bucketname [local_xml_file]
参数 | 说明 |
---|---|
bucketname | 待获取日志转存配置的Bucket名称。 |
local_xml_file | 存放日志转存配置的本地文件名称,例如 |
获取存储空间samplebucket的日志转存配置,并将配置结果写入本地文件localfile.xml
。
./ks3util logging --method get ks3://samplebucket localfile.xml
以下输出结果表明已成功获取日志转存配置。
0.299514(s) elapsed
在您关闭日志转存功能前,KS3的日志文件会一直生成。请结合Lifecycle规则及时清理不再需要的日志文件,以减少您的存储费用。
./ks3util logging --method delete ks3://bucketname
参数 | 说明 |
---|---|
bucketname | 要关闭日志转存功能的Bucket名称。 |
关闭存储空间samplebucket的日志转存功能。
./ks3util logging --method delete ks3://samplebucket
以下输出结果表明已成功关闭samplebucket的日志转存功能。
0.299514(s) elapsed
跨域资源共享CORS(Cross-Origin Resource Sharing)简称跨域访问,是HTML5提供的标准跨域解决方案,允许Web应用服务器进行跨域访问控制,确保跨域数据传输的安全性。本文介绍如何通过cors命令添加、修改、查询、删除存储空间(Bucket)的CORS配置。
如果Bucket此前未添加过CORS配置,则使用该命令将为Bucket添加CORS配置。如果Bucket此前已添加CORS配置,则使用该命令将直接覆盖已有的CORS配置。
添加或修改CORS配置步骤如下:
1. 创建本地文件,并在文件中添加CORS规则。
2. KS3Util先从本地文件中读取CORS配置,然后将读取到CORS配置添加到指定的Bucket。
添加或修改CORS配置的命令格式及示例如下:
./ks3util cors --method put ks3://bucketname local_xml_file
参数 | 说明 |
---|---|
bucketname | 待添加或修改CORS配置的Bucket名称。 |
local_xml_file | 配置CORS规则的本地文件名称,例如 |
a. 在本地创建名为localfile.xml
文件,并根据使用场景配置CORS规则。
示例:表示在CORS规则中指定允许的跨域请求来源为www.ksyun.com
、允许的跨域请求方法为PUT
以及浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间为10000秒。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://www.ksyun.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>10000</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
b. 添加CORS规则。
为samplebucket添加CORS规则。
./ks3util cors --method put ks3://samplebucket localfile.xml
以下输出结果表明已成功添加CORS规则。
0.299514(s) elapsed
./ks3util cors --method get ks3://bucketname [local_xml_file]
参数 | 说明 |
---|---|
bucketname | 获取CORS配置的目标Bucket名称。 |
local_xml_file | 用于存放CORS配置的本地文件名称,例如 |
获取目标存储空间samplebucket的CORS配置,并将配置结果写入本地文件localfile.xml
。
./ks3util cors --method get ks3://samplebucket localfile.xml
以下输出结果表明已成功获取日志转存配置。
0.299514(s) elapsed
./ks3util cors --method delete ks3://bucketname
参数 | 说明 |
---|---|
bucketname | 要删除CORS配置的Bucket名称。 |
删除samplebucket的CORS配置。
./ks3util cors --method delete ks3://samplebucket
以下输出结果表明已删除samplebucket的CORS配置。
0.299514(s) elapsed
纯净模式