IBM Cloud Object Storage CLI

IBM Cloud® Object Storage 插件通过用于处理 Object Storage 资源的 API 包装器扩展了 IBM Cloud 命令行界面 (CLI)。

安装和配置

该插件与在 64 位处理器上运行的 Linux (x86_64,arm64,ppc64le,s390x),Windows ® (x64) 和 macOS® (amd64,arm64) 平台兼容。

使用 plugin install 命令来安装插件。

ibmcloud plugin install cloud-object-storage

安装插件后,您可以使用 ibmcloud cos config 命令对插件进行配置。 这可用于在插件中填写您的凭据、默认下载位置、选择身份验证方式等。

为了获得最佳性能,请确保通过将 IBMCLOUD_TRACE 环境变量设置为 false 来禁用跟踪。

通过该程序,还能够设置下载文件的缺省本地目录以及设置缺省区域。 要设置缺省下载位置,请输入 ibmcloud cos config ddl 并在程序中输入有效的文件路径。 要设置缺省区域,请输入 ibmcloud cos config region,并向程序输入区域代码,例如 us-south。 缺省情况下,此值设置为 us-geo。

您可以通过访问 ibmcloud cos config list 来查看当前的 IBM Cloud Object Storage 登录凭据。 由于配置文件是由插件生成的,因此最好不要手动编辑该文件。

$ ibmcloud cos config list
Key                     Value
Last Updated            Tuesday, April 28 2020 at 19:35:57
Default Region          us-south
Download Location       /home/ibmuser/Downloads
CRN                     8f275e7b-c076-49e2-b9c5-f985704cf678
AccessKeyID             9eib1eejar6HaezaohveV5hikei4aNg2ooV0qu
SecretAccessKey         ********************************************
Authentication Method   IAM
URL Style               VHost

IAM 认证

如果您使用的是 IAM 身份验证,则必须在客户端中配置实例 ID,才能使用某些命令。 有关创建服务实例的更多信息,请参阅 创建服务实例。 要获取实例 ID,您可以输入 ibmcloud resource service-instance <INSTANCE_NAME> --id,将 <INSTANCE_NAME> 替换为您为服务实例分配的唯一别名。 在下面的示例中,8f275e7b-c076-49e2-b9c5-f985704cf678 是一个示例实例 ID。

首先,检索具有实例名称的 CRN 和标识。 请确保在实例名称上使用引号 ('),并且您已登录到 IBM Cloud。 仅需要 CRN 的最后一块,即 :: 之后的部分。

$ ibmcloud resource service-instance 'My Awesome Cloud Object Storage'  --id
Retrieving service instance My Awesome Cloud Object Storage in all resource groups under account IBM as ibmuser@us.ibm.com...
crn:v1:bluemix:public:cloud-object-storage:global:a/94400e98c553415c9599db39b9be9219:3b7d66c8-9fdf-4f81-b7e6-08d187f07288:: 8f275e7b-c076-49e2-b9c5-f985704cf678

使用 ibmcloud cos config crn 命令设置 CRN。 它可能会警告您要覆盖。 如果您不想以交互方式提供 CRN,那么可以使用 --crn 标志在同一命令上提供 CRN。

$ ibmcloud cos config crn
Resource Instance ID CRN:  ()> 8f275e7b-c076-49e2-b9c5-f985704cf678
Saving new Service Instance ID...
OK
Successfully stored your service instance ID.

验证配置:

$ ibmcloud cos config crn --list
Key   Value
CRN   8f275e7b-c076-49e2-b9c5-f985704cf678

或者,可以打开基于 Web 的控制台,选择侧边栏中的服务凭证,然后创建一组新的凭证(或查看已创建的现有凭证文件)。

HMAC 凭证

如果需要,可以使用服务标识的 HMAC 凭证来代替 API 密钥。 运行 ibmcloud cos config hmac 来输入 HMAC 凭证,然后使用 ibmcloud cos config auth 切换授权方法。

如果选择使用您自己的 API 密钥进行令牌认证,那么无需提供任何凭证,因为程序会自动对您进行认证。

在任何时候,要在 HMAC 和 IAM 认证之间进行切换,可以输入 ibmcloud cos config auth。 有关 IBM Cloud中的认证和授权的更多信息,请参阅 Identity and Access Management 文档。

在命令行界面中启用跟踪

可以通过将 IBMCLOUD_TRACE 环境变量设置为 true (忽略大小写) 来启用跟踪。 启用跟踪时,会将其他调试信息打印到终端。

在 Linux/macOS 终端上:

export IBMCLOUD_TRACE=true

在 Windows 上提示:

SET IBMCLOUD_TRACE=true

要禁用跟踪,请将 IBMCLOUD_TRACE 环境变量设置为 false (忽略大小写)。

命令索引

每项操作都附有对其功能、使用方法以及任何可选或必填参数的说明。 除非指定为可选,否则列出的任何参数都是必需的。

CLI 插件还不支持 Object Storage 中的全套功能。 CLI 无法使用不可变的 Object Storage、创建 Key Protect 存储桶或存储桶防火墙。

中止分块上传

  • **操作:**通过结束到用户 IBM Cloud Object Storage 帐户中存储区的上传操作,中止分块上传实例。
  • 用法: ibmcloud cos multipart-upload-abort --bucket BUCKET_NAME --key KEY --upload-id ID [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 标识分块上传的上传标识。
      • 标志:--upload-id ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

Aspera 高速传输

在使用 Aspera 高速传输命令之前,必须设置 IBMCLOUD_API_KEY 环境变量。 首次使用时,Aspera SDK 会自动下载。

使用以下方法下载对象 Aspera

  • 操作: 使用 Aspera 高速传输功能从存储桶下载一个对象。
  • 用法: ibmcloud cos aspera-download --bucket BUCKET_NAME --key KEY [--region REGION] [--output FORMAT] [OUTFILE]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 要下载的对象的KEY。
      • 标志:--key KEY
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 可选:下载文件的本地保存路径。 如果未指定,文件将以对象键的文件名保存在默认下载位置。
      • 实参: OUTFILE

示例:

export IBMCLOUD_API_KEY=<your-api-key>
ibmcloud cos aspera-download --bucket my-bucket --key videos/demo.mp4 /tmp/demo.mp4

使用以下方法上传文件或目录:Aspera

  • 操作: 使用 Aspera 高速传输功能,将文件或目录上传到存储桶。
  • 用法: ibmcloud cos aspera-upload --bucket BUCKET_NAME --key KEY [--region REGION] [--output FORMAT] [SRCFILE]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 存储桶中的 KEY(目标对象名称)。
      • 标志:--key KEY
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 可选:要上传的文件或目录的本地路径。
      • 实参: SRCFILE

示例:

export IBMCLOUD_API_KEY=<your-api-key>
ibmcloud cos aspera-upload --bucket my-bucket --key videos/demo.mp4 /tmp/demo.mp4

存储桶生命周期配置

用于在存储桶上配置生命周期策略的设置。

使用 NoncurrentVersionExpiration 或 Expiration.ExpiredObjectDeleteMarker 的生命周期规则仅在存储桶启用了版本控制时才会生效。 在应用这些规则之前,请先通过 bucket-versioning-put 启用版本控制。

在存储区上设置生命周期配置

  • 操作: 为存储桶设置生命周期配置。
  • 用法: ibmcloud cos bucket-lifecycle-configuration-put --bucket BUCKET_NAME --lifecycle-configuration STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 一种采用 JSON 语法的结构。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --lifecycle-configuration file://<filename.json>。

      • 标志:--lifecycle-configuration STRUCTURE

        	{
        	  "Rules": [
        	    {
        	      "ID": "string",
        	      "Status": "Enabled"|"Disabled",
        	      "Filter": {
        	        "Prefix": "string"
        	      },
        	      "Expiration": {
        	        "Days": integer,
        	        "Date": "YYYY-MM-DDTHH:mm:ssZ",
        	        "ExpiredObjectDeleteMarker": true|false
        	      },
        	      "Transitions": [
        	        {
        	          "Days": integer,
        	          "Date": "YYYY-MM-DDTHH:mm:ssZ",
        	          "StorageClass": "string"
        	        }
        	      ],
        	      "NoncurrentVersionExpiration": {
        	        "NoncurrentDays": integer
        	      },
        	      "AbortIncompleteMultipartUpload": {
        	        "DaysAfterInitiation": integer
        	      }
        	    }
        	  ]
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

示例——使用文件:

ibmcloud cos bucket-lifecycle-configuration-put --bucket my-bucket --lifecycle-configuration file://lifecycle.json

示例 — 内联:

ibmcloud cos bucket-lifecycle-configuration-put \
  --bucket my-bucket \
  --lifecycle-configuration '{
    "Rules": [
      {
        "ID": "expire-noncurrent-versions",
        "Status": "Enabled",
        "Filter": { "Prefix": "" },
        "NoncurrentVersionExpiration": {
          "NoncurrentDays": 30
        }
      },
      {
        "ID": "clean-delete-markers",
        "Status": "Enabled",
        "Filter": { "Prefix": "" },
        "Expiration": {
          "ExpiredObjectDeleteMarker": true
        }
      }
    ]
  }' \
  --region us-south

获取存储区的生命周期配置

  • 操作: 获取存储桶的生命周期配置。
  • 用法: ibmcloud cos bucket-lifecycle-configuration-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-lifecycle-configuration-get --bucket my-bucket

从存储区中删除生命周期配置

  • 操作: 从存储桶中删除生命周期配置。
  • 用法: ibmcloud cos bucket-lifecycle-configuration-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-lifecycle-configuration-delete --bucket my-bucket

存储区复制

存储桶复制会持续将对象从源存储桶复制到目标存储桶,目标存储桶可以位于同一区域,也可以位于不同区域。 在设置复制配置之前,必须先在源存储桶上启用版本控制功能,才能进行复制。

放置存储区复制

  • 操作: 为存储桶设置复制配置。
  • 用法: ibmcloud cos bucket-replication-put --bucket BUCKET_NAME --replication-configuration STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 一种采用 JSON 语法的结构。
      • 标志:--replication-configuration STRUCTURE

        	{
        		"Rules": [
        			{
        				"Status": "Enabled",
        				"Priority": 1,
        				"Filter" : { "Prefix": ""},
        				"DeleteMarkerReplication": {
        					"Status": "Disabled"
        				},
        				"Destination": {
        					"Bucket": "DEST-BUCKET-CRN"
        				}
        			}
        		]
        	}
        

示例——使用文件:

ibmcloud cos bucket-replication-put --bucket SOURCE-BUCKET-NAME --replication-configuration file://replication.json

示例 — 内联:

ibmcloud cos bucket-replication-put --bucket SOURCE-BUCKET-NAME \
  --replication-configuration '{
    "Rules": [
      {
        "Status": "Enabled",
        "Priority": 1,
        "Filter": {},
        "DeleteMarkerReplication": { "Status": "Disabled" },
        "Destination": { "Bucket": "DEST-BUCKET-CRN" }
      }
    ]
  }' \
  --region us-south

获取存储区复制

  • 操作: 获取某个存储桶的复制配置。
  • 用法: ibmcloud cos bucket-replication-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-replication-get --bucket SOURCE-BUCKET-NAME

删除存储区复制

  • 操作: 从存储桶中删除复制配置。
  • 用法: ibmcloud cos bucket-replication-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-replication-delete --bucket SOURCE-BUCKET-NAME

列出某个存储桶的列表复制失败情况

  • 操作: 列出某个存储桶的列表复制失败情况。
  • 用法: ibmcloud cos bucket-replication-failures --bucket BUCKET_NAME [--starting-token TOKEN] [--encoding-type METHOD] [--first-sync-attempted-before TIMESTAMP] [--max-keys NUMBER] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:一个用于指定从何处开始显示下一页结果的 TOKEN。
      • 标志:--starting-token TOKEN
    • 可选:请求对响应中的对象键进行编码,并指定要使用的编码方法。
      • 标志:--encoding-type METHOD
    • 可选:将结果过滤为仅包含首次同步尝试发生在给定时间戳(ISO 8601 格式)之前的失败记录。
      • 标志:--first-sync-attempted-before TIMESTAMP
    • 可选:要返回的键的最大数量。
      • 标志:--max-keys NUMBER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-replication-failures --bucket my-bucket

对存储桶中复制失败的对象重新尝试复制

  • 操作: 对存储桶中复制失败的对象重新尝试复制。
  • 用法: ibmcloud cos bucket-replication-reattempt --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-replication-reattempt --bucket my-bucket

存储桶版本控制

在存储桶上启用或暂停版本控制的配置。

在存储区上设置版本控制配置

  • 操作: 为存储桶设置版本控制配置。
  • 用法: ibmcloud cos bucket-versioning-put --bucket BUCKET_NAME --versioning-configuration STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 一个使用 JSON 语法指定版本状态的结构。 Status 的有效值为 Enabled 和 Suspended。

      • 标志:--versioning-configuration STRUCTURE

        	{
        	  "Status": "Enabled"|"Suspended"
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-versioning-put --bucket my-bucket --versioning-configuration '{"Status": "Enabled"}'

获取存储区的版本控制配置

  • 操作: 获取存储桶的版本控制配置。
  • 用法: ibmcloud cos bucket-versioning-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos bucket-versioning-get --bucket my-bucket

完成分块上传

  • **操作:**通过组合当前上传的分块并将组合后的文件上传到用户 IBM Cloud Object Storage 帐户中的存储区,完成分块上传实例。
  • 用法: ibmcloud cos multipart-upload-complete --bucket BUCKET_NAME --key KEY --upload-id ID --multipart-upload STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。

      • 标志:--key KEY
    • 标识分块上传的上传标识。

      • 标志:--upload-id ID
    • 一种采用 JSON 语法的结构。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --multipart-upload file://<filename.json>。

      • 标志:--multipart-upload STRUCTURE

        	{
        		"Parts": [
        			{
        				"ETag": "string",
        				"PartNumber": integer
        			}
        		]
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

配置静态 Web 站点

  • 操作: 配置存储区以托管静态 Web 站点。
  • 用法: ibmcloud cos bucket-website-put --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • JSON 结构形式的 Web 站点配置。 file:// 前缀用于从指定文件 (例如 --website-configuration file://<filename.json>) 装入 JSON 结构。

      • 标志:--website-configuration STRUCTURE

        	{
        		"ErrorDocument": {
        			"Key": "string"
        		},
        		"IndexDocument": {
        			"Suffix": "string"
        		},
        		"RoutingRules": [
        			{
        				"Condition": {
        					"HttpErrorCodeReturnedEquals": "string",
        					"KeyPrefixEquals": "string"
        				},
        				"Redirect": {
        					"HostName": "string",
        					"HttpRedirectCode": "string",
        					"Protocol": "http"|"https",
        					"ReplaceKeyPrefixWith": "string",
        					"ReplaceKeyWith": "string"
        				}
        			}
        		]
        	}
        

        或者,如果将存储区 Web 站点配置为重定向流量,那么它必须是唯一配置的参数:

        	{
        		"RedirectAllRequestsTo": {
        			"HostName": "string",
        			"Protocol": "http"|"https"
        		}
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

配置程序

  • **操作:**配置程序的首选项。
  • 用法: ibmcloud cos config [COMMAND]
  • 命令:
    • 在 HMAC 和 IAM 认证之间进行切换。
      • 命令: auth
    • 将 CRN 存储在配置中。
      • 命令: crn
    • 将缺省下载位置存储在配置中。
      • 命令: ddl
    • 将 HMAC 凭证存储在配置中。
      • 命令: hmac
    • 列出配置。
      • 命令: list
    • 将缺省区域存储在配置中。
      • 命令: region
    • 在“VHost”和“Path URL”样式之间切换。
      • 命令: url-style
    • 设置缺省服务端点。
      • 命令: endpoint-url
        • --list 显示当前缺省服务端点 (如果已设置)。 否则,它将为空。
        • --url some.end.point.url 会将服务端点更改为给定的值。
        • --clear 删除已设置的默认服务端点。URL

从存储区复制对象

如果要在复制期间向对象添加元数据 (使用 --metadata 功能部件),那么必须添加属性 --metadata-directive REPLACE,因为缺省情况下在操作期间复制了元数据 (隐式 --metadata-directive COPY)。

  • **操作:**将对象从源存储区复制到目标存储区。
  • 用法: ibmcloud cos object-copy --bucket BUCKET_NAME --key KEY --copy-source SOURCE [--cache-control CACHING_DIRECTIVES] [--content-disposition DIRECTIVES] [--content-encoding CONTENT_ENCODING] [--content-language LANGUAGE] [--content-type MIME] [--copy-source-if-match ETAG] [--copy-source-if-modified-since TIMESTAMP] [--copy-source-if-none-match ETAG] [--copy-source-if-unmodified-since TIMESTAMP] [--metadata MAP] [--metadata-directive DIRECTIVE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 目标存储桶的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • (源) 源存储桶的名称和源对象的键名,两者之间用斜杠 (/) 分隔。必须采用 URL 编码。
      • 标志:--copy-source SOURCE
    • 可选:为请求和响应链指定 CACHING_DIRECTIVES。
      • 标志:--cache-control CACHING_DIRECTIVES
    • 可选:指定呈现信息(DIRECTIVES )。
      • 标志:--content-disposition DIRECTIVES
    • 可选:指定应用于该对象的内容编码(CONTENT_ENCODING),从而确定必须采用哪些解码机制才能获得由 Content-Type 报头字段引用的媒体类型。
      • 标志:--content-encoding CONTENT_ENCODING
    • 可选:内容的语言。
      • 标志:--content-language LANGUAGE
    • 可选:描述对象数据格式的标准 MIME 类型。
      • 标志:--content-type MIME
    • 可选:如果对象的实体标签(Etag )与指定的标签(ETAG )匹配,则复制该对象。
      • 标志:--copy-source-if-match ETAG
    • 可选:如果对象自指定时间(TIMESTAMP)以来已被修改,则复制该对象。
      • 标志:--copy-source-if-modified-since TIMESTAMP
    • 可选:如果对象的实体标签(ETag )与指定的标签(ETAG )不同,则复制该对象。
      • 标志:--copy-source-if-none-match ETAG
    • 可选:如果对象自指定时间(TIMESTAMP)以来未被修改,则复制该对象。
      • 标志:--copy-source-if-unmodified-since TIMESTAMP
    • 可选:要存储的元数据映射(MAP)。 可以使用前缀 file:// 从文件中加载 JSON 结构。
      • 标志:--metadata MAP
    • 可选:指定是否从源对象复制元数据,还是用请求中提供的元数据替换源对象的元数据。 DIRECTIVE 值:COPY 或 REPLACE。
      • 标志:--metadata-directive DIRECTIVE
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

--metadata MAP 的元数据 JSON 结构示例:

{
	"file_name": "file_20xxxxxxxxxxxx45.zip",
	"label": "texas",
	"state": "Texas",
	"Date_to": "2019-11-09T16:00:00.000Z",
	"Sha256sum": "9e39dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ce6b68ede3a47",
	"Timestamp": "Thu, 17 Oct 2019 09:22:13 GMT"
}

创建新存储区

  • **操作:**在 IBM Cloud Object Storage 实例中创建存储区。
  • 用法: ibmcloud cos bucket-create --bucket BUCKET_NAME [--class CLASS_NAME][--class onerate_active] [--ibm-service-instance-id ID] [--region REGION] [--output FORMAT]
    • 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用 ibmcloud cos config crn 命令进行设置。
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:类的名称。
      • 标志:--class CLASS_NAME
    • 用户必须在创建水桶时指定 onerate_active。
      • 标志:--class onerate_active
    • 可选:在请求中设置 IBM 服务实例ID。
      • 标志:--ibm-service-instance-id ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

创建一个带有 Key Protect的新邮筒

  • 操作: 在 IBM Cloud Object Storage 实例中使用 Key Protect 创建一个存储桶。
  • 用法: ibmcloud cos bucket-create --bucket BUCKET_NAME [--ibm-service-instance-id ID] [--class CLASS_NAME] [--region REGION] --kms-root-key-crn CUSTOMERROOTKEYCRN --kms-encryption-algorithm ALGORITHM [--output FORMAT] [--json]
    • 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用 ibmcloud cos config crn 命令进行设置。
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 用于与存储桶关联以进行数据加密的 KMS 根密钥的 CUSTOMERROOTKEYCRN。
      • 标志:--kms-root-key-crn CUSTOMERROOTKEYCRN
    • 可选:与使用“密钥保护”功能存储的加密密钥配合使用的 ALGORITHM 和 SIZE。
      • 标志:--kms-encryption-algorithm ALGORITHM
    • 可选:类的名称。
      • 标志:--class CLASS_NAME
    • 可选:在请求中设置 IBM 服务实例ID。
      • 标志:--ibm-service-instance-id ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • (已弃用):以原始 JSON 格式返回结果。
      • 标志:--json

示例:

ibmcloud cos bucket-create --bucket bucket-name --kms-root-key-crn crn:v1:staging:public:kms:us-south:a/9978e0xxxxxxxxxxxxxxxxxxxxxx8654:dfdxxxxx-xxxx-xxxx-xxxx-xxxxxxba6eb0:key:7cea005e-75d4-4a08-ad2f-5e56141f6a96 --kms-encryption-algorithm AES256

使用 Hyper Protect Crypto Services 创建新存储区

  • 操作: 使用 Hyper Protect Crypto Services创建新存储区。
  • 用法: ibmcloud cos bucket-create --bucket BUCKET_NAME [--ibm-service-instance-id ID] [--class CLASS_NAME] [--region REGION] --kms-root-key-crn CUSTOMERROOTKEYCRN --kms-encryption-algorithm ALGORITHM [--output FORMAT] [--json]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 用于与存储桶关联以进行数据加密的 KMS 根密钥的 CUSTOMERROOTKEYCRN。
      • 标志:--kms-root-key-crn CUSTOMERROOTKEYCRN
    • 可选:与使用“密钥保护”功能存储的加密密钥配合使用的 ALGORITHM 和 SIZE。
      • 标志:--kms-encryption-algorithm ALGORITHM
    • 可选:类的名称。
      • 标志:--class CLASS_NAME
    • 可选:在请求中设置 IBM 服务实例ID。
      • 标志:--ibm-service-instance-id ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • (已弃用):以原始 JSON 格式返回结果。
      • 标志:--json

示例:

ibmcloud cos bucket-create --bucket bucket-name --kms-root-key-crn crn:v1:bluemix:public:hs-crypto:us-south:a/ee747e4xxxxxxxxxxxxxxxxxxxxxx7559:ac6xxxxx-xxxx-xxxx-xxxx-xxxxxx1bea99:key:e7451f36-d7ea-4f55-bc1c-ce4bcceb7018

创建新的分块上传

  • **操作:**通过创建新的分块上传实例来启动分块文件上传过程。
  • 用法: ibmcloud cos multipart-upload-create --bucket BUCKET_NAME --key KEY [--cache-control CACHING_DIRECTIVES] [--content-disposition DIRECTIVES] [--content-encoding CONTENT_ENCODING] [--content-language LANGUAGE] [--content-type MIME] [--metadata MAP] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。

      • 标志:--key KEY
    • 可选:为请求和响应链指定 CACHING_DIRECTIVES。

      • 标志:--cache-control CACHING_DIRECTIVES
    • 可选:指定呈现信息(DIRECTIVES )。

      • 标志:--content-disposition DIRECTIVES
    • 可选:指定对象的内容编码(CONTENT_ENCODING )。

      • 标志:--content-encoding CONTENT_ENCODING
    • 可选:内容的语言。

      • 标志:--content-language LANGUAGE
    • 可选:描述对象数据格式的标准 MIME 类型。

      • 标志:--content-type MIME
    • 可选:要存储的元数据映射(MAP)。 可以使用前缀 file:// 从文件中加载 JSON 结构。

      • 标志:--metadata MAP

        	{
        		"file_name": "file_20xxxxxxxxxxxx45.zip",
        		"label": "texas",
        		"state": "Texas",
        		"Date_to": "2019-11-09T16:00:00.000Z",
        		"Sha256sum": "9e39dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ce6b68ede3a47",
        		"Timestamp": "Thu, 17 Oct 2019 09:22:13 GMT"
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

删除静态 Web 站点配置

  • 操作: 除去存储区的静态 Web 站点配置。
  • 用法: ibmcloud cos bucket-website-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

删除现有存储区

  • **操作:**删除 IBM Cloud Object Storage 实例中的现有存储区。
  • 用法: ibmcloud cos bucket-delete --bucket BUCKET_NAME [--region REGION] [--force] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:该操作不会要求确认。
      • 标志:--force
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

删除一个对象

  • **操作:**从用户 IBM Cloud Object Storage 帐户的存储区中删除一个对象。
  • 用法: ibmcloud cos object-delete --bucket BUCKET_NAME --key KEY [--region REGION] [--force] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:该操作不会要求确认。
      • 标志:--force
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

删除存储区 CORS

  • **操作:**删除用户 IBM Cloud Object Storage 帐户中存储区上的 CORS 配置。
  • 用法: ibmcloud cos bucket-cors-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

删除多个对象

  • **操作:**从用户 IBM Cloud Object Storage 帐户的存储区中删除多个对象。
  • 用法: ibmcloud cos objects-delete --bucket BUCKET_NAME --delete STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 一种采用 JSON 语法的结构。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --delete file://<filename.json>。

      • 标志:--delete STRUCTURE

        	{
        		"Objects": [
        			{
        				"Key": "string",
        				"VersionId": "string"
        			}
        		],
        		"Quiet": true|false
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

下载对象

  • **操作:**从用户 IBM Cloud Object Storage 帐户的存储区下载对象。
  • 用法: ibmcloud cos object-get --bucket BUCKET_NAME --key KEY [--if-match ETAG] [--if-modified-since TIMESTAMP] [--if-none-match ETAG] [--if-unmodified-since TIMESTAMP] [--range RANGE] [--response-cache-control HEADER] [--response-content-disposition HEADER] [--response-content-encoding HEADER] [--response-content-language HEADER] [--response-content-type HEADER] [--response-expires HEADER] [--region REGION] [--output FORMAT] [OUTFILE]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 相同时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来已被修改时才返回该对象,否则返回304(未修改)。
      • 标志:--if-modified-since TIMESTAMP
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 不同时才返回该对象,否则返回 304(未修改)。
      • 标志:--if-none-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来未被修改时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-unmodified-since TIMESTAMP
    • 可选:下载对象中指定的 RANGE 字节。
      • 标志:--range RANGE
    • 可选:设置响应的 Cache-Control 标头。
      • 标志:--response-cache-control HEADER
    • 可选:设置响应的 Content-Disposition 标头。
      • 标志:--response-content-disposition HEADER
    • 可选:设置响应的 Content-Encoding 标头。
      • 标志:--response-content-encoding HEADER
    • 可选:设置响应的 Content-Language 标头。
      • 标志:--response-content-language HEADER
    • 可选:设置响应的 Content-Type 标头。
      • 标志:--response-content-type HEADER
    • 可选:设置响应的 Expires 标头。
      • 标志:--response-expires HEADER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 可选:保存对象内容的位置。 如果未提供此参数,程序将使用缺省位置。
      • 参数:OUTFILE

使用以下方法下载对象 S3Manager

  • **操作:**以并行方式从 S3 下载对象。
  • 用法: ibmcloud cos download --bucket BUCKET_NAME --key KEY [--concurrency value] [--part-size SIZE] [--if-match ETAG] [--if-modified-since TIMESTAMP] [--if-none-match ETAG] [--if-unmodified-since TIMESTAMP] [--range RANGE] [--response-cache-control HEADER] [--response-content-disposition HEADER] [--response-content-encoding HEADER] [--response-content-language HEADER] [--response-content-type HEADER] [--response-expires HEADER] [--region REGION] [--output FORMAT] [OUTFILE]
  • 要提供的参数:
    • 存储区的名称 (BUCKET_NAME)。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:在分段下载时,每次调用下载操作时并行启动的 go 例程数量。 缺省值为 5。
      • 标志:--concurrency value
    • 可选:将数据分块缓冲并作为数据包发送至 S3 时所使用的缓冲区大小(以字节为单位)。 允许的最小分块大小为 5 MB。
      • 标志:--part-size SIZE
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 相同时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来已被修改时才返回该对象,否则返回304(未修改)。
      • 标志:--if-modified-since TIMESTAMP
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 不同时才返回该对象,否则返回 304(未修改)。
      • 标志:--if-none-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来未被修改时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-unmodified-since TIMESTAMP
    • 可选:下载对象中指定的 RANGE 字节。 有关 HTTP 范围标头的更多信息,请参阅《 HTTP 范围标头规范》。
      • 标志:--range RANGE
    • 可选:设置响应的 Cache-Control 标头。
      • 标志:--response-cache-control HEADER
    • 可选:设置响应的 Content-Disposition 标头。
      • 标志:--response-content-disposition HEADER
    • 可选:设置响应的 Content-Encoding 标头。
      • 标志:--response-content-encoding HEADER
    • 可选:设置响应的 Content-Language 标头。
      • 标志:--response-content-language HEADER
    • 可选:设置响应的 Content-Type 标头。
      • 标志:--response-content-type HEADER
    • 可选:设置响应的 Expires 标头。
      • 标志:--response-expires HEADER
    • 可选:存储桶所在的区域。 如果未提供此标志,那么程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 可选:保存对象内容的位置。 如果未提供此参数,程序将使用缺省位置。
      • 参数:OUTFILE

端点

  • 操作: 列出某个区域的“S3”端点 URL。
  • 用法: ibmcloud cos endpoints [--region REGION] [--list-regions] [--output FORMAT]
  • 要提供的参数:
    • 可选:显示指定 REGION 的端点 URL。
      • 标志:--region REGION
    • 可选:显示所有可用区域的列表,而不是端点 URL。
      • 标志:--list-regions
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例——显示某个区域的端点:

ibmcloud cos endpoints --region us-south

示例 — 列出所有可用区域:

ibmcloud cos endpoints --list-regions

查找存储区

  • **操作:**确定 IBM Cloud Object Storage 实例中存储区的区域和类。
  • 用法: ibmcloud cos bucket-location-get --bucket BUCKET_NAME [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

获取存储区的类

  • **操作:**确定 IBM Cloud Object Storage 实例中存储区的类。
  • 用法: ibmcloud cos bucket-class-get --bucket BUCKET_NAME [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

获取存储区的头

  • **操作:**确定某个存储区在 IBM Cloud Object Storage 实例中是否存在。
  • 用法: ibmcloud cos bucket-head --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

获取静态 Web 站点配置

  • 操作: 获取存储区的静态 Web 站点配置。
  • 用法: ibmcloud cos bucket-website-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

获取对象的头

  • **操作:**确定某个文件在用户 IBM Cloud Object Storage 帐户的存储区中是否存在。
  • 用法: ibmcloud cos object-head --bucket BUCKET_NAME --key KEY [--if-match ETAG] [--if-modified-since TIMESTAMP] [--if-none-match ETAG] [--if-unmodified-since TIMESTAMP] [--range RANGE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 相同时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来已被修改时才返回该对象,否则返回304(未修改)。
      • 标志:--if-modified-since TIMESTAMP
    • 可选:仅当该对象的实体标签(ETag )与指定的 ETAG 不同时才返回该对象,否则返回 304(未修改)。
      • 标志:--if-none-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来未被修改时才返回该对象,否则返回412(先决条件未满足)。
      • 标志:--if-unmodified-since TIMESTAMP
    • 可选:下载对象中指定的 RANGE 字节。
      • 标志:--range RANGE
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

获取存储区 CORS

  • **操作:**返回用户 IBM Cloud Object Storage 帐户中存储区的 CORS 配置。
  • 用法: ibmcloud cos bucket-cors-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

列出所有存储区

  • **操作:**显示用户 IBM Cloud Object Storage 帐户中所有存储区的列表。 存储区可能位于不同的区域中。
  • 用法: ibmcloud cos buckets [--ibm-service-instance-id ID] [--output FORMAT]
    • 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用 ibmcloud cos config crn 命令进行设置。
  • 要提供的参数:
    • 没有要提供的参数。
    • 可选:在请求中设置 IBM 服务实例ID。
      • 标志:--ibm-service-instance-id
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

扩展存储区列示

  • **操作:**显示用户 IBM Cloud Object Storage 帐户中所有存储区的列表。 存储区可能位于不同的区域中。
  • 用法: ibmcloud cos buckets-extended [--ibm-service-instance-id ID] [--marker KEY] [--prefix PREFIX] [--page-size SIZE] [--max-items NUMBER] [--output FORMAT]
    • 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用 ibmcloud cos config crn 命令进行设置。
  • 要提供的参数:
    • 没有要提供的参数。
    • 可选:在请求中设置 IBM 服务实例ID。
      • 标志:--ibm-service-instance-id
    • 可选:指定在列出桶中的对象时从哪个 KEY 开始。
      • 标志:--marker KEY
    • 可选:将响应限制为以指定的 PREFIX 开头的键。
      • 标志:--prefix PREFIX
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这可帮助防止服务调用超时。
      • 标志:--page-size SIZE
    • 可选:命令输出中要返回的项目总数。
      • 标志:--max-items NUMBER
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

列出进行中的分块上传

  • **操作:**列出进行中的分块上传。
  • 用法: ibmcloud cos multipart-uploads --bucket BUCKET_NAME [--delimiter DELIMITER] [--encoding-type METHOD] [--prefix PREFIX] [--key-marker value] [--upload-id-marker value] [--page-size SIZE] [--max-items NUMBER] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:分隔符(DELIMITER)是用于将键分组的字符。
      • 标志:--delimiter DELIMITER
    • 可选:请求对响应中的对象键进行编码,并指定要使用的编码方法。
      • 标志:--encoding-type METHOD
    • 可选:将响应限制为以指定的 PREFIX 开头的键。
      • 标志:--prefix PREFIX
    • 可选:与 upload-id-marker 配合使用时,此参数用于指定从哪个多部分上传开始显示列表。
      • 标志:--key-marker value
    • 可选:与 key-marker 配合使用,指定多部分上传结束后应从何处开始列出。 如果未指定 key-marker,那么将忽略 upload-id-marker 参数。
      • 标志:--upload-id-marker value
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)。
      • 标志:--page-size SIZE
    • 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的 starting-token 参数中指定 NextToken 值。(默认值:0)。
      • 标志:--max-items NUMBER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

列出对象版本

  • 操作: 列出特定存储桶中的所有对象版本。
  • 用法: ibmcloud cos object-versions --bucket BUCKET_NAME [--delimiter DELIMITER] [--encoding-type METHOD] [--key-marker KEY] [--max-items NUMBER] [--prefix PREFIX] [--version-id-marker VERSION_ID] [--page-size SIZE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:分隔符(DELIMITER)是用于将键分组的一个字符。
      • 标志:--delimiter DELIMITER
    • 可选:请求对响应中的对象键进行编码,并指定要使用的编码方法。
      • 标志:--encoding-type METHOD
    • 可选:指定从哪个 KEY 开始列出版本。 对象版本按字母顺序排列,从指定键之后立即开始。
      • 标志:--key-marker KEY
    • 可选:命令输出中要返回的项目总数。 如果可用项的总数超过指定值,则输出中会提供一个 NextKeyMarker。 要恢复分页,请在后续命令的 --key-marker 参数中指定 NextKeyMarker 值。(默认值:0)
      • 标志:--max-items NUMBER
    • 可选:将响应限制为以指定的 PREFIX 开头的键。
      • 标志:--prefix PREFIX
    • 可选:指定开始列出对象版本的版本 ID。 与 --key-marker 配合使用,用于分页。
      • 标志:--version-id-marker VERSION_ID
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对该服务的调用次数增加。(默认值:1000)
      • 标志:--page-size SIZE
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-versions --bucket my-bucket --prefix logs/

列出对象

  • **操作:**列出用户 IBM Cloud Object Storage 帐户的存储区中存在的文件。 此操作当前限制为只能列出 1000 个最近创建的对象,并且无法对这些对象进行过滤。
  • 用法: ibmcloud cos objects --bucket BUCKET_NAME [--delimiter DELIMITER] [--encoding-type METHOD] [--prefix PREFIX] [--starting-token TOKEN] [--page-size SIZE] [--max-items NUMBER] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:分隔符(DELIMITER)是用于将键分组的字符。
      • 标志:--delimiter DELIMITER
    • 可选:请求对响应中的对象键进行编码,并指定要使用的编码方法。
      • 标志:--encoding-type METHOD
    • 可选:将响应限制为以指定的 PREFIX 开头的键。
      • 标志:--prefix PREFIX
    • 可选:一个 TOKEN,用于指定分页的起始位置。 这是先前截断的响应中的 NextToken。
      • 标志:--starting-token TOKEN
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
      • 标志:--page-size SIZE
    • 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的 starting-token 参数中提供 NextToken 值。(默认值:0)
      • 标志:--max-items NUMBER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

列示对象 v2

  • 操作: 列出特定存储桶中的所有对象。
  • 用法: ibmcloud cos list-objects-v2 --bucket BUCKET_NAME [--starting-token Starting Token] [--delimiter DELIMITER] [--encoding-type METHOD] [--fetch-owner Boolean] [--max-items NUMBER] [--prefix PREFIX] [--start-after Start After] [--page-size SIZE] [--region REGION] [--output FORMAT] [--json]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:分隔符(DELIMITER)是用于将键分组的字符。
      • 标志:--delimiter DELIMITER
    • 可选:请求对响应中的对象键进行编码,并指定要使用的编码方法。
      • 标志:--encoding-type METHOD
    • 可选:将响应限制为以指定的 PREFIX 开头的键。
      • 标志:--prefix PREFIX
    • 可选:一个 TOKEN,用于指定分页的起始位置。 这是先前截断的响应中的 NextToken。
      • 标志:--starting-token TOKEN
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
      • 标志:--page-size SIZE
    • 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的 starting-token 参数中提供 NextToken 值。(默认值:0)
      • 标志:--max-items NUMBER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT
    • 可选:默认情况下,listV2 中不包含该布尔值;若希望在结果中的每个键旁返回所有者字段,请将“获取所有者字段”设置为 true。
      • 标志:--fetch-owner Boolean
    • 可选:在“从...开始”处,指定 S3 从该处开始列出。 S3 在此指定键之后开始列示。 StartAfter 可以是存储区中的任何键。
      • 标志:--start-after Start After
    • 已弃用:输出结果以原始 JSON 格式返回。
      • 标志:--json

列出分块

  • **操作:**显示有关正在进行的分块上传实例的信息。
  • 用法: ibmcloud cos parts --bucket BUCKET_NAME --key KEY --upload-id ID --part-number-marker VALUE [--page-size SIZE] [--max-items NUMBER] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 标识分块上传的上传标识。
      • 标志:--upload-id ID
    • 列表起始位置的分块号值(缺省值:1)
      • 标志:--part-number-marker VALUE
    • 可选:在服务调用中获取的每页的 SIZE。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
      • 标志:--page-size SIZE
    • 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的 starting-token 参数中提供 NextToken 值。(默认值:0)
      • 标志:--max-items NUMBER
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

手动控制分块上传

IBM Cloud Object Storage CLI 允许用户利用 AWS 中的多部分上传功能,将大文件分多部分上传。 要启动新的多部分上传,请运行 multipart-upload-create 命令,该命令将返回新上传实例的上传ID。 要继续上传过程,必须保存上传标识以用于每个后续命令。 该命令要求您生成 MD5 哈希值:

{object data} | openssl dgst -md5 -binary | openssl enc -base64

运行 multipart-upload-complete 命令后,针对要上载的每个文件部件运行 part-upload。 对于分段上传,每个文件段(最后一个文件段除外)的大小必须至少为 5 MB。 要将文件拆分为单独的分块,可以在终端窗口中运行 split。 例如,如果在桌面上有一个名为 TESTFILE 的 13 MB 文件,并且您希望将其拆分成多个文件分块,每个分块 5 MB,那么可以运行 split -b 3m ~/Desktop/TESTFILE part-file-。 此命令会生成三个文件分块,其中两个文件分块各自为 5 MB,另一个文件分块为 3 MB,名称分别为 part-file-aa、part-file-ab 和 part-file-ac。

随着每个文件部分的上传,CLI 会打印其 ETag。 您必须将此链接 ETag 与零件编号一起保存为格式化的 JSON 文件。 使用以下模板可创建您自己的 ETag JSON 数据文件。

{
  "Parts": [
    {
      "PartNumber": 1,
      "ETag": "The ETag of the first file part goes here."
    },
    {
      "PartNumber": 2,
      "ETag": "The ETag of the second file part goes here."
    }
  ]
}

根据需要,向此 JSON 模板添加更多条目。

要查看多部分上传实例的状态,您可以随时运行 part-list 命令,并提供存储桶名称、键和上传ID。 此处将打印有关您的多部分上传实例的原始信息。 完成每个文件部分的上传后,请使用必要的参数运行 multipart-upload-complete 命令。 如果一切顺利,您会收到确认消息,指示文件已成功上传到所需存储区。

上传部件

  • **操作:**在现有分块上传实例中上传文件的分块。
  • 用法: ibmcloud cos part-upload --bucket BUCKET_NAME --key KEY --upload-id ID --part-number NUMBER [--body FILE_PATH] [--region REGION] [--output FORMAT]
    • 请注意,您必须将每个上传文件分片的编号以及 ETag (CLI会为您打印该值)保存到一个JSON文件中。 有关更多信息,请参阅下面的“分块上传指南”。
  • 要提供的参数:
    • 将执行分块上传的存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 标识分块上传的上传标识。
      • 标志:--upload-id ID
    • 要上传的分块的分块号 (NUMBER)。 这是一个介于 1 到 10,000 之间的正整数。(默认值:1)
      • 标志:--part-number NUMBER
    • 可选:对象数据位置(FILE_PATH )。
      • 标志:--body FILE_PATH
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

上传分块副本

  • **操作:**通过从现有对象复制数据来上传分块。
  • 用法: ibmcloud cos part-upload-copy --bucket BUCKET_NAME --key KEY --upload-id ID --part-number NUMBER --copy-source SOURCE [--copy-source-if-match ETAG] [--copy-source-if-modified-since TIMESTAMP] [--copy-source-if-none-match ETAG] [--copy-source-if-unmodified-since TIMESTAMP] [--copy-source-range value] [--region REGION] [--output FORMAT]
    • 请注意,您必须将每个上传文件分片的编号以及 ETag (CLI会为您打印该值)保存到一个JSON文件中。 有关更多信息,请参阅“分块上传指南”。
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 标识分块上传的上传标识。
      • 标志:--upload-id ID
    • 要上传的分块的分块号 (NUMBER)。 这是 1 到 10,000 之间的正整数。
      • 标志:--part-number PART_NUMBER
    • (源) 源存储桶的名称和源对象的键名,两者之间用斜杠 (/) 分隔。必须采用 URL 编码。
      • 标志:--copy-source SOURCE
    • 可选:如果对象的实体标签(Etag )与指定的标签(ETAG )匹配,则复制该对象。
      • 标志:--copy-source-if-match ETAG
    • 可选:如果对象自指定时间(TIMESTAMP)以来已被修改,则复制该对象。
      • 标志:--copy-source-if-modified-since TIMESTAMP
    • 可选:如果对象的实体标签(ETag )与指定的标签(ETAG )不同,则复制该对象。
      • 标志:--copy-source-if-none-match ETAG
    • 可选:如果对象自指定时间(TIMESTAMP)以来未被修改,则复制该对象。
      • 标志:--copy-source-if-unmodified-since TIMESTAMP
    • 可选:要从源对象复制字节的范围。 范围值必须使用格式 bytes=first-last,其中 first 和 last 是要复制的基于零的字节偏移量。 例如,bytes=0-9 指示要复制源的前 10 个字节。 仅当源对象大于 5 MB 时,才能复制范围。
      • 标志:--copy-source-range value
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

对象锁定配置

放置对象锁定配置

在缺省情况下,不能同时提供“天数”和“年数”。

  • 操作: 为存储桶设置对象锁配置。
  • 用法: ibmcloud cos object-lock-configuration-put --bucket BUCKET_NAME [--object-lock-configuration STRUCTURE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 一种采用 JSON 语法的结构。 请参阅 IBM Cloud 文档。
      • 标志:--object-lock-configuration STRUCTURE

        	{
        	"ObjectLockEnabled": "Enabled",
        	"Rule": {
        		"DefaultRetention": {
        		"Mode": "COMPLIANCE",
        		"Days": integer,
        		"Years": integer
        		}
        	}
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-lock-configuration-put --bucket bucket-name --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 30 }}}'

获取对象锁定配置

  • 操作: 获取存储桶的对象锁配置。
  • 用法: ibmcloud cos object-lock-configuration-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-lock-configuration-get --bucket bucket-name --region us-south

示例响应:

{
	"ObjectLockEnabled": "Enabled",
	"Rule": {
		"DefaultRetention": {
			"Mode": "COMPLIANCE",
			"Days": integer,
			"Years": integer
		}
	}
}

对象保留时间

放置对象保留时间

  • 操作: 为对象设置保留策略。
  • 用法: ibmcloud cos object-retention-put --bucket BUCKET_NAME --key KEY [--retention STRUCTURE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 一种采用 JSON 语法的结构。 请参阅 IBM Cloud 文档。
      • 标志:--retention STRUCTURE

        	{
        	  "Mode": "COMPLIANCE",
        	  "RetainUntilDate": timestamp
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-retention-put --bucket bucket-name --key file-name.txt --retention '{ "Mode": "COMPLIANCE", "RetainUntilDate": "2024-02-02T00:00:00"}'

获取对象保留时间

  • 操作: 获取对象的保留状态。
  • 用法: ibmcloud cos object-retention-get --bucket BUCKET_NAME --key KEY [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-retention-get --bucket bucket-name --key file-name.txt --region us-south

示例响应:

{
	"Retention": {
		"Mode": "COMPLIANCE",
		"RetainUntilDate": "2024-02-02T00:00:00.000Z"
	}
}

对象标记

用于管理对象标签的设置。

在对象上设置标记

  • 操作: 为对象设置标签。
  • 用法: ibmcloud cos object-tagging-put --bucket BUCKET_NAME --key KEY --tagging STRUCTURE [--version-id VERSION_ID] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。

      • 标志:--key KEY
    • 一个使用 JSON 语法且包含该标签集的结构。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --tagging file://<filename.json>。

      • 标志:--tagging STRUCTURE

        	{
        	  "TagSet": [
        	    {
        	      "Key": "string",
        	      "Value": "string"
        	    }
        	  ]
        	}
        
    • 可选:要标记的对象的 VERSION_ID。 如果未指定,则会标记为当前版本。

      • 标志:--version-id VERSION_ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

示例:

ibmcloud cos object-tagging-put --bucket my-bucket --key my-object.txt --tagging '{"TagSet": [{"Key": "env", "Value": "production"}]}'

获取对象的标记

  • 操作: 获取对象的标签。
  • 用法: ibmcloud cos object-tagging-get --bucket BUCKET_NAME --key KEY [--version-id VERSION_ID] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:要为其检索标签的特定对象版本的 VERSION_ID。
      • 标志:--version-id VERSION_ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-tagging-get --bucket my-bucket --key my-object.txt

从对象中除去标记

  • 操作: 从对象中移除标签。
  • 用法: ibmcloud cos object-tagging-delete --bucket BUCKET_NAME --key KEY [--version-id VERSION_ID] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:要从中删除标签的特定对象版本的 VERSION_ID。
      • 标志:--version-id VERSION_ID
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos object-tagging-delete --bucket my-bucket --key my-object.txt

公共访问块配置

用于管理存储桶中公共访问块配置的设置。

在存储区上设置公共访问块配置

  • 操作: 为存储桶设置公共访问限制配置。
  • 用法: ibmcloud cos public-access-block-put --bucket BUCKET_NAME --public-access-block-configuration STRUCTURE [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 一种采用 JSON 语法的结构。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --public-access-block-configuration file://<filename.json>。

      • 标志:--public-access-block-configuration STRUCTURE

        	{
        	  "BlockPublicAcls": true|false,
        	  "IgnorePublicAcls": true|false,
        	  "BlockPublicPolicy": true|false,
        	  "RestrictPublicBuckets": true|false
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

示例:

ibmcloud cos public-access-block-put --bucket my-bucket --public-access-block-configuration '{"BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true}'

获取存储区上的公共访问块配置

  • 操作: 获取存储桶的公共访问块配置。
  • 用法: ibmcloud cos public-access-block-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos public-access-block-get --bucket my-bucket

从存储区中除去公共访问块配置

  • 操作: 从存储桶中删除公共访问阻止配置。
  • 用法: ibmcloud cos public-access-block-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。
      • 标志:--output FORMAT

示例:

ibmcloud cos public-access-block-delete --bucket my-bucket

放置对象

  • **操作:**将对象上传到用户 IBM Cloud Object Storage 帐户的存储区。
  • 用法: ibmcloud cos object-put --bucket BUCKET_NAME --key KEY [--body FILE_PATH] [--cache-control CACHING_DIRECTIVES] [--content-disposition DIRECTIVES] [--content-encoding CONTENT_ENCODING] [--content-language LANGUAGE] [--content-length SIZE] [--content-md5 MD5] [--content-type MIME] [--metadata MAP] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。

      • 标志:--key KEY
    • 可选:对象数据位置(FILE_PATH )。

      • 标志:--body FILE_PATH
    • 可选:为请求和响应链指定 CACHING_DIRECTIVES。

      • 标志:--cache-control CACHING_DIRECTIVES
    • 可选:指定呈现信息(DIRECTIVES )。

      • 标志:--content-disposition DIRECTIVES
    • 可选:指定对象的内容编码(CONTENT_ENCODING )。

      • 标志:--content-encoding CONTENT_ENCODING
    • 可选:内容的语言。

      • 标志:--content-language LANGUAGE
    • 可选:正文的大小(以字节为单位)。 当无法自动确定正文大小时,此参数非常有用。(默认值:0)

      • 标志:--content-length SIZE
    • 可选:数据的 base64-encoded 128位 MD5 摘要。

      • 标志:--content-md5 MD5
    • 可选:描述对象数据格式的标准 MIME 类型。

      • 标志:--content-type MIME
    • 可选:要存储的元数据映射(MAP)。 可以使用前缀 file:// 从文件中加载 JSON 结构。

      • 标志:--metadata MAP

        	{
        		"file_name": "file_20xxxxxxxxxxxx45.zip",
        		"label": "texas",
        		"state": "Texas",
        		"Date_to": "2019-11-09T16:00:00.000Z",
        		"Sha256sum": "9e39dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ce6b68ede3a47",
        		"Timestamp": "Thu, 17 Oct 2019 09:22:13 GMT"
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

使用以下方式上传对象 S3Manager

  • 操作: 同时将对象上载到 COS。
  • 用法: ibmcloud cos upload --bucket BUCKET_NAME --key KEY --file PATH [--concurrency value] [--max-upload-parts PARTS] [--part-size SIZE] [--leave-parts-on-errors] [--cache-control CACHING_DIRECTIVES] [--content-disposition DIRECTIVES] [--content-encoding CONTENT_ENCODING] [--content-language LANGUAGE] [--content-length SIZE] [--content-md5 MD5] [--content-type MIME] [--metadata MAP] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称 (BUCKET_NAME)。

      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。

      • 标志:--key KEY
    • 要上传的文件的路径 (PATH)。

      • 标志:--file PATH
    • 可选:在发送分片时,每次调用 Upload 时并行启动的 go 例程数量。 缺省值为 5。

      • 标志:--concurrency value
    • 可选:将上传至 S3 的“部件”最大数量,该网站用于计算待上传对象的部件尺寸。 限制为 10,000 个分块。

      • 标志:--max-upload-parts PARTS
    • 可选:将数据分块缓冲并作为数据包发送至 S3 时所使用的缓冲区大小(以字节为单位)。 允许的最小分块大小为 5 MB。

      • 标志:--part-size SIZE
    • 可选:将此值设置为 true 时,SDK 在发生错误时将不会调用 AbortMultipartUpload,而是将所有成功上传的片段保留在 S3 上,以便手动恢复。

      • 标志:--leave-parts-on-errors
    • 可选:为请求/响应链指定 CACHING_DIRECTIVES。

      • 标志:--cache-control CACHING_DIRECTIVES
    • 可选:指定呈现信息(DIRECTIVES)。

      • 标志:--content-disposition DIRECTIVES
    • 可选:指定已对该对象应用了哪些内容编码(CONTENT_ENCODING),从而确定必须采用哪些解码机制才能获得由 Content-Type 报头字段引用的媒体类型。

      • 标志:--content-encoding CONTENT_ENCODING
    • 可选:内容的语言。

      • 标志:--content-language LANGUAGE
    • 可选:正文的大小(以字节为单位)。 在无法自动确定主体的大小时,此参数非常有用。

      • 标志:--content-length SIZE
    • 可选:数据的 base64-encoded 128位 MD5 摘要。

      • 标志:--content-md5 MD5
    • 可选:描述对象数据格式的标准 MIME 类型。

      • 标志:--content-type MIME
    • 可选:要存储的元数据映射(MAP)。 可以使用前缀 file:// 从文件中加载 JSON 结构。

      • 标志:--metadata MAP

        	{
        		"file_name": "file_20xxxxxxxxxxxx45.zip",
        		"label": "texas",
        		"state": "Texas",
        		"Date_to": "2019-11-09T16:00:00.000Z",
        		"Sha256sum": "9e39dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ce6b68ede3a47",
        		"Timestamp": "Thu, 17 Oct 2019 09:22:13 GMT"
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

设置存储区 CORS

  • **操作:**设置用户 IBM Cloud Object Storage 帐户中存储区的 CORS 配置。
  • 用法: ibmcloud cos bucket-cors-put --bucket BUCKET_NAME [--cors-configuration STRUCTURE] [--region REGION] [--output FORMAT]
  • 要提供的参数:
    • 存储区的名称。

      • 标志:--bucket BUCKET_NAME
    • 可选:使用 JSON 语法的 STRUCTURE。 可以使用前缀 file:// 从文件中加载 JSON 结构,例如 --cors-configuration file://<filename.json>。

      • 标志:--cors-configuration STRUCTURE

        	{
        		"CORSRules": [
        			{
        				"AllowedHeaders": ["*"],
        				"AllowedMethods": ["PUT", "GET", "DELETE"],
        				"AllowedOrigins": ["http://www.example.com"],
        				"ExposeHeaders": ["ExposeHeader7","ExposeHeader8"],
        				"MaxAgeSeconds": 75
        			}
        		]
        	}
        
    • 可选:存储桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。

      • 标志:--region REGION
    • 可选:输出格式只能是 json 或 text。

      • 标志:--output FORMAT

版本

  • 操作: 打印 IBM Cloud Object Storage CLI插件的版本信息。
  • 用法: ibmcloud cos version
  • 需提供的参数: 无。

示例:

ibmcloud cos version

等待

  • 操作: 不断向 API 发送请求,直到满足特定条件为止。 每个子命令每5秒进行一次轮询,并在检查失败20次后以返回码255退出。
  • 用法: ibmcloud cos wait SUBCOMMAND

提供以下子命令:

bucket-exists

  • 操作: 在使用 head-bucket 进行轮询时,等待收到 200 状态码的响应。
  • 用法: ibmcloud cos wait bucket-exists --bucket BUCKET_NAME [--region REGION]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。
      • 标志:--region REGION

示例:

ibmcloud cos wait bucket-exists --bucket my-bucket

桶不存在

  • 操作: 在使用 head-bucket 进行轮询时,等待收到 404 响应。
  • 用法: ibmcloud cos wait bucket-not-exists --bucket BUCKET_NAME [--region REGION]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 可选:存储桶所在的区域。
      • 标志:--region REGION

示例:

ibmcloud cos wait bucket-not-exists --bucket my-bucket

对象存在

  • 操作: 在使用 head-object 进行轮询时,等待收到 200 状态码的响应。
  • 用法: ibmcloud cos wait object-exists --bucket BUCKET_NAME --key KEY [--if-match ETAG] [--if-modified-since TIMESTAMP] [--if-none-match ETAG] [--if-unmodified-since TIMESTAMP] [--range RANGE] [--part-number NUMBER] [--region REGION]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:仅当该对象的实体标签(ETag)与提供的ETAG匹配时,才返回该对象。
      • 标志:--if-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来已被修改时,才返回该对象。
      • 标志:--if-modified-since TIMESTAMP
    • 可选:仅当该对象的 ETag 与提供的 ETAG 不匹配时,才返回该对象。
      • 标志:--if-none-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来未被修改时,才返回该对象。
      • 标志:--if-unmodified-since TIMESTAMP
    • 可选:下载对象中指定的字节范围。
      • 标志:--range RANGE
    • 可选:正在读取的对象的部件编号。
      • 标志:--part-number NUMBER
    • 可选:存储桶所在的区域。
      • 标志:--region REGION

示例:

ibmcloud cos wait object-exists --bucket my-bucket --key my-object.txt

对象不存在

  • 操作: 在使用 head-object 进行轮询时,等待收到 404 响应。
  • 用法: ibmcloud cos wait object-not-exists --bucket BUCKET_NAME --key KEY [--if-match ETAG] [--if-modified-since TIMESTAMP] [--if-none-match ETAG] [--if-unmodified-since TIMESTAMP] [--range RANGE] [--part-number NUMBER] [--region REGION]
  • 要提供的参数:
    • 存储区的名称。
      • 标志:--bucket BUCKET_NAME
    • 对象的键 (KEY)。
      • 标志:--key KEY
    • 可选:仅当该对象的实体标签(ETag)与提供的ETAG匹配时,才返回该对象。
      • 标志:--if-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来已被修改时,才返回该对象。
      • 标志:--if-modified-since TIMESTAMP
    • 可选:仅当该对象的 ETag 与提供的 ETAG 不匹配时,才返回该对象。
      • 标志:--if-none-match ETAG
    • 可选:仅当该对象自指定的TIMESTAMP以来未被修改时,才返回该对象。
      • 标志:--if-unmodified-since TIMESTAMP
    • 可选:下载对象中指定的字节范围。
      • 标志:--range RANGE
    • 可选:正在读取的对象的部件编号。
      • 标志:--part-number NUMBER
    • 可选:存储桶所在的区域。
      • 标志:--region REGION

示例:

ibmcloud cos wait object-not-exists --bucket my-bucket --key my-object.txt

后续步骤

由于每个过程始终完全按照计划执行,因此您可能未看到任何 公共头和错误代码。 有关更多参考,请检查 API 参考。