全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

桶操作

最近更新时间:2024-12-13 18:51:09

概述

本文以 Linux系统为例,介绍使用 KS3Util工具的桶操作的命令和相关示例。

创建桶(mb)

存储空间(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

查看Bucket信息(stat)

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)

可以使用ls命令列举当前账号下的存储空间(Bucket)、对象(Object)和碎片(Part)信息。

列举Bucket

命令格式
./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

列举Object

命令格式
./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的数量。

列举未完成分块上传的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)

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)

可以使用rm命令删除存储空间(Bucket)。

命令格式
./ks3util rm ks3://bucketname -b -r
参数说明

参数

说明

bucketname

进行删除操作的桶名。

-b

对Bucket进行操作,该选项用于确认操作作用于Bucket。

使用示例
  • 删除空桶
    删除桶前请确保桶内文件、回收站内文件、自定义域名、区域复制规则已删除。

    ./ks3util rm ks3://samplebucket -b
  • 删除所有文件然后删除桶。

    ./ks3util rm ks3://samplebucket -b -r

设置桶ACL(set-acl)

可以使用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规则。
配置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规则的本地文件名称,例如localfile.xml

使用示例

a. 在本地创建名为localfile.xml的文件,并根据使用场景写入不同的Lifecycle规则。

  1. 场景一:指定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>
  2. 场景二:指定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>
  3. 指定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规则配置的本地文件名称,例如localfile.xml。如果未指定此参数,则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 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文件名称,例如localfile.json

使用示例

a. 在本地创建名为localfile.json的文件,并根据使用场景写入不同的Bucket Policy规则。

  1. 场景一:授予主账号为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/*"
          ]
        }
      ]
    }
  2. 场景二:授予主账号为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/*"
          ]
        }
      ]
    }
  3. 场景三:授予指定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配置的本地文件名称,例如localfile.json。如果未指定此参数,则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

日志转存(logging)

访问对象存储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

存放日志转存配置的本地文件名称,例如localfile.xml。如果未指定此参数,则日志转存配置将直接输出到屏幕。

使用示例
  • 获取存储空间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)

跨域资源共享CORS(Cross-Origin Resource Sharing)简称跨域访问,是HTML5提供的标准跨域解决方案,允许Web应用服务器进行跨域访问控制,确保跨域数据传输的安全性。本文介绍如何通过cors命令添加、修改、查询、删除存储空间(Bucket)的CORS配置。

设置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规则的本地文件名称,例如localfile.xml

使用示例

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

获取CORS规则

命令格式
./ks3util cors --method get ks3://bucketname [local_xml_file]
参数说明

参数

说明

bucketname

获取CORS配置的目标Bucket名称。

local_xml_file

用于存放CORS配置的本地文件名称,例如localfile.xml。如果未指定此参数,则CORS配置将直接输出到屏幕。

使用示例
  • 获取目标存储空间samplebucket的CORS配置,并将配置结果写入本地文件localfile.xml

    ./ks3util cors --method get ks3://samplebucket localfile.xml

    以下输出结果表明已成功获取日志转存配置。

    0.299514(s) elapsed

删除CORS配置

命令格式
./ks3util cors --method delete ks3://bucketname
参数说明

参数

说明

bucketname

要删除CORS配置的Bucket名称。

使用示例
  • 删除samplebucket的CORS配置。

    ./ks3util cors --method delete ks3://samplebucket

    以下输出结果表明已删除samplebucket的CORS配置。

    0.299514(s) elapsed

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈