IBM Cloud Object Storage CLI

IBM Cloud® Object Storage 外掛程式會以 API 封套延伸 IBM Cloud 指令行 (CLI),以便使用 Object Storage 資源。

安裝與配置

外掛程式與在 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 及 ID。 請務必在實例名稱上使用引號 ('),且您已登入 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 旗標提供它。

$ 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 認證

如果願意,可以使用服務 ID 的 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
    • 上傳識別多部分上傳的 ID。
      • 旗標:--upload-id ID
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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 REGION
    • 可選:輸出格式僅限 json 或 text。
      • 旗標:--output FORMAT
    • 可選:下載檔案儲存的本地路徑。 若未指定,檔案將儲存至預設的下載位置,並採用物件金鑰作為檔案名稱。
      • Argument: 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 REGION
    • 可選:輸出格式僅限 json 或 text。
      • 旗標:--output FORMAT
    • 可選:要上傳的檔案或資料夾的本地路徑。
      • Argument: 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 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 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 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 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 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 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 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 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 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 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
    • 上傳識別多部分上傳的 ID。

      • 旗標:--upload-id ID
    • 一種採用 JSON 語法的結構。 可使用 file:// 前綴從檔案中載入 JSON 結構,例如 --multipart-upload file://<filename.json>。

      • 旗標:--multipart-upload STRUCTURE

        	{
        		"Parts": [
        			{
        				"ETag": "string",
        				"PartNumber": integer
        			}
        		]
        	}
        
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。

      • 旗標:--region REGION
    • 可選:輸出格式僅限 json 或 text。

      • 旗標:--output FORMAT

配置靜態網站

  • 動作: 配置儲存區以管理靜態網站。
  • 用法: ibmcloud cos bucket-website-put --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的參數:
    • 儲存區的名稱。

      • 旗標:--bucket BUCKET_NAME
    • JSON 結構形式的網站配置。 file:// 字首用來從指定的檔案載入 JSON 結構,例如 --website-configuration file://<filename.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"
        				}
        			}
        		]
        	}
        

        或者,如果儲存區網站配置為重新導向資料流量,則它必須是唯一配置的參數:

        	{
        		"RedirectAllRequestsTo": {
        			"HostName": "string",
        			"Protocol": "http"|"https"
        		}
        	}
        
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。

      • 旗標:--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

複製儲存區中的物件

如果您想要在複製期間將 meta 資料新增至物件 (使用 --metadata 特性),則必須新增屬性 --metadata-directive REPLACE,因為依預設會在作業期間複製 meta 資料 (隱含的 --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
    • 可選:內容所使用的 LANGUAGE。
      • 旗標:--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 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
    • 使用者在建立bucket時必須指定onerate_active。
      • 旗標:--class onerate_active
    • 可選:在請求中設定「IBM」服務實例 ID。
      • 旗標:--ibm-service-instance-id ID
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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
    • 可選:與透過「金鑰保護」功能儲存的加密金鑰搭配使用的「演算法」和「大小」。
      • 旗標:--kms-encryption-algorithm ALGORITHM
    • 可選:類別的名稱。
      • 旗標:--class CLASS_NAME
    • 可選:在請求中設定「IBM」服務實例 ID。
      • 旗標:--ibm-service-instance-id ID
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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
    • 可選:與透過「金鑰保護」功能儲存的加密金鑰搭配使用的「演算法」和「大小」。
      • 旗標:--kms-encryption-algorithm ALGORITHM
    • 可選:類別的名稱。
      • 旗標:--class CLASS_NAME
    • 可選:在請求中設定「IBM」服務實例 ID。
      • 旗標:--ibm-service-instance-id ID
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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
    • 可選:內容所使用的 LANGUAGE。

      • 旗標:--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 REGION
    • 可選:輸出格式僅限 json 或 text。

      • 旗標:--output FORMAT

刪除靜態網站配置

  • 動作: 移除儲存區的靜態網站配置。
  • 用法: ibmcloud cos bucket-website-delete --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的參數:
    • 儲存區的名稱。
      • 旗標:--bucket BUCKET_NAME
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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 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 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 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 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 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 時所使用的緩衝區大小(以位元組為單位)。 容許的組件大小下限為 5MB。
      • 旗標:--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 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 REGION
    • 可選:輸出格式僅限 json 或 text。
      • 旗標:--output FORMAT

取得靜態網站配置

  • 動作: 取得儲存區的靜態網站配置。
  • 用法: ibmcloud cos bucket-website-get --bucket BUCKET_NAME [--region REGION] [--output FORMAT]
  • 要提供的參數:
    • 儲存區的名稱。
      • 旗標:--bucket BUCKET_NAME
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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 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 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 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
    • 可選:指定開始列出物件版本的版本識別碼。 與 --key-marker 搭配使用,以實現分頁功能。
      • 旗標:--version-id-marker VERSION_ID
    • 可選:在服務呼叫中要取得每頁的 SIZE。 這不會影響指令輸出中傳回的項目數。 設定較小的頁碼大小會導致對該服務的呼叫次數增加。(預設值:1000)
      • 旗標:--page-size SIZE
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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 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 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
    • 上傳識別多部分上傳的 ID。
      • 旗標:--upload-id ID
    • 在此之後開始列出的組件號碼 VALUE(預設值:1)
      • 旗標:--part-number-marker VALUE
    • 可選:在服務呼叫中要取得每頁的 SIZE。 這不會影響指令輸出中傳回的項目數。 設定較小的頁面大小會導致對服務發出更多呼叫,但每次呼叫都會擷取較少的項目。 這有助於防止服務呼叫超時。(預設值:1000)
      • 旗標:--page-size SIZE
    • 可選:命令輸出中要返回的項目總數。 如果可用的項目總數超過指定的值,則會在指令輸出中提供 NextToken。 若要恢復分頁,請在後續指令的 starting-token 參數中指定 NextToken 值。(預設值:0)
      • 旗標:--max-items NUMBER
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--region REGION
    • 可選:輸出格式僅限 json 或 text。
      • 旗標:--output FORMAT

手動控制多部分上傳

IBM Cloud Object Storage CLI 允許使用者透過 AWS 的多部分上傳功能,將大型檔案分多部分上傳。 若要啟動新的多部分上傳,請執行 multipart-upload-create 指令,該指令會回傳新上傳實例的上傳 ID。 若要繼續上傳處理程序,您必須儲存每個後續指令的上傳 ID。 此指令需要您產生 MD5 hash:

{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
    • 上傳識別多部分上傳的 ID。
      • 旗標:--upload-id ID
    • 所上傳之組件的組件號碼 NUMBER。 這是介於 1 至 10,000 之間的正整數。(預設值:1)
      • 旗標:--part-number NUMBER
    • 可選:物件資料位置(FILE_PATH )。
      • 旗標:--body FILE_PATH
    • 可選:儲存桶所在的區域 (REGION)。 如果未提供此旗標,則程式會使用配置中指定的預設選項。
      • 旗標:--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
    • 上傳識別多部分上傳的 ID。
      • 旗標:--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 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 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 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 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 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 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 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 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 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 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 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
    • 可選:內容所使用的 LANGUAGE。

      • 旗標:--content-language LANGUAGE
    • 可選:正文的 SIZE(以位元組為單位)。 當無法自動確定主體的大小時,此參數便派上用場。(預設值: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 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 時所使用的緩衝區大小(以位元組為單位)。 容許的組件大小下限為 5MB。

      • 旗標:--part-size SIZE
    • 可選:將此值設定為 true 將使 SDK 在發生錯誤時避免呼叫 AbortMultipartUpload,並將所有成功上傳的片段保留在 S3 上,以便手動恢復。

      • 旗標:--leave-parts-on-errors
    • 可選:為請求/回應鏈指定 CACHING_DIRECTIVES。

      • 旗標:--cache-control CACHING_DIRECTIVES
    • 可選:指定呈現相關資訊(指令)。

      • 旗標:--content-disposition DIRECTIVES
    • 可選:指定已套用至該物件的內容編碼(CONTENT_ENCODING),並據此說明必須採用哪些解碼機制,才能取得由 Content-Type 標頭欄位所引用的媒體類型。

      • 旗標:--content-encoding CONTENT_ENCODING
    • 可選:內容所使用的 LANGUAGE。

      • 旗標:--content-language LANGUAGE
    • 可選:正文的 SIZE(以位元組為單位)。 無法自動判斷內文的大小時,此參數十分有用。

      • 旗標:--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 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 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 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 REGION

範例:

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

object-exists

  • 操作: 在使用 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 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 REGION

範例:

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

下一步

由於每個程序一律如計劃般進行,您可能未看到任何 一般標頭及錯誤碼。 如需相關參照,請檢查 API 參考資料。