使用 Postman

以下是 IBM Cloud® Object Storage REST API 的基本 Postman 設定。 您可以在儲存區物件的 API 參考資料中找到更多詳細資料。

開始使用 IBM Cloud Object Storage 中所示,使用 Postman 會假設對 Object Storage 及來自 服務認證 或主控台的必要資訊有一定的熟悉程度。 如果不熟悉任何術語或變數,則可以在 常見問題 中找到它們。

個人識別資訊 (PII): 當 命名 儲存區或物件時,請勿使用可依名稱、位置或任何其他方法來識別任何使用者 (自然人) 的任何資訊。

REST API 用戶端概觀

與 REST API 互動並不像使用標準網際網路瀏覽器那麼簡單。 簡單瀏覽器不容許對 URL 要求的任何操作。 REST API 用戶端可以協助快速組合簡單和複雜的 HTTP 要求。

必要條件

建立儲存區

  1. 啟動 Postman。
  2. 新建標籤中,選取 PUT
  3. 在位址列中輸入端點,並新增新儲存區的名稱。 a. 儲存區名稱在所有儲存區中必須是唯一的,因此請選擇特定內容。
  4. 類型功能表中,選取「持有人記號」。
  5. 在「記號」方框中,新增「IAM 記號」。
  6. 按一下預覽要求。 a. 您應該會看到一則指出已新增標頭的確認訊息。
  7. 按一下標頭標籤,在其中應該會看到 Authorization 的現有項目。
  8. 新增金鑰。 a. key: ibm-service-instance-id b. 值:Cloud Storage 服務的「資源實例 ID」。
  9. 按一下「傳送」。
  10. 您將收到狀態 200 OK訊息。

建立文字檔物件

  1. 按一下「加號 (+)」圖示,來建立標籤。
  2. 從清單中,選取 PUT
  3. 在位址列中,輸入具有先前區段的儲存區名稱及檔名的端點位址。
  4. 在「類型」清單中,選取「持有人記號」。
  5. 在「記號」方框中,新增「IAM 記號」。
  6. 選取「內文」標籤。
  7. 選取原始選項,並確保選取「文字」。
  8. 在提供的空間中,輸入文字。
  9. 按一下「傳送」。
  10. 您將收到狀態 200 OK訊息。

列出儲存區的內容

  1. 選取「加號 (+)」圖示,來建立新的標籤。
  2. 驗證在清單中已選取 GET
  3. 在位址列中,輸入具有先前區段的儲存區名稱的端點位址。
  4. 在「類型」清單中,選取「持有人記號」。
  5. 在「記號」方框中,新增「IAM 記號」。
  6. 按一下「傳送」。
  7. 您將收到狀態 200 OK訊息。
  8. 在「回應內文」區段中,有一個具有儲存區中檔案清單的 XML 訊息。

使用範例集合

提供此 Postman 集合作為實驗 API 的起點,它不預期用於正式作業:

{
	"info": {
		"_postman_id": "56d99641-9ad6-4218-b3d4-18ac8f3361e0",
		"name": "IBM COS",
		"description": "IBM COS samples",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "Retrieve list of buckets",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "d67afcf2-6d35-4a2a-9542-b8d5df78eded",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"ListAllMyBucketsResult\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					}
				],
				"body": {},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					]
				}
			},
			"response": []
		},
		{
			"name": "Create new bucket",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "3cebb9d7-90ee-42c0-9154-b26bd229e179",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					]
				},
				"description": "Create new bucket"
			},
			"response": []
		},
		{
			"name": "Create new text file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "0a54c09b-0032-4933-ae99-81911935cb4d",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected header\", function() {",
							"    pm.response.to.have.header(\"ETag\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/x-www-form-urlencoded"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "This is test data for the text file."
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testfile.txt"
					]
				},
				"description": "Create a new text file in the bucket"
			},
			"response": []
		},
		{
			"name": "Create new binary file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "80e3e8bd-3fb5-4874-a638-510cf5b8c872",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected header\", function() {",
							"    pm.response.to.have.header(\"ETag\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "image/jpeg"
					}
				],
				"body": {
					"mode": "file",
					"file": {}
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testimage.jpg"
					]
				},
				"description": "Create a new binary (image) file in the bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve list of files from bucket",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "aae11dfd-89e5-464d-a6da-44c05652ccec",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"ListBucketResult\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve list of files from bucket (filter by prefix)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "aae11dfd-89e5-464d-a6da-44c05652ccec",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"ListBucketResult\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?prefix=new",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "prefix",
							"value": "new"
						}
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve text file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "58817cc7-7d15-45a9-b372-7712d2fd389d",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected body content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"This is test data\");",
							"});",
							"",
							"pm.test(\"Response contains expected header\", function() {",
							"    pm.response.to.have.header(\"ETag\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testfile.txt"
					]
				},
				"description": "Retrieving a file from bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve binary file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "db6fa324-080a-43bc-a301-32e70d9bbd65",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected header\", function() {",
							"    pm.response.to.have.header(\"ETag\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testimage.jpg"
					]
				},
				"description": "Retrieve a binary file from the bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve list of failed multipart uploads",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "835bcaf6-6e7d-4fa9-883e-1a5c5538ac7e",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"ListMultipartUploadsResult\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?uploads=",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "uploads",
							"value": ""
						}
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Retrieve list of failed multipart uploads (filter by name)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "835bcaf6-6e7d-4fa9-883e-1a5c5538ac7e",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"ListMultipartUploadsResult\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?uploads=&prefix=my",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "uploads",
							"value": ""
						},
						{
							"key": "prefix",
							"value": "my"
						}
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Set CORS enabled bucket",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					},
					{
						"key": "Content-MD5",
						"value": "GQmpTNpruOyK6YrxHnpj7g=="
					}
				],
				"body": {
					"mode": "raw",
					"raw": "<CORSConfiguration>\n  <CORSRule>\n    <AllowedOrigin>http:www.ibm.com</AllowedOrigin>\n    <AllowedMethod>GET</AllowedMethod>\n    <AllowedMethod>PUT</AllowedMethod>\n    <AllowedMethod>POST</AllowedMethod>\n  </CORSRule>\n</CORSConfiguration>"
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "cors",
							"value": ""
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Retrieve bucket CORS config",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "d9c0dce3-decd-4f3e-b5b1-e3f4a89f1283",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							"",
							"pm.test(\"Response contains expected content\", function() {",
							"    pm.expect(pm.response.text()).to.include(\"CORSConfiguration\");",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "cors",
							"value": ""
						}
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Delete bucket CORS config",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "83ce0bed-572f-4c16-b45f-67a7a9cc5550",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					],
					"query": [
						{
							"key": "cors",
							"value": ""
						}
					]
				},
				"description": "Retrieve the list of files available in the bucket"
			},
			"response": []
		},
		{
			"name": "Delete text file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "78b76a84-9562-4692-9634-e10912574a89",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testfile.txt"
					]
				},
				"description": "Retrieving a file from bucket"
			},
			"response": []
		},
		{
			"name": "Delete binary file",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "a8363887-2b04-4deb-a75b-10220d30e856",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}",
						"testimage.jpg"
					]
				},
				"description": "Retrieve a binary file from the bucket"
			},
			"response": []
		},
		{
			"name": "Delete bucket",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "3cebb9d7-90ee-42c0-9154-b26bd229e179",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}"
					]
				},
				"description": "Create new bucket"
			},
			"response": []
		},
		{
			"name": "Create new bucket (different storage class)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					},
					{
						"key": "Content-Type",
						"value": "application/x-www-form-urlencoded"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "<CreateBucketConfiguration>\n\t<LocationConstraint>{{bucketlocationvault}}</LocationConstraint>\n</CreateBucketConfiguration>"
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}vault",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}vault"
					]
				}
			},
			"response": []
		},
		{
			"name": "Delete bucket (different storage class)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}vault",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}vault"
					]
				}
			},
			"response": []
		},
		{
			"name": "Create new bucket (key protect)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					},
					{
						"key": "ibm-sse-kp-encryption-algorithm",
						"value": "AES256"
					},
					{
						"key": "ibm-sse-kp-customer-root-key-crn",
						"value": "{{rootkeycrn}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}kp",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}kp"
					]
				}
			},
			"response": []
		},
		{
			"name": "Delete bucket (key protect)",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
						"type": "text/javascript",
						"exec": [
							"pm.test(\"Request was successful\", function() {",
							"   pm.response.to.be.success; ",
							"});"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{iamtoken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [
					{
						"key": "ibm-service-instance-id",
						"value": "{{serviceid}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}kp",
					"protocol": "https",
					"host": [
						"{{endpoint-region}}",
						"objectstorage",
						"softlayer",
						"net"
					],
					"path": [
						"{{bucket}}kp"
					]
				}
			},
			"response": []
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"id": "08caf505-3991-4273-8027-db00d867680f",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"id": "6e61fa13-e3b9-42f0-8c38-9d3468748922",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"id": "643d5480-e629-4e26-b244-1b3c3a85195a",
			"key": "bucket",
			"value": "jsaitocosbucketapitest41",
			"type": "string",
			"description": ""
		},
		{
			"id": "7554e40a-f4d5-4938-972e-43b28ce52ad1",
			"key": "serviceid",
			"value": "crn:v1:bluemix:public:cloud-object-storage:global:a/1d524cd94a0dda86fd8eff3191340732:8888b05b-a143-4917-9d8e-9d5b326a1604::",
			"type": "string",
			"description": ""
		},
		{
			"id": "f06bc8b2-3476-47a6-aacb-c603dd808310",
			"key": "iamtoken",
			"value": "eyJraWQiOiIyMDE3MTAzMC0wMDowMDowMCIsImFsZyI6IlJTMjU2In0.eyJpYW1faWQiOiJJQk1pZC01MFkxNjdNOFRZIiwiaWQiOiJJQk1pZC01MFkxNjdNOFRZIiwicmVhbG1pZCI6IklCTWlkIiwiaWRlbnRpZmllciI6IjUwWTE2N004VFkiLCJnaXZlbl9uYW1lIjoiSmFtZXMiLCJmYW1pbHlfbmFtZSI6IlNhaXRvIiwibmFtZSI6IkphbWVzIFNhaXRvIiwiZW1haWwiOiJKYW1lcy5TYWl0bzFAaWJtLmNvbSIsInN1YiI6IkphbWVzLlNhaXRvMUBpYm0uY29tIiwiYWNjb3VudCI6eyJic3MiOiIxZDUyNGNkOTRhMGRkYTg2ZmQ4ZWZmMzE5MTM0MDczMiJ9LCJpYXQiOjE1Mjg2MDk0ODIsImV4cCI6MTUyODYxMzA4MiwiaXNzIjoiaHR0cHM6Ly9pYW0uYmx1ZW1peC5uZXQvaWRlbnRpdHkiLCJncmFudF90eXBlIjoidXJuOmlibTpwYXJhbXM6b2F1dGg6Z3JhbnQtdHlwZTphcGlrZXkiLCJzY29wZSI6ImlibSBvcGVuaWQiLCJjbGllbnRfaWQiOiJieCIsImFjciI6MSwiYW1yIjpbInB3ZCJdfQ.iG5ey13QlXHu3OH81v8J5sduKv3NzSqCFng_DlpNglPo07K-nWst3O9o6iEJfm0AzJwYNTZqWVru1pjI-KcAPXFBe503DPIf6cYolAw4rarU5booW-pdzk8-R5HZ7MJK7b8sxJtm7PAilXVZvl5yFE-tJsFkeMH6XCIj_R9i6dwSemDBL3Juq79_x3KsgJGFg37p5f2vck1_7gR7nSb03m8m3mCvrrx7zGkLDuM8NXAVlwwxKcitwlG_UfEBwSbX3krF04zF2tFCpGkcWAnuaFdaVTOL6uaULxCi5BWHqzLXIPhAoyfnVGNv0TBJtyFcpJ1LdlsBmz7RS2fROlDf2w",
			"type": "string",
			"description": ""
		},
		{
			"id": "dba24a46-e1df-4201-9a9b-f247fff22315",
			"key": "endpoint-region",
			"value": "s3.us-south",
			"type": "string",
			"description": ""
		},
		{
			"id": "ca751949-eea0-4f36-9f58-aea1ed324cd5",
			"key": "rootkeycrn",
			"value": "crn:v1:bluemix:public:kms:us-south:a/1d524cd94a0dda86fd8eff3191340732:90b7a1db-0fe2-4de9-b90e-922c127ff530:key:0b43e36e-a863-40e2-b713-5caa2bf99288",
			"type": "string",
			"description": ""
		},
		{
			"id": "e486732e-c9bc-4ec4-8bf9-04b66d513e5a",
			"key": "bucketlocationvault",
			"value": "us-south-vault",
			"type": "string",
			"description": ""
		}
	]
}

將集合匯入至 Postman

  1. 在 Postman 中,按一下右上角的匯入
  2. 使用以下任一方法匯入收集檔案:
    • 從「匯入」視窗中,將「集合」檔案拖曳至標籤為在這裡放置檔案的視窗
    • 按一下「選擇檔案」按鈕,並瀏覽至資料夾,然後選取「集合」檔案
  3. IBM COS 現在會顯示在「集合」視窗中。
  4. 展開「集合」可看到 20 個範例要求。
  5. 按一下集合右邊的三個點以展開功能表,然後按一下編輯
  6. 編輯變數,以符合 Cloud Storage 環境
    • bucket - 輸入您要建立之新儲存區的名稱(儲存區名稱在 Cloud Storage 中必須是唯一的)。
    • serviceid - 輸入 Cloud Storage 服務的 CRN。 這裡提供取得 CRN 的指示。
    • iamtoken - 輸入 Cloud Storage 服務的 OAUTH 記號。 這裡提供取得 OAUTH 記號的指示。
    • endpoint - 輸入 Cloud Storage 服務的地區端點。 從 IBM Cloud 儀表板 取得可用的端點
      • 確定選取的端點符合 Key Protect 服務,以確保範例正確執行
    • rootkeycrn - 在主要 Key Protect 服務中建立的「根金鑰」CRN。
      • CRN 類似於 crn:v1:bluemix:public:kms:us-south:a/3d624cd74a0dea86ed8efe3101341742:90b6a1db-0fe1-4fe9-b91e-962c327df531:key:0bg3e33e-a866-50f2-b715-5cba2bc93234
      • 確定選取的 Key Protect 服務符合「端點」的地區
    • bucketlocationvault - 輸入建立新儲存區(不同的儲存空間類別) API 要求之儲存區建立的位置限制值。
      • 可接受的值包括:
        • us-south-vault
        • us-standard-flex
        • eu-cold
  7. 按一下「更新」。

執行範例

API 範例要求相當直接明確且容易使用。 它們的設計是要依序執行,並示範如何與 Cloud Storage 互動。 您也可以對 Cloud Storage 服務執行功能測試,以確保適當的作業。

要求 預期結果 測試結果
擷取儲存區清單 在「內文」中,您可以設定 Cloud Storage 中儲存區的 XML 清單。 要求成功。 回應包含預期內容
建立新的儲存區 狀態碼 200 OK 要求成功
建立新的文字檔 狀態碼 200 OK 要求成功。 回應包含預期標頭
建立新的二進位檔 按一下內文,然後按一下選擇檔案以選取要上傳的映像檔。 要求成功。 回應包含預期標頭
擷取儲存區中的檔案清單 在回應的「內文」中,您會看到在先前要求中建立的兩個檔案。 要求成功。 回應包含預期標頭
擷取儲存區中的檔案清單(依字首過濾) 將查詢字串值變更為 prefix=<some text>。 在回應的內文中,您會看到名稱開頭為所指定字首的檔案。 要求成功。 回應包含預期標頭
擷取文字檔 在回應的「內文」中,您會看到在前一個要求中輸入的文字 要求成功。 回應包含預期內文內容。 回應包含預期標頭
擷取二進位檔 在回應的「內文」中,您會看到在前一個要求中選擇的映像檔。 要求成功。 回應包含預期標頭
擷取失敗的多部分上傳清單 在回應的「內文」中,您會看到儲存區的任何失敗多部分上傳。 要求成功。 回應包含預期內容
擷取失敗的多部分上傳清單(依名稱過濾) 將查詢字串值變更為 prefix=<some text>。 在回應的內文中,您會看到名稱開頭為指定字首之儲存區的所有失敗多部分上傳。 要求成功。 回應包含預期內容
設定已啟用 CORS 的儲存區 狀態碼 200 OK 要求成功
擷取儲存區 CORS 配置 在回應的內文中,您會看到儲存區的 CORS 配置集 要求成功。 回應包含預期內容
刪除儲存區 CORS 配置 狀態碼 200 OK 要求成功
刪除文字檔 狀態碼 200 OK 要求成功
刪除二進位檔 狀態碼 200 OK 要求成功
刪除儲存區 狀態碼 200 OK 要求成功
建立新的儲存區(不同的儲存空間類別) 狀態碼 200 OK 要求成功
刪除儲存區(不同的儲存空間類別) 狀態碼 200 OK 要求成功
建立新的儲存區 (Key Protect) 狀態碼 200 OK 要求成功
刪除儲存區 (Key Protect) 狀態碼 200 OK 要求成功

使用 Postman Collection Runner

Postman Collection Runner 提供一個使用者介面用來測試集合,並容許您一次執行「集合」中的所有要求。

  1. 按一下主要 Postman 視窗右上角的 Runner 按鈕。
  2. 在 Runner 視窗中,選取 IBM COS 集合,然後按一下畫面底端的大型藍色執行 IBM COS 按鈕。
  3. Collection Runner 視窗在執行要求時將顯示反覆運算。 您將會看到測試結果出現在每個要求下方。
    • 執行摘要會顯示要求的網格視圖,並容許過濾結果。
    • 您也可以按一下 匯出結果,以將結果儲存至 JSON 檔案。