IBM Cloud Docs
使用 Postman

使用 Postman

下面是针对 IBM Cloud® Object Storage REST API 的基本 Postman 设置。 在 API 参考中可以找到有关存储区对象的更多详细信息。

使用 Postman 将假定您在一定程度上熟悉 Object Storage 以及 服务凭证 或控制台中的必要信息,如 IBM Cloud 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. 键: ibm-service-instance-id b. 值:Cloud Storage 服务的资源实例标识。
  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 正常 请求已成功
创建新的文本文件 状态码 200 正常 请求成功。 响应包含预期头
创建新的二进制文件 单击主体,然后单击选择文件以选择要上传的映像。 请求成功。 响应包含预期头
检索存储区中的文件列表 在响应的“主体”中,可看到在先前请求中创建的两个文件。 请求成功。 响应包含预期头
检索存储区中的文件列表(按前缀过滤) 将查询字符串值更改为 prefix=<some text>。 在响应的“主体”中,可看到名称以指定前缀开头的文件。 请求成功。 响应包含预期头
检索文本文件 在响应的“主体”中,可看到在先前请求中输入的文本。 请求成功。 响应包含预期主体内容。 响应包含预期头
检索二进制文件 在响应的“主体”中,可看到在先前请求中选择的映像。 请求成功。 响应包含预期头
检索失败分块上传的列表 在响应的“主体”中,可看到存储区的所有失败分块上传。 请求成功。 响应包含预期内容
检索失败分块上传的列表(按名称过滤) 将查询字符串值更改为 prefix=<some text>。 在响应的“主体”中,可看到存储区中名称以指定前缀开头的所有失败分块上传。 请求成功。 响应包含预期内容
设置启用 CORS 的存储区 状态码 200 正常 请求已成功
检索存储区 CORS 配置 在响应的“主体”中,可看到为存储区设置的 CORS 配置。 请求成功。 响应包含预期内容
删除存储区 CORS 配置 状态码 200 正常 请求已成功
删除文本文件 状态码 200 正常 请求已成功
删除二进制文件 状态码 200 正常 请求已成功
删除存储区 状态码 200 正常 请求已成功
创建新存储区(其他存储类) 状态码 200 正常 请求已成功
删除存储区(其他存储类) 状态码 200 正常 请求已成功
创建新存储区 (Key Protect) 状态码 200 正常 请求已成功
删除新存储区 (Key Protect) 状态码 200 正常 请求已成功

使用 Postman 集合运行器

Postman 集合运行器提供了用于测试集合的用户界面,允许您一次运行集合中的所有请求。

  1. 单击 Postman 主窗口右上角的“运行器”按钮。
  2. 在“运行器”窗口中,选择 IBM COS 集合,然后单击屏幕底部的蓝色大按钮运行 IBM COS
  3. “集合运行器”窗口在运行请求时会显示迭代。 您将看到每个请求下显示了测试结果。
    • 运行摘要显示请求的网格视图,并允许对结果进行过滤。
    • 还可以单击导出结果,以将结果保存到 JSON 文件。