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,可以键入 ibmcloud resource service-instance <INSTANCE_NAME> --id
,然后用分配给服务实例的唯一别名替换 <INSTANCE_NAME>
。 在以下示例中,8f275e7b-c076-49e2-b9c5-f985704cf678
值是示例实例标识。
首先,检索具有实例名称的 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中提供的完整功能套件。 Aspera High-Speed Transfer,Immutable Object Storage,创建 Key Protect 存储区或存储区防火墙不能由 CLI 使用。
中止分块上传
- **操作:**通过结束到用户 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 或文本。
- 标志:
--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
以下参数可用于配置静态 Web 站点行为。 不需要任何项。 有关更多详细信息,请参阅 文档。{ "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 或文本。
- 标志:
--output FORMAT
- 标志:
-
从存储区复制对象
如果要在复制期间向对象添加元数据 (使用 --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
- 标志:
- (SOURCE) 源数据桶的名称和源对象的键名,以斜线 (/) 分隔。必须使用 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。
- 标志:
--metadata MAP
JSON 语法:--metadata
标志采用用于从指定文件装入 JSON 结构的file://
前缀。
- 标志:
- 目标邮筒的名称。
{
"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"
}
```
* _Optional_: Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. DIRECTIVE values: COPY,REPLACE.
* Flag: ` --metadata-directive DIRECTIVE`
* _Optional_: The REGION where the bucket is present. If this flag is not provided, the program uses the default option that is specified in config.
* Flag: `--region REGION`
* _Optional_: Output FORMAT can be only json or text.
* Flag: `--output FORMAT`
创建新存储区
- **操作:**在 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
命令进行设置。
- 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:类的名称。
- 标志:
--class CLASS_NAME
- 标志:
- 用户必须在创建水桶时指定 onerate_active。
- 标志:
--class onerate_active
- 标志:
- 可选:在请求中设置 IBM 服务实例 ID。
- 标志:
--ibm-service-instance-id ID
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
创建一个带有 Key Protect的新邮筒
- 操作: 在 IBM Cloud Object Storage 实例中使用 Key Protect 创建一个桶。
- 使用方法:
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
命令进行设置。
- 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 与数据桶相关联的 KMS 根密钥的 CUSTOMERROOTKEYCRN,用于数据加密。
- 标志:
--kms-root-key-crn CUSTOMERROOTKEYCRN
- 标志:
- 可选:使用密钥保护存储的加密密钥的算法和大小。
- 标志:
--kms-encryption-algorithm ALGORITHM
- 标志:
- 可选:类的名称。
- 标志:
--class CLASS_NAME
- 标志:
- 可选:在请求中设置 IBM 服务实例 ID。
- 标志:
--ibm-service-instance-id ID
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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创建新存储区。
- 使用方法:
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
- 标志:
- 可选:使用密钥保护存储的加密密钥的算法和大小。
- 标志:
--kms-encryption-algorithm ALGORITHM
- 标志:
- 可选:类的名称。
- 标志:
--class CLASS_NAME
- 标志:
- 可选:在请求中设置 IBM 服务实例 ID。
- 标志:
--ibm-service-instance-id ID
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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。
- 标志:
--metadata MAP
JSON 语法:--metadata
标志采用用于从指定文件装入 JSON 结构的file://
前缀。
- 标志:
{ "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 或文本。
- 标志:
--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 或文本。
- 标志:
--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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
删除静态 Web 站点配置
- 操作: 除去存储区的静态 Web 站点配置。
- 使用方法:
ibmcloud cos bucket-website-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
- 要提供的参数:
-
存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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 或文本。
- 标志:
--output FORMAT
- 标志:
- 标志:
- 存储区的名称。
删除多个对象
-
**操作:**从用户 IBM Cloud Object Storage 帐户的存储区中删除多个对象。
-
使用方法:
ibmcloud cos objects-delete --bucket BUCKET_NAME --delete STRUCTURE [--region REGION] [--output FORMAT]
-
要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 使用简写语法或 JSON 语法的结构 (STRUCTURE)。
- 标志:
--delete STRUCTURE
- 简写语法:
--delete 'Objects=[{Key=string},{Key=string}],Quiet=boolean'
-
JSON 语法:
--delete file://<filename.json>
--delete
命令采用 JSON 结构,列出要删除的对象。 在此示例中,file://
前缀用于从指定的文件装入 JSON 结构。
- 标志:
{ "Objects": [ { "Key": "string", "VersionId": "string" } ... ], "Quiet": true|false }
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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 HEADER。
- 标志:
--response-cache-control HEADER
- 标志:
- 可选: 设置响应的内容处置标题。
- 标志:
--response-content-disposition HEADER
- 标志:
- 可选: 设置响应的内容编码 HEADER。
- 标志:
--response-content-encoding HEADER
- 标志:
- 可选: 设置响应的内容语言头信息。
- 标志:
--response-content-language HEADER
- 标志:
- _ 可选_: 设置响应的 Content-Type 头信息。
- 标志:
--response-content-type HEADER
- 标志:
- 可选: 设置响应的 Expires HEADER。
- 标志:
--response-expires HEADER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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 范围头的更多信息,请单击此处。
- 标志:
--range RANGE
- 标志:
- 可选: 设置响应的 Cache-Control HEADER。
- 标志:
--response-cache-control HEADER
- 标志:
- 可选: 设置响应的内容处置标题。
- 标志:
--response-content-disposition HEADER
- 标志:
- 可选: 设置响应的内容编码 HEADER。
- 标志:
--response-content-encoding HEADER
- 标志:
- 可选: 设置响应的内容语言头信息。
- 标志:
--response-content-language HEADER
- 标志:
- _ 可选_: 设置响应的 Content-Type 头信息。
- 标志:
--response-content-type HEADER
- 标志:
- 可选: 设置响应的 Expires HEADER。
- 标志:
--response-expires HEADER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,那么程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 可选:保存对象内容的位置。 如果未提供此参数,程序将使用缺省位置。
- 参数:
OUTFILE
- 参数:
- 存储区的名称 (BUCKET_NAME)。
查找存储区
- **操作:**确定 IBM Cloud Object Storage 实例中存储区的区域和类。
- 使用方法:
ibmcloud cos bucket-location-get --bucket BUCKET_NAME [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
获取存储区的类
- **操作:**确定 IBM Cloud Object Storage 实例中存储区的类。
- 使用方法:
ibmcloud cos bucket-class-get --bucket BUCKET_NAME [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
获取存储区的头
- **操作:**确定某个存储区在 IBM Cloud Object Storage 实例中是否存在。
- 使用方法:
ibmcloud cos bucket-head --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
完成分块上传
- **操作:**通过组合当前上传的分块并将组合后的文件上传到用户 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
- 标志:
-
要设置的分块上传的结构 (STRUCTURE)。
- 标志:
--multipart-upload STRUCTURE
- 简写语法:
--multipart-upload 'Parts=[{ETag=string,PartNumber=integer},{ETag=string,PartNumber=integer}]'
-
JSON 语法:
--multipart-upload file://<filename.json>
--multipart-upload
命令采用 JSON 结构来描述分块上传中应该组合成完整文件的分块。 在此示例中,file://
前缀用于从指定的文件装入 JSON 结构。
{ "Parts": [ { "ETag": "string", "PartNumber": integer } ... ] }
- 标志:
-
可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
-
可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
-
配置程序
- **操作:**配置程序的首选项。
- 使用方法:
ibmcloud cos config [COMMAND]
- 命令:
- 在 HMAC 和 IAM 认证之间进行切换。
- 命令:
auth
- 命令:
- 将 CRN 存储在配置中。
- 命令:
crn
- 命令:
- 将缺省下载位置存储在配置中。
- 命令:
ddl
- 命令:
- 将 HMAC 凭证存储在配置中。
- 命令:
hmac
- 命令:
- 列出配置。
- 命令:
list
- 命令:
- 将缺省区域存储在配置中。
- 命令:
region
- 命令:
- 在
VHost
和路径 URL 风格之间切换。- 命令:
url-style
- 命令:
- 设置缺省服务端点。
- 命令:
endpoint-url
-
参数:
--list
显示当前缺省服务端点 (如果已设置)。 否则,它将为空。--url some.end.point.url
会将服务端点更改为给定的值。--clear
将除去已设置的缺省服务端点 URL。
-
- 命令:
- 在 HMAC 和 IAM 认证之间进行切换。
获取静态 Web 站点配置
- 操作: 获取存储区的静态 Web 站点配置。
- 使用方法:
ibmcloud cos bucket-website-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
- 要提供的参数:
-
存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
列出所有存储区
- **操作:**显示用户 IBM Cloud Object Storage 帐户中所有存储区的列表。 存储区可能位于不同的区域中。
- 使用方法:
ibmcloud cos buckets [--ibm-service-instance-id ID] [--output FORMAT]
- 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用
ibmcloud cos config crn
命令进行设置。
- 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用
- 要提供的参数:
- 没有要提供的参数。
- 可选:在请求中设置 IBM 服务实例 ID。
- 标志:
--ibm-service-instance-id
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 可选:在请求中设置 IBM 服务实例 ID。
- 没有要提供的参数。
扩展存储区列示
- **操作:**显示用户 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
命令进行设置。
- 请注意,如果要使用 IAM 认证,那么必须提供 CRN。 可以使用
- 要提供的参数:
- 没有要提供的参数。
- 可选:在请求中设置 IBM 服务实例 ID。
- 标志:
--ibm-service-instance-id
- 标志:
- 可选:指定在列出水桶中的对象时从 KEY 开始。
- 标志:
--marker KEY
- 标志:
- 可选:将响应限制为以指定 PREFIX 开头的键。
- 标志:
--prefix PREFIX
- 标志:
- 可选:服务调用中要获取的每个页面的大小。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这可帮助防止服务调用超时。
- 标志:
--page-size SIZE
- 标志:
- 可选:命令输出中要返回的项目总数。
- 标志:
--max-items NUMBER
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 可选:在请求中设置 IBM 服务实例 ID。
- 没有要提供的参数。
列出进行中的分块上传
- **操作:**列出进行中的分块上传。
- 使用方法:
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
- 标志:
- 可选:要求对响应中的对象键进行编码,并指定要使用的编码 METHOD。
- 标志:
--encoding-type METHOD
- 标志:
- 可选:将响应限制为以指定 PREFIX 开头的键。
- 标志:
--prefix PREFIX
- 标志:
- 可选:该参数与 upload-id-marker 一起指定多部分上传,之后应开始列表。
- 标志:
--key-marker value
- 标志:
- 可选:与关键标记一起,指定多部分上传之后应开始列表。 如果未指定 key-marker,那么将忽略 upload-id-marker 参数。
- 标志:
--upload-id-marker value
- 标志:
- 可选:服务调用中要获取的每个页面的大小。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)。
- 标志:
--page-size SIZE
- 标志:
- 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的起始令牌参数中提供 NextToken 值。(默认值:0)。
- 标志:
--max-items NUMBER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
列出对象
- **操作:**列出用户 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
- 标志:
- 可选:要求对响应中的对象键进行编码,并指定要使用的编码 METHOD。
- 标志:
--encoding-type METHOD
- 标志:
- 可选:将响应限制为以指定 PREFIX 开头的键。
- 标志:
--prefix PREFIX
- 标志:
- 可选:一个 TOKEN,用于指定开始分页的位置。 这是先前截断的响应中的 NextToken。
- 标志:
--starting-token TOKEN
- 标志:
- 可选:服务调用中要获取的每个页面的大小。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
- 标志:
--page-size SIZE
- 标志:
- 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的起始令牌参数中提供 NextToken 值。(默认值:0)
- 标志:
--max-items NUMBER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
列示对象 v2
- 操作: 列出特定邮筒中的所有对象。
- 使用方法:
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
- 标志:
- 可选:要求对响应中的对象键进行编码,并指定要使用的编码 METHOD。
- 标志:
--encoding-type METHOD
- 标志:
- 可选:将响应限制为以指定 PREFIX 开头的键。
- 标志:
--prefix PREFIX
- 标志:
- 可选:一个 TOKEN,用于指定开始分页的位置。 这是先前截断的响应中的 NextToken。
- 标志:
--starting-token TOKEN
- 标志:
- 可选:服务调用中要获取的每个页面的大小。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
- 标志:
--page-size SIZE
- 标志:
- 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的起始令牌参数中提供 NextToken 值。(默认值:0)
- 标志:
--max-items NUMBER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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
- 标志:
- 可选:服务调用中要获取的每个页面的大小。 这不会影响命令输出中返回的项数。 设置较小的页面大小会导致对服务的调用增多,因而在每个调用中检索的项数减少。 这有助于防止服务调用超时。(默认值:1000)
- 标志:
--page-size SIZE
- 标志:
- 可选:命令输出中要返回的项目总数。 如果可用项总数大于指定的值,那么将在命令的输出中提供 NextToken。 要恢复分页,请在后续命令的起始令牌参数中提供 NextToken 值。(默认值:0)
- 标志:
--max-items NUMBER
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--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。
- 标志:
--cors-configuration STRUCTURE
-
JSON 语法:
--cors-configuration file://<filename.json>
--cors-configuration
命令采用用于描述 CORS 配置的 JSON 结构。 在此示例中,file://
前缀用于从指定的文件装入 JSON 结构。
- 标志:
{ "CORSRules": [ { "AllowedHeaders": ["string", ...], "AllowedMethods": ["string", ...], "AllowedOrigins": ["string", ...], "ExposeHeaders": ["string", ...], "MaxAgeSeconds": integer } ... ] }
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
放置对象
-
**操作:**将对象上传到用户 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。
- 标志:
--metadata MAP
JSON 语法:--metadata
标志采用用于从指定文件装入 JSON 结构的file://
前缀。
- 标志:
{ "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 或文本。
- 标志:
--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
- 标志:
- 可选:在发送部件时,每次调用上载时并行启动的转到例程数量。 缺省值为 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。
- 标志:
--metadata MAP
JSON 语法:--metadata
标志采用用于从指定文件装入 JSON 结构的file://
前缀。
- 标志:
{ "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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称 (BUCKET_NAME)。
手动控制分块上传
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
。
As each file part is uploaded, the CLI print its
ETag . You must save this
ETag into a formatted JSON file, along with the part number. Use this template to create your own
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 或文本。
- 标志:
--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
- 标志:
- (SOURCE) 源数据桶的名称和源对象的键名,以斜线 (/) 分隔。必须使用 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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
对象锁定配置
放置对象锁定配置
在缺省情况下,不能同时提供“天数”和“年数”。
- 操作: 在水桶上设置对象锁配置。
- 使用方法:
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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
示例:
ibmcloud cos object-lock-configuration-put --bucket bucket-name --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 30 }}}'
获取对象锁定配置
- 操作: 获取水桶上的对象锁配置。
- 使用方法:
object-lock-configuration-get --bucket BUCKET_NAME [--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 或文本。
-
标志:
--output FORMAT
{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": integer, "Years": integer } } }
-
- 存储区的名称。
示例:
ibmcloud cos object-lock-configuration-get --bucket bucket-name --region us-south
对象保留时间
放置对象保留时间
- 操作: 设置对象的保留时间。
- 使用方法:
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 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
示例:
ibmcloud cos object-retention-put --bucket bucket-name --key file-name.txt --retention '{ "Mode": "COMPLIANCE", "RetainUntilDate": "2024-02-02T00:00:00"}’
获取对象保留时间
- 操作: 获取对象的保留时间。
- 使用方法:
object-retention-get --bucket BUCKET_NAME --key KEY [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 对象的键 (KEY)。
- 标志:
--key KEY
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
-
标志:
--output FORMAT
{ "Retention": { "Mode": "COMPLIANCE", "RetainUntilDate": "2024-02-02T00:00:00.000Z" } }
-
- 存储区的名称。
示例:
ibmcloud cos object-retention-put --bucket bucket-name --key file-name.txt --region us-south
对象法律保留
放置对象法律保留
- 操作: 设置对象的合法持有。
- 使用方法:
object-legal-hold-put --bucket BUCKET_NAME --key KEY [--legal-hold STRUCTURE] [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 对象的键 (KEY)。
- 标志:
--key KEY
- 标志:
- 使用 JSON 语法的结构。 请参阅 IBM Cloud 文档。
-
标志:
--legalhold STRUCTURE
{ "Status": "ON"|"OFF" }
-
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
示例:
ibmcloud cos object-legal-hold-put --bucket bucket-name --key file-name.txt --legal-hold ‘{"Status": "ON"}’
获取对象法律保留
- 操作: 获取对象的合法持有信息。
- 使用方法:
object-legal-hold-get --bucket BUCKET_NAME --key KEY [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 对象的键 (KEY)。
- 标志:
--key KEY
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
-
标志:
--output FORMAT
{ "LegalHold": { "Status": "ON" } }
-
- 存储区的名称。
示例:
ibmcloud cos object-retention-get --bucket bucket-name --key file-name.txt --region us-south
配置存储区复制
用于配置复制的存储区的设置。
放置存储区复制
- 操作: 在桶上设置复制配置。
- 使用方法:
bucket-replication-put --bucket BUCKET_NAME [--replication-configuration STRUCTURE] [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
-
标志:
--output FORMAT
{ "Rules": [ { "Status": "Enabled", "Priority": 1, "Filter" : { "Prefix": ""}, "DeleteMarkerReplication": { "Status": "Disabled" }, "Destination": { "Bucket": "DEST-BUCKET-NAME" } } ] }
-
- 存储区的名称。
示例:
ibmcloud cos bucket-replication-put --bucket SOURCE-BUCKET-NAME --replication-configuration file://replication.json
获取存储区复制
- 操作: 获取一个数据桶的复制配置。
- 使用方法:
bucket-replication-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
-
标志:
--output FORMAT
{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "DEST-BUCKET-NAME", "StorageClass": "STANDARD" }, } ], } }
-
- 存储区的名称。
示例:
ibmcloud cos bucket-replication-get --bucket SOURCE-BUCKET-NAME
删除存储区复制
- 操作: 从桶中删除复制配置。
- 使用方法:
bucket-replication-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
- 要提供的参数:
- 存储区的名称。
- 标志:
--bucket BUCKET_NAME
- 标志:
- 可选:水桶所在的区域。 如果未提供此标志,程序将使用配置中指定的缺省选项。
- 标志:
--region REGION
- 标志:
- 可选:输出格式只能是 json 或文本。
- 标志:
--output FORMAT
- 标志:
- 存储区的名称。
示例:
ibmcloud cos bucket-replication-delete --bucket SOURCE-BUCKET-NAME