Postman
の使用
ここでは、IBM Cloud® Object Storage REST API のための基本的な Postman
のセットアップについて説明します。 追加の詳細については、バケットまたはオブジェクトの
API リファレンスを参照してください。
Postman
を使用することは、 Object Storage 、および サービス資格情報 またはコンソールからの必要な情報 ( IBM Cloud Object Storageの概要 を参照) について一定の知識があることを前提としています。 見慣れない用語や変数がある場合は、 FAQ で見つけることができます。
個人情報 (PII): バケットまたはオブジェクトに 名前を付ける 場合は、ユーザー (個人) を名前、場所、またはその他の方法で識別できる情報を使用しないでください。
REST API クライアントの概要
REST API との対話は、標準的なインターネット・ブラウザーの使用ほど単純ではありません。 単純なブラウザーでは URL 要求の操作は許可されていません。 REST API クライアントは、単純な HTTP 要求と複雑な HTTP 要求の両方を素早くまとめるのに役立ちます。
前提条件
- IBM Cloud アカウント
- Cloud Storage リソースが作成されました (ライト・プランでは問題ありません)
- IBM Cloud COS CLI のインストールと構成
- Cloud Storage のサービス・インスタンス ID
- IAM (ID およびアクセス管理) トークン
- COS バケットのエンドポイント
バケットの作成
- Postman を開始します。
- **「New」**タブで
PUT
を選択します。 - アドレス・バーにエンドポイントを入力し、新規バケットの名前を追加します。 a. バケット名はすべてのバケットで固有でなければならないため、特有の名前を付けてください。
- **「Type」**メニューで、Bearer トークンを選択します。
- 「Token」ボックスで IAM トークンを追加します。
- **「Preview Request」**をクリックします。 a. ヘッダーが追加されたことを示す確認メッセージが表示されます。
- Authorization の既存項目が表示されている**「Header」**タブをクリックします。
- キーを追加します。 a. キー:
ibm-service-instance-id
b. 値: クラウド・ストレージ・サービスのリソース・インスタンス ID。 - 「Send」をクリックします。
200 OK
状況を示すメッセージが表示されます。
テキスト・ファイル・オブジェクトの作成
- プラス (+) アイコンをクリックして、タブを作成します。
- リストから
PUT
を選択します。 - アドレス・バーに、前のセクションからのバケット名、およびファイル名を含むエンドポイント・アドレスを入力します。
- 「Type」リストで Bearer トークンを選択します。
- 「Token」ボックスで IAM トークンを追加します。
- 「Body」タブを選択します。
- 「raw」オプションを選択し、「Text」が選択されていることを確認します。
- 用意されたスペースにテキストを入力します。
- 「Send」をクリックします。
200 OK
状況を示すメッセージが表示されます。
バケットの内容のリスト表示
- プラス (+) アイコンを選択して、新規タブを作成します。
- リストで
GET
が選択されていることを確認します。 - アドレス・バーで、前のセクションからのバケット名を含むエンドポイント・アドレスを入力します。
- 「Type」リストで、Bearer トークンを選択します。
- 「Token」ボックスで IAM トークンを追加します。
- 「Send」をクリックします。
200 OK
状況を示すメッセージが表示されます。- 「Response」セクションの「Body」に示される 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 へのコレクションのインポート
- Postman で、右上隅にある**「Import」**をクリックします。
- 以下のいずれかの方法でコレクション・ファイルをインポートします。
- 「Import」ウィンドウから、コレクション・ファイルを Drop files here というラベルが付いたウィンドウにドラッグします。
- 「Choose Files」ボタンをクリックし、フォルダーを参照してコレクション・ファイルを選択します。
- これで、「Collections」ウィンドウに IBM COS が表示されます。
- コレクションを展開し、20 個のサンプル要求を確認します。
- コレクションの右側にある 3 つのドットをクリックしてメニューを展開し、**「Edit」**をクリックします。
- ご使用の Cloud Storage 環境に合わせて変数を編集します。
bucket
- 作成する新規バケットの名前を入力します (バケット名は Cloud Storage 全体で固有でなければなりません)。serviceid
- Cloud Storage サービスの CRN を入力します。 CRN の入手方法についての説明はここにあります。iamtoken
- Cloud Storage サービスの OAUTH トークンを入力します。 OAUTH トークンの入手方法についての説明はここにあります。endpoint
- Cloud Storage サービスの地域エンドポイントを入力します。 IBM Cloud ダッシュボード から使用可能なエンドポイントを取得します。- サンプルが正しく実行されるようにするため、選択したエンドポイントがご使用の Key Protect サービスと一致することを確認してください
rootkeycrn
- ご使用の 1 次 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 サービスがエンドポイントの地域と一致していることを確認してください
- CRN は、
bucketlocationvault
- 新規バケットの作成 (異なるストレージ・クラス) API 要求に対するバケット作成のロケーション制約値を入力します。- 許容値は以下のとおりです。
us-south-vault
us-standard-flex
eu-cold
- 許容値は以下のとおりです。
- 「Update」をクリックします。
サンプルの実行
API サンプル要求は、かなり単純で使いやすいものです。 これらは、順番に実行され、Cloud Storage とどのように対話するのかを示すように設計されています。 Cloud Storage サービスに対して機能テストを実行して、適切な動作を確認することもできます。
要求 | 予期される結果 | テスト結果 |
---|---|---|
バケットのリストを取得する | 「Body」に、クラウド・ストレージ内のバケットの XML リストを設定します。 | 要求は正常に実行されました。 予期される内容が応答に含まれます |
新規バケットを作成する | 状況コード 200 OK | 要求は成功しました |
新規テキスト・ファイルを作成する | 状況コード 200 OK | 要求は正常に実行されました。 予期されるヘッダーが応答に含まれます |
新規バイナリー・ファイルを作成する | **「Body」をクリックし、「Choose File」**をクリックして、アップロードするイメージを選択します。 | 要求は正常に実行されました。 予期されるヘッダーが応答に含まれます |
バケットからファイルのリストを取得する | 応答の「Body」に、前の要求で作成した 2 つのファイルが示されます。 | 要求は正常に実行されました。 予期されるヘッダーが応答に含まれます |
バケットからファイルのリストを取得する (接頭部でフィルタリングする) | 照会ストリング値を prefix=<some text> に変更します。 応答の「Body」に、指定した接頭部で始まる名前を持つファイルが示されます。 |
要求は正常に実行されました。 予期されるヘッダーが応答に含まれます |
テキスト・ファイルを取得する | 応答の「Body」に、前の要求で入力したテキストが示されます。 | 要求は正常に実行されました。 予期される本体内容が応答に含まれます。 予期されるヘッダーが応答に含まれます |
バイナリー・ファイルを取得する | 応答の「Body」に、前の要求で選択したイメージが示されます。 | 要求は正常に実行されました。 予期されるヘッダーが応答に含まれます |
失敗したマルチパート・アップロードのリストを取得する | 応答の「Body」に、バケットの失敗したマルチパート・アップロードが示されます。 | 要求は正常に実行されました。 予期される内容が応答に含まれます |
失敗したマルチパート・アップロードのリストを取得する (名前でフィルタリングする) | 照会ストリング値を prefix=<some text> に変更します。 応答の「Body」に、指定した接頭部で始まる名前のバケットの失敗したマルチパート・アップロードが示されます。 |
要求は正常に実行されました。 予期される内容が応答に含まれます |
CORS が有効なバケットを設定する | 状況コード 200 OK | 要求は成功しました |
バケット CORS 構成を取得する | 応答の「Body」に、バケットに対して設定された 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 ボタンをクリックします。
- Runner ウィンドウで、IBM COS コレクションを選択し、画面の下部の大きな青い**「Run IBM COS」**ボタンをクリックします。
- Collection Runner ウィンドウに、一連の要求が実行されるのに応じて反復が表示されます。 各要求の下にテスト結果が表示されます。
- **「Run Summary」**に要求がグリッド表示され、結果をフィルター操作できます。
- **「Export Results」**をクリックして、結果を JSON ファイルに保存することもできます。