Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
NTT Communications
Cloudⁿ
Object Storage APIマニュアル
Ver.1.0
本冊子掲載の内容の二次配布(配布・転載・提供等)は、ご遠慮ください。
2
版数 編集日 変更内容
Ver.1.0 2013/2/20 初版作成(Cloudⁿ Storageご利用ガイドから分離)
3
1 Object Storage APIを利用する P4~ 1) Object Storage APIを利用する 2) Object Storage API一覧
2 Object Storage APIリファレンス P12~ 1) Object Storage API 共通情報 2) Object Storage APIバケット操作 3) Object Storage APIオブジェクト操作
目次
4
本サービスでは、Object Storageへのデータの保管や取得を行うためのAPIを提供しています。
APIを使用することで、クラウドコンソールを介さずにお客様のプログラムから直接リソースを操作することが可能です。また、本APIはAmazonWebService S3互換API(2006-03-01 Version)ですが、REST APIのみになります。SOAP APIは提供しません。なお、API Serverは以下の通りです。
APIリクエストは次のような形式となっています。 以下では、日本DCで保管するObjectをダウンロードするコマンド「GET Object」の例を記載します。
上記のリクエストは、”sample”という名前のバケットに格納されている”object.jpg”というファイルのダウンロードを示しています。
[ APIリクエストの形式 ]
GET /sample/object.jpg HTTP/1.1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Authorization: AWS SaMp1eAcceSkey:d9OGZcQHl7l8iVwP7IeRLRu9sNk=
“HTTPリクエストメソッド” “対象のPATH” “HTTPバージョン”
“HTTPヘッダー”
…
“HTTPヘッダー”
となります。
ただし、リクエストの認証が必要となるため、“認証情報”を付与する必要があります。Object Storage API は、リクエストの認証にHTTPに定められる”Authorization Header”を用います。
Authorozatoion Headerの書式は以下のとおりです。
Authorization: AWS AccessKey:Signature
“AccessKey “は「アクセス鍵」であり、”Signature”は「秘密キー」を用いて作成する署名です。 アクセス鍵、秘密キーの確認方法については、第3章の「アクセスキー、秘密鍵の確認」をご参照ください。
①
[ APIリクエストの作成 ]
API server : str.cloudn-service.com
1-1) Object Storage APIを利用する
1
①のリクエストを例に、Object Storage APIへのリクエストの生成方法を解説します。
Object Storage APIのリクエストは、一般的なHTTPのリクエストと同様に、
2
Authorization Headerを作成するには、複数のステップが必要になります。説明のため、Authorization Headerの作成を示す疑似文法を次に示します(¥n は、一般的には改行と呼ばれる Unicode コードポイント U+000A です)
Authorization = “AWS” + “ ” + アクセス鍵+ ":" + Signature;
Signature = Base64( HMAC-SHA1( UTF-8-Encoding (秘密キー, 署名対象文字列 ) ) );
署名対象文字列 = リクエストメソッド + "¥n" +
Content-MD5 + "¥n" +
Content-Type + "¥n" +
Date + "¥n" +
サービス用拡張ヘッダー要素 +
正規化済みリソース要素;
正規化済みリソース要素= [ “/” + バケット名 ] +
URLエンコードしたパス部分 +サブリソース文字列
[サブリソースが与えられた場合。 サブリソースは、例えば“?acl” など];
サービス用拡張ヘッダー要素 = 後述
ここで、①で上げた”sample”内の、”object.jpg”を取得する例に照らし合わせてAuthentication Headerを作成する過程を解説します。
GET /sample/object.jpg HTTP/1.1
Date: Thu, 18 Oct 2012 03:14:30 +0000
ベースとなるHTTP Request(以下、ベースリクエストと呼ぶ)は、③で示すところになります。
まず、”署名対象文字列”を生成します。②で示したとおり、署名対象文字列は”HTTPリクエストメソッド+¥n”から始まります。③では、HTTPリクエストメソッドは、”GET”です。この時点で、③の例での証明対象文字列は、
②
③
署名対象文字列 = GET¥n
となります。
次に、②の疑似文法における、`Content-MD5 + “¥n”`および、`Content-Type + “¥n” `の扱いに移ります。Content-MD5および、Content-Typeは、ベースリクエストのヘッダーに、”Content-MD5”ならびに、”Content-Type” ヘッダーが含まれている場合と含まれていない場合で扱いが異なります。
③を例に、”Content-MD5”および”Content-Type” Headerが含まれていない場合を説明します。
5
1-1) Object Storage APIを利用する
③のように”Content-MD5” Headerがベースリクエストに含まれている場合は、Content-MD5は無視され、後に続く”¥n”だけが、署名対象文字列に付け足されます。②で`Content-MD5 + “¥n”`が評価された時点の署名対象文字列は、
1. 拡張ヘーダー名(x−amz-aclなど)に、大文字が含まれている場合は、Header名を小文字に変換します。例えば、”X-Amz-Acl”というヘッダー名であった場合は、”x-amz-acl”となります。
2. 拡張ヘッダーが複数指定されていた場合は、1で小文字に統一した拡張ヘッダー名で、拡張ヘッダーをアルファベット順(昇順)に並べ替えます。例えば、”GET Object”で、指定可能な、” x-amz-server-side -encryption “, “x-amz-delete-marker”が指定されていた場合は、次のようになります。
6
署名対象文字列 = GET¥n¥n
となります。`Content-Type + “¥n”`についても、Contetn-MD5の場合と同様の扱いとなります。②のContent-MD5 + “¥n”`が評価された時点の署名対象文字列は次のようになります。
署名対象文字列 = GET¥n¥n¥n
③のHTTP Requestの例からは外れますが、Content-MD5や、Content-Type Headerがベースリクエストに含まれていた場合は、ヘッダー名に続く値を署名対象文字列に加えます。たとえば、『Content-Type: image/jpeg』という、ヘッダーがHTTP Requestに含まれていた場合は、②の`Content-Type + “¥n”`のContent-Typeに、”image/jpeg”が代入され、結果的に②の`Content-Type + “¥n”`が評価された直後の署名対象文字列は、『署名対象文字列=GET¥n¥nimage/jpeg¥n』となります。
次に②の疑似文法における「Date+”¥n”」の扱いに移ります。
Object Storage APIでは、リプレイアタック等を防ぐ目的に、リクエストに有効期間が設定されています。そのため、HTTP Requestには、Date Headerは必ず含まれなくてはなりません。②における『Date+”¥n”』は、『”Date Headerの値” + ”¥n”』となります。したがって、この時点の“署名対象文字列”は以下のようになります。
署名対象文字列 = GET¥n¥n¥nThu, 18 Oct 2012 03:14:30 +0000¥n
次に、②の疑似文法における”サービス用拡張ヘッダー要素”の説明に移ります。”サービス用拡張ヘッダー要素”を構成するヘッダーは、”x-amz-”で始まるヘッダーとなります(以下、拡張ヘッダーとします)。
③で示したベースリクエストには、拡張ヘッダーは含まれていないため、③で示したベースリクエストに対しては、何も処理を実施しません。仮に、サービス用拡張ヘッダーが含まれていた場合は、以下のルールに従います。
x-amz-server-side-encryption: AES256
x-amz-delete-marker: true
x-amz-delete-marker: true
x-amz-server-side-encryption: AES256
1-1) Object Storage APIを利用する
7
6. 改行文字“¥n”(U+000A)を、5までの作業を施した各々の拡張ヘッダーに追加します。この一覧のすべてのヘッダーを1つの文字列に連結することで、 サービス用拡張ヘッダー要素とします。
3. 同名の拡張ヘッダーが指定された場合 (同じ拡張ヘッダー名が複数ある場合)は、1つの「拡張ヘッダー名:コンマ区切り値のリスト」に整形します。その際、値と値の間の空白は削除されます。例えば、2つの拡張ヘッダー「x-amz-meta-username: Alice」および「x-amz-meta-username: Bob」が1つのヘッダーに結合されると、「x-amz-meta-username:Alice,Bob」になります。
4. 拡張ヘッダーが複数行にまたがる場合は、その拡張ヘッダーに含まれる空白文字列(改行文字も含みます)を、“一つの”空白文字(white-space)に置き換えて、一行での表現に置き換えます。
5. 拡張ヘッダー名と、値の間の空白を除く形でつなぎます。” x-amz-server-side -encryption “, “x-amz-delete-marker”の例では以下のようになります。
x-amz-delete-marker:true
x-amz-server-side-encryption:AES256
x-amz-delete-marker: true
x-amz-server-side-encryption: AES256
③に示したベースリクエストの署名対象文字列は、サービス用拡張要素の処理が不要なためこの時点での変更はなく、
署名対象文字列 = GET¥n¥n¥nThu, 18 Oct 2012 03:14:30 +0000¥n
のままとなります。
②で示した疑似文法中の”正規化済みリソース要素”の処理に移ります。正規化済みリソース要素は、以下の手順で作成します。
1. 空の文字列(“”)を箱として準備します。
2. HTTP ホストヘッダー(Host Header)を使用してバケット名が指定されているリクエストについては、バケット名の前に “/” を付け、1で準備した空の文字列に加えます。例えば、『Host: sample. str.cloudn-service.com』の場合は、”/sample”となります。 パス形式のリクエスト(③の例のように、Host Headerが指定されていないもの、あるいは、Host Headerの値が、API サーバ(str.cloudn-service.com)に等しい場合)、およびバケットを処理しないリクエストの場合は何も行いません。
3. HTTP リクエスト URI のパス部分を2までの処理の完了した箱に追加します。③の例では、パス形式に該当するため、この時点の箱の中身は”/sample/object.jpg”のようになります。?versioning、?location、?acl、 などのサブリソース文字列を処理するリクエストの場合は、“疑問符”、”サブリソース名”、および”サブリソースの値” (サブリソースの値は存在する場合)を箱に追加します。サブリソースが複数ある場合、サブリソースをアルファベット順(昇順)で並べ替え、「&」で区切ります。例えば、?acl&versionId=value となります。サブリソースは、acl、location、policy、uploadId、uploads、versionId、versioning、およびversionsです。
1-1) Object Storage APIを利用する
8
③で示したベースリクエストの例では、 “サブリソース文字列”は存在しないため、上記1、2、3の処理を施した“正規化済みリソース要素”は、”/sample/object.jpg”となります。
この”正規化済みリソース要素”を、証明対象文字列に加えます。
署名対象文字列 = GET¥n¥n¥nThu, 18 Oct 2012 03:14:30 +0000¥n/sample/object.jpg
(注意:□は1つの空白文字列を示します)
以上で、署名対象文字列の生成は終了です。署名対象文字列をターミナルなどの標準出力に出すると、以下のように見えます。
Authorization:□AWS□アクセス鍵:Signature ④
④で、作成したAuthorization Headerを③ベースリクエストに追加することで、①に示した、リクエストとなります。
GET /sample/object.jpg HTTP/1.1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Authorization: AWS SaMp1eAcceSkey:d9OGZcQHl7l8iVwP7IeRLRu9sNk=
②に示した疑似文法に従い、”秘密キー”とUTF-8エンコードを施した署名対象文字列を入力とするHMAC-SHA1の出力(メッセージダイジェスト)を取得します。その出力をBase64でエンコードしたものを、”Signature”とします。
以上の操作で得られた、”Signature”と 「アクセス鍵」を以下のように、組み合わせてAuthorization Headerとして、生成します。
GET
Thu, 18 Oct 2012 03:14:30 +0000
/sample/object.jpg
(注意:/sample/object.jpgの後ろには、改行は含まれません。
1-1) Object Storage APIを利用する
9
[リクエストと署名対象文字列の例]
“APIリクエストの作成”で解説しましたが、署名対象文字列の生成方法は以下のステップを踏みます。ここでは、参考のためリクエストと署名対象文字列の関係を例示します。
Get Object
(HTTP ホストヘッダー(Host Header)を使用してバケットが指定されている場合)
GET /object.txt HTTP1/1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Host: sample.str.cloudn-service.com
User-Agent: Ruby
Accept: */*
Authorization: AWS ${アクセス鍵}:${署名}
GET¥n
¥n
¥n
Thu, 18 Oct 2012 03:14:30 +0000¥n
/sample/object.txt
PUT Bucket
(パス形式の場合)
PUT /sample2 HTTP1/1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Content-Type: application/octet-stream
User-Agent: Ruby
Accept: */*
Authorization: AWS ${アクセス鍵}:${署名}
PUT¥n
¥n
application/octet-stream¥n
Thu, 18 Oct 2012 03:14:30 +0000¥n
/sample2
PUT Object
(パス形式の場合)
PUT /sample/rfc2460.txt HTTP1/1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Content-MD5: 68f4c9a5670828247c1a56693f71f309
Content-Type: text/plain
Content-length: 85890
User-Agent: Ruby
Accept: */*
x-amz-acl: public-read
Authorization: AWS ${アクセス鍵}:${署名}
PUT¥n
68f4c9a5670828247c1a56693f71f309¥n
text/plain¥
Thu, 18 Oct 2012 03:14:30 +0000¥n
x-amz-acl:public-read¥n
/sample/rfc2460.txt
Get Service
(HTTP ホストヘッダー(Host Header)を使用しているが、API Serverに等しい場合)
GET / HTTP1/1
Date: Thu, 18 Oct 2012 03:14:30 +0000
Host: str.cloudn-service.com
Authorization: AWS ${アクセス鍵}:${署名}
GET¥n
¥n
¥n
Thu, 18 Oct 2012 03:14:30 +0000¥n
/
1-1) Object Storage APIを利用する
3
10
Bucket コマンド オプション
GET Service
PUT Bucket
DELETE Bucket
GET Bucket
List Objects
GET Bucket ACL
GET Bucket Location
GET Bucket logging
GET Bucket Object versions
GET Bucket versioning
List Multipart Uploads
PUT Bucket ACL*
PUT Bucket versioning
HEAD Bucket
権限を持っているすべてのバケットリスト
バケット作成
バケット削除
バケット一覧取得
バケット内容オブジェクト一覧取得
アクセス制御リスト取得
バケットのロケーション(リージョン)取得
オブジェクトのバージョン取得
バケットのバージョニング情報取得
マルチパートアップロードの一覧化
バケットACL設定
バージョニング設定
本サービスにて提供しているAPIは下記となります。
1-2) Object Storage API一覧
以下のAPIは、サポート対象外となっております。 DELETE Bucket lifecycle DELETE Bucket website GET Bucket lifecycle GET Bucket notification GET Bucket requestPayment GET Bucket website PUT Bucket lifecycle PUT Bucket notification PUT Bucket requestPayment PUT Bucket website
11
Object コマンド オプション
DELETE Object
PUT Object
Initiate Multipart Upload
Upload Part
Complete Multipart Upload
Abort Multipart Upload
List Parts
GET Object
GET Object ACL*
HEAD Object
PUT Object ACL*
PUT Object Copy
オブジェクト削除
オブジェクトの作成
マルチパートアップロードの初期化
マルチパートアップロード
マルチパートアップロードの完了
マルチパートアップロードの中止
マルチパートの一覧
オブジェクトのダウンロード
オブジェクトのACL情報取得
オブジェクトのメタデータ取得
ACL設定
異なるリージョンにオブジェクトのコピー
本サービスにて提供しているAPIは下記となります。
1-2) Object Storage API一覧
以下のAPIは、サポート対象外となっております。 GET Object torrent POST Object Upload Part - Copy Delete Multiple Objects
12
本サービスにて提供しているAPI Server (End Point)は下記となります。
str.cloudn-service.com
以下のテーブルに、Cloundn Storage のREST API Requestにおいて用いるHeader形式を示します。
Common Request Header
ヘッダー名 説明
Authentication 袁術の認証値を指定する
Content-Length ヘッダーを除いたリクエストの長さ(Byte)。このヘッダーはXMLをアップロードするPUT requestで必要となる
Content-MD5 ヘッダーを除いたリクエストの128 bit MD5値をbase64でエンコードしたものを指定する。この値は、リクエストの完全性(送信者が送信したリクエストが送信時のものに等しいか)をチェックする目的で利用される
Date リクエスト送信時の日時を指定する
Expect 100-continueを指定した場合、Acknowledgementがかえるまで、Bodyを送信しない。Response Headerによってreject
メッセージを受取った場合、Bodyは送信しない。
Valid Values: 100-continue
Host パス計k漆器で指定する場合は、str.cloudn-service.comを指定する(または、指定しない。)バーチャルホスト形式の場合は、${バケット名}.str.cloudn-service.comを指定する
Common Response Header
ヘッダー名 説明
Content-Length レスポンスのBodyの長さ(Byte)
Default: None
Connection サーバーとの間のコネクションがopenなのかclosedなのかを返す
Valid Values : open | close
Default : None
Date レスポンス送信時の日時が返される
Default: None
ETag オブジェクトのEntity Tag. PUT Objectのオペレーションで作成された場合は、MD5の16進標記であるが、それ以外の場合はオブジェクトのmd5値の場合もあるし、そうでない場合もある。md5値でない場合は、16進数以外の文字がふくまれうこともあるし、32文字の16進数文字列に満たない場合も、それ以上の長さの場合もある。
Server Responseを送信したサーバの名前
x-amz-delete-marker デリートマーカーがついているか否か
Valid Values : true | false
Default : false
x-amz-request-id リクエストを識別するためのユニークな値。cloudn storageサービス側で生成し指定される
x-amz-version-id オブジェクトのバージョン。バーヒョニングを有効にしている場合、cloudn storageサービスによって、オブジェクトがバケットに追加される際に、ランダムに生成された文字列が指定され、レスポンスで返される
バージョニングの機能が有効になっていない場合、常に null が返される
Valid Values : null | any URL-ready, UTF-8 encoded string
Default : null
2-1) Object Storage API 共通情報
13
GET Service
コマンド概要 所有しているすべてのバケット情報を取得します
Request
Request Method GET
Path,Parameters, etc Request Path に ”/” を指定。(Host Headerにbucket名つきの、Hostnameを指定しません。必ず、str.cloudn-
service.com へのリクエストとします)
Header 無し
Body 無し
Response
Response Header 無し
Response (Body) 形式 XML
XML 構成
Node名 説明 子Node (親Node)
ListAllMyBucketsResult Responseのコンテナ Owner, Buckets
(None)
Owner Bucket Ownerの情報を格納したコンテナ
ID, DisplayName
(ListAllMyBucketsResult)
ID Bucket OwnerのUser ID None
(ListAllMyBucketsResult.Owner)
DisplayName Bucket Ownerの表示名 None
(ListAllMyBucketsResult.Owner)
Buckets 1個以上のバケットの情報を格納するコンテナ
Bucket (ListAllMyBucketsResult)
Buket 1個のバケットの情報を格納するコンテナ
Name,
(ListAllMyBucketsResult.Buckets)
Name バケット名 None
(ListAllMyBucketsResult.Buckets.Bu
cket)
CreationDate バケットの作成日時 None
(ListAllMyBucketsResult.Buckets.Bu
cket)
2-2) Object Storage API バケット操作
14
PUT Bucket
コマンド概要 バケットを作成します。
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。(※1)
拡張ヘッダー
説明 必須
x-amz-acl Access Control を指定します。
Type : String
Valid Values:
private | public-read | public-read-write | authenticated-read |
bucket-owner-read | bucket-owner-full-control
x-amz-
grant-read
(※2)
バケット内のObjectの一覧表示を許可する
Type : String
Constraints : None
Default : None
x-amz-
grant-write
(※2)
Objectの作成、ならびにバケット内のすべてObjectに更新、削除の許可を与える
Type : String
Constraints : None
Default : None
x-amz-
grant-read-
acp (※2)
バケットのAccess Control Listの閲覧を許可する
Type : String
Constraints : None
Default : None
x-amz-
grant-write-
acp (※2)
パケットに対してAccess Control Listの設定・更新を許可する
Type : String
Constraints : None
Default : None
x-amz-
grant-full-
control
(※2)
パケットに対して、フルコントロールを設定する
Type : String
Constraints : None
Default : None
Body(任意) 形式 XML
XML構成 Node名 説明 子Node (親Node)
CreateBucketCo
nfiguration バケット設定を格納するためのコンテナ
LocationConstraint
(None)
LocationConstra
int バケットを作成するリージョンを指定します。
リージョン一覧:
None
(CreateBucketConfiguration)
Response
Response Header 特別なヘッダーは無し
Response (Body) 無し
• ※1 : パス形式でなく、Virtual-Host形式で指定する場合は、Host Headerは必須となり、Request Pathは常に、”/”になります。 • ※2 : 特殊なAttribute Value Pairでの指定になります。Attributeは、“id” , “emailAddress”であり、それぞれ、Cloudn Storage
サービスのIDならびに登録された、e-mail addressをValueとしてとります。(例:x-amz-grant-read: id= “daikuwa”
2-2) Object Storage API バケット操作
15
DELETE Bucket
コマンド概要 バケットを削除します。ただし、バケットを削除する前に、すべてのオブジェクト(すべてのバージョンのオブジェクト、ならびに、”Delete マーカー“がついたものを含め)を、事前に削除しておく必要があります。
Request
Request Method DELETE
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。(※)
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。(※)
Body 無し
Response
Response Header 特別なヘッダーは無し
Response (Body) 無し
• ※ パス形式の場合は、Host Headerは必須は必須ではなく、指定する場合は、str.cloudn-service.comになります。Virtual-Host形式で指定する場合は、Host Headerは必須となり、Request Pathは常に、”/”になります。
2-2) Object Storage API バケット操作
16
GET Bucket (LIST Object)
コマンド概要 バケット内のObjectの一覧を取得します。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Other
Parameters
パラメータ名 説明 必須
delimiter
(※)
指定した文字列により、Responseに含まれるKeyを2分割し、前方一致でKeyに共通する部分をPrefixとして抽出する
Type : String
Default : None
marker
(※)
指定した文字列をpivotとして、keyの値がpivot以降のものを、アルファベット順に並べる
Type : String
Default : None
max-keys
(※)
Responseに含まれるKeyの数の上限値を設定する.上限を超えた場合は、Response中のIsTruncated の値がTrueで返される。
Type : String
Default : 1000
prefix
(※)
指定した文字列で始まるkeyを持つオブジェクトだけを、responseに含める。
Type : String
Default : None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response Header 無し
Response (Body) 形式 XML
XML 構成
Node名 説明 子Node (親Node)
ListBucketResult Responseのコンテナ Name, Prefix, Marker, MaxKeys,
IsTruncated, Contents
(None)
Name バケット名 None
(ListBucketResult)
Prefix リクエスト時に指定したPrefix None
(ListBucketResult)
Marker リクエスト時に指定したMarker None
(ListBucketResult)
MaxKeys リクエスト時に指定したMax-Keysの値。
指定しなかった場合は、Default値 1000
が返る。
None
(ListBucketResult)
IsTruncated 結果が切り捨てられているかどうかを、
boolean で提示。MaxKeysを超えた場合に、Trueとなる。
None
(ListBucketResult)
Contents オブジェクトのメタデータを格納するコンテナ
Key, LastModiified, StorageClass, Size,
Etag, Owner
(ListBucketResult)
• ※ 署名対象文字列には加わりません。
2-2) Object Storage API バケット操作
17
Response (前ページからの続き)
Response
(Body)
XML 構成
Node名 説明 子Node (親Node)
Key オブジェクトのKey None,
(ListBucketResult.Contents)
LastModified 最終更新日時 None
(ListBucketResult.Contents)
StorageClass 常にSTANDARDを返す None
(ListBucketResult.Contents)
Size オブジェクトのサイズ(単位:Byte) None
(ListBucketResult.Contents)
ETag オブジェクトのMD5 Hash値。変更の有無を反映するだけであり、オブジェクトのメタデータではない。
None
(ListBucketResult.Contents)
Owner オブジェクトのオーナの情報を格納するコンテナ
ID, DisplayName
(ListBucketResult.Contents)
ID オブジェクトのオーナーのID None
(ListBucketResult.Contents.Owner)
DisplayName オブジェクトのオーナーのディスプレイネーム
None
(ListBucketResult.Contents.Owner)
CommonPrefixes Delimiterをリクエストに指定し、Delimiter
を基準とした前方をCommon Prefixとするが、そのCommon Prefixを格納するコンテナ
Prefix
(ListBucketResult)
Prefix Common Prefixで見つかったPrefixを格納する
None
(ListBucketResult.CommonPrefixes)
2-2) Object Storage API バケット操作
18
GET Bucket ACL
コマンド概要 バケットのAccess Control Listを取得します。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
acl Access List を意味するリクエストパラメーター。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response Header 無し
Response (Body) 形式 XML
XML 構成 Node名 説明 子Node (親Node)
AccessControlPolicy Responseのコンテナ Owner, AccessControlList
(None)
Owner Ownerの情報を格納するコンテナ ID, DIsplayName
(AccessControlPolicy)
ID OwnerのアカウントID None
(AccessControlPolicy.Owner)
DisplayName Ownerのディスプレイネーム None
(AccessControlPolicy.Owner)
AccessControlList ACLの情報を格納するコンテナ Grant
(AccessControlPolicy)
Grant アクセス権の被譲渡者と、パーミッションを格納するコンテナ
Grantee
(AccessControlPolicy.AccessControl
List)
Grantee アクセス権の被譲渡者の情報を格納するコンテナ
ID, DisplayName
(AccessControlPolicy.AccessControl
List.Grant)
ID アクセス権の被譲渡者のID None
(AccessControlPolicy.AccessControl
List.Grant.Grantee)
Displayname アクセス権の被譲渡者のディスプレイネーム
None
AccessControlPolicy.AccessControlL
ist.Grant.Grantee)
Permission パーミッション None
(AccessControlPolicy.AccessControl
List.Grant.Grantee)
2-2) Object Storage API バケット操作
19
GET Bucket Location
コマンド概要 バケットのLocationを取得します。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
location? location取得を意味するリクエストパラメーター。署名対象文字列として、評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response Header 無し
Response (Body) 形式 XML
XML
構成
Node名 説明 子Node (親Node)
LocationConstraint Responseのコンテナ None
(None)
2-2) Object Storage API バケット操作
20
GET Bucket Object Versions
コマンド概要 バケットに格納されたオブジェクトのバージョンを取得します。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
versions オブジェクトのバージョンを取得するための、リクエストパラメータ。署名対象文字列として、評価する必要がある。
YES
Other
Parameters
パラメータ名 説明 必須
delimiter
(※)
指定した文字列により、Responseに含まれるKeyを2分割し、前方一致でKeyに共通する部分をPrefixとして抽出する
Type : String
Default : None
marker
(※)
指定した文字列をpivotとして、keyの値がpivot以降のものを、アルファベット順に並べる
Type : String
Default : None
max-keys
(※)
Responseに含まれるKeyの数の上限値を設定する.上限を超えた場合は、Response中のIsTruncated の値がTrueで返される。
Type : String
Default : 1000
prefix
(※)
指定した文字列で始まるkeyを持つオブジェクトだけを、responseに含める。
Type : String
Default : None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
• ※ 署名対象文字列には加わりません。
Response
Response Header 無し
Response (Body) 形式 XML
XML
構成
Node名 説明 子Node (親Node)
ListVersionsResult Responseのコンテナ Name, Prefix, KeyMarker, MaxKeys,
VersionIdMarker, IsTruncated, Version
(None)
Name Bucket名 None
(ListVersionsResult)
Prefix リクエスト時に指定したPrefix None
(ListVersionsResult)
KeyMarker リクエスト時に指定したkey-marker None
(ListVersionsResult)
VersionIdMarker リクエスト時に指定したversion-id-
marker
None
(ListVersionsResult)
MaxKeys リクエスト時に指定したmax-keys None
(ListVersionsResult)
IsTruncated 結果が切り捨てられているかどうかを、
boolean で提示。MaxKeysを超えた場合に、Trueとなる。
None
(ListVersionsResult)
2-2) Object Storage API バケット操作
21
Response (前ページからの続き)
Response
(Body)
XML 構成
Node名 説明 子Node (親Node)
NextKeyMarker Responseに含まれるVersionObjectの数がMaxKeysを超えた場合に返される。次回以降のrリクエストにおいて、Key-
Markerにこの値をいれることで、以降のObjectを取得出来るようにする。
None
(ListVersionsResult)
NextVersionIdMarker Responseに含まれるVersionObjectの数がMaxKeysを超えた場合に返される。次回以降のrリクエストにおいて、version-
id-markerにこの値をいれることで、以降のObjectを取得出来るようにする。
None
(ListVersionsResult)
Version ObjectのVersion情報のコンテナ Key, VersionId, IsLatest,
LastModified, StorageClass, Size,
ETag, Owner,
(ListVersionsResult)
Key Object Key None
(ListVersionsResult.Version)
VersionID ObjectのVersion ID None
(ListVersionsResult.Version)
IsLatest Objectが最新か否か None
(ListVersionsResult.Version)
LastModified 最終更新日時 None
(ListVersionsResult.Version)
StorageClass 常に”STANDARD”を返す None
(ListVersionsResult.Version)
Size Objectのサイズ(Byte) None
(ListVersionsResult.Version)
Etag ObjectのMD5値。変更の有無の確認の為にあり、メタデータではない
None
(ListVersionsResult.Version)
Owner ObjectのOwner情報のコンテナ ID, DisplayName
(ListVersionsResult.Version)
ID ObjectのOwnerのID None
(ListVersionsResult.Version.Owner)
DisyplayName ObjectのOwnerのディスプレイネーム None
(ListVersionsResult.Version.Owner)
2-2) Object Storage API バケット操作
22
GET Bucket Versioning
コマンド概要 バケットの Versioning の状態を取得します。同時に、Multi-Factor Authentication
(MFA) Deleteのステータスを取得します。
Response
Response
Header
無し
Response
(Body)
形式 XML
XML 構成
Node名 説明 子Node (親Node)
VersioningConfiguratio
n
Responseのコンテナ Status, MfaDelete
(None)
Status BucketnoVersioningの状態を、”Suspended”または、”Enabled”のいずれかで返す
None
(VersioningConfiguration)
MfaDelete “MFA Delete”の状態を、”Disabled”あるいは”Enabled”で返す。未設定の場合は、Response に含まれない
None
(VersioningConfiguration)
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Request
Parameters
パラメータ名 説明 必須
versioning Versioning リクエストを意味するパラメーター。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
2-2) Object Storage API バケット操作
23
List Multipart Upload
コマンド概要 Bucketに体する進行中のマルチパートアップロードの状態の一覧を取得する
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
uploads 進行中のバージョンを取得するための、リクエストパラメータ。署名対象文字列として、評価する。
YES
Other
Parameters
パラメータ名 説明 必須
delimiter
(※)
指定した文字列により、Responseに含まれるKeyを2分割し、前方一致でKeyに共通する部分をPrefixとして抽出する
Type : String
Default : None
key-marker
(※)
指定した文字列をpivotとして、keyの値がpivot以降のものを、アルファベット順に並べる
Type : String
Default : None
max-
uploads
(※)
Responseに含まれるupload responseの数の上限値を設定する.上限を超えた場合は、Response中のIsTruncated の値がTrueで返される。
Type : String
Default : 1000
upload-id-
marker (※)
“key-marker”と同時に利用された際に評価され、それ以外の時は無視される。
key-markerに指定されたもの且つ、指定したupload-id-markerより、アルファベット順でみて大きなものが返される
prefix
(※)
指定した文字列で始まるkeyを持つオブジェクトだけを、responseに含める。
Type : String
Default : None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
• ※ 署名対象文字列には加わりません。
Response
Response Header 無し
Response (Body) 形式 XML
XML
構成
Node名 説明 子Node (親Node)
ListMultipartUploadsR
esult
Responseのコンテナ Bucket, prefix, KeyMarker,
UploadIdMarker, MaxUpload, IsTruncated,
NextKeyMarker, NextUploadIdMarker,
upload
(None)
Bucket Bucket名 None
(ListMultipartUploadsResult)
Prefix リクエスト時に指定したPrefix None
(ListMultipartUploadsResult)
KeyMarker リクエスト時に指定したkey-marker None
(ListMultipartUploadsResult)
UploadIdMarker リクエスト時に指定したupload-id-marker None
(ListMultipartUploadsResult)
MaxUploads リクエスト時に指定したmax-uploads None
(ListMultipartUploadsResult)
2-2) Object Storage API バケット操作
24
Response (前ページからの続き)
Response
(Body)
XML 構成
Node名 説明 子Node (親Node)
IsTruncated 結果が切り捨てられているかどうかを、
boolean で提示。MaxUploadsを超えた場合に、Trueとなる。
None
(ListMultipartUploadsResult)
NextKeyMarker Responseに含まれるUploadの数がMaxUploadsを超えた場合に返される。次回以降のrリクエストにおいて、Key-
Markerにこの値をいれることで、以降のUploadを取得出来るようにする。
None
(ListMultipartUploadsResult)
NextUploadIdMarker Responseに含まれるUploadの数がMaxUoloadsを超えた場合に返される。次回以降のrリクエストにおいて、upload-
id-markerにこの値をいれることで、以降のUploadを取得出来るようにする。
None
(ListMultipartUploadsResult)
Delimiter リクエスト時に指定したdelimiterの値 None
(ListMultipartUploadsResult)
CommonPrefixes Delimiterをリクエストに指定し、Delimiter
を基準とした前方をCommon Prefixとするが、そのCommon Prefixを格納するコンテナ
Prefix
(ListMultipartUploadsResult)
(CommonPrefix,)Prefix CommonPrefixとして得られたprefix None
(ListMultipartUploadsResult.Common
Prefix)
Upload Upload 状況のコンテナ Key, Initiator, Owner, StorageClass,
iniated
(ListMultipartUploadsResult)
Key Object Key None
(ListVersionsResult.Version.Upload)
Initiator 当該アップロードを開始したアカウント情報を格納するコンテナ
ID, DisplayName
(ListVersionsResult.Version.Upload)
(Initiator.I)D 当該アップロードを開始したアカウントのID
None
(ListVersionsResult.Version.Upload.I
nitiator)
(Initiator.I)DisplayNam
e 当該アップロードを開始したアカウントのディスプレイネーム
None
(ListVersionsResult.Version.Upload.I
nitiator)
Owner Objectが作成された後の、そのObjectのOwner情報を格納するコンテナ
ID, DisplayName
(ListVersionsResult.Version.Upload)
(Owner.)ID Objectが作成された後の、そのObjectのOwnerのID
None
(ListVersionsResult.Version.Upload.I
nitiator)
(Owner.)DisplayName ObjectのMD5値。変更の有無の確認の為にあり、メタデータではない
None
(ListVersionsResult.Version.Upload.I
nitiator)
StorageClass 常に”STANDARD”を返す None
(ListVersionsResult.Version.Upload)
Initiated 当該Uploadが開始された日時 None
(ListVersionsResult.Version.Upload)
2-2) Object Storage API バケット操作
25
PUT Bucket ACL
コマンド概要 バケットにACLを設定する。
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
acl ACL設定を示すフラグ。署名対象文字列に含める必要がある。 YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
拡張ヘッダー(注1)
説明 必須
x-amz-acl バケットにACLを設定する。
Type : String
Valid Values: private | public-read | public-read-write | authenticated-read | ¥
bucket-owner-read | bucket-owner-full-control
Default : private
(YES)
(注2)
x-amz-
grant-read
バケット内のオブジェクトの一覧を得る権限を与える
Type : String
Default : None
Constraints : None
x-amz-
grant-write バケットにオブジェクトの作成、ならびにバケット内のオブジェクトの更新、削除の権限を付与する
Type : String
Default : None
Constraints : None
x-amz-
grant-read-
acp
バケットに設定されたACLのRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-
grant-write-
acp
バケットに設定されたACLの設定のRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-
grant-full-
control
バケットに対してフルコントロール権を与える
Type : String
Default : None
Constraints : None
Body XML Data(注1)
Node名 説明 子Node(親Node) 必須
AccessControlPol
icy
Request コンテナ Owner, AccessControlList
(None)
YES
Owner objectのオーナー情報を格納するコンテナ ID, DisplayName
(AccessControlPolicy)
YES
(Owner).ID objectのオーナーのID None
(AccessControlPolicy.Owner)
YES
(Owner).DisplayN
ame
objectのオーナーのディスプレイネーム None
AccessControlPolicy.Owner)
YES
2-2) Object Storage API バケット操作
26
Request (前ページの続き)
Body XML Data(注1)
Node名 説明 子Node(親Node) 必須
AccessControlList ACLの情報を格納するコンテナ Grant
(AccessControlPolicy)
YES
Grant ACLの個々の要素を格納するコンテナ Grantee, Permission
(AccessControlPolicy.Access
ControlList)
YES
Grantee アクセス権の被譲渡者の情報を格納するコンテナ
nodeのアトリビュートとして、
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance”
の記載が必要。また、アクセス権の被譲渡者の指定方法に応じて、アトリビュートに、
xsi:type="CanonicalUser”
xsi:type="AmazonCustomerByEmail"
xsi:type="Group"
のいずれかの指定が必要。
ID, DisplayName,
EmailAddress, URI
(AccessControlPolicy.Access
ControlList.Grant)
YES
(Grantee).ID Granteeのアトリビュートに、xsi:type=“CanonicalUser”を宣言した場合に指定する。アクセス権の被譲渡者のアカウントID
None
(AccessControlPolicy.Access
ControlList.Grant.Grantee)
(YES)
(Grantee).DisplayN
ame
Granteeのアトリビュートに、xsi:type=“CanonicalUser”を宣言した場合に指定する。アクセス権の被譲渡者のディスプレイネーム
None
(AccessControlPolicy.Access
ControlList.Grant.Grantee)
(Grantee).
EmailAddress
Granteeのアトリビュートに、xsi:type=“AmazonCustomerByEmail” を宣言した場合に指定する。アクセス権の被譲渡者の登録されているe-mail address
None
(AccessControlPolicy.Access
ControlList.Grant.Grantee)
(YES)
(Grantee).URI Granteeのアトリビュートに、xsi:type=“Group”を宣言した場合に指定する。
None
(AccessControlPolicy.Access
ControlList.Grant.Grantee)
(YES)
Permission 権限の種類を指定する。
Valid Values: FULL_CONTROL | WRITE | ¥
WRITE_ACP | READ |
READ_ACP
None
(AccessControlPolicy.Access
ControlList.Grant)
YES
• (注1) HeaderによるACLの設定と、Bodyによるリクエストは併用不可。つまり、HeaderによりACL設定のリクエストを行う場合は、bodyの指定は不要であり、Bodyによるリクエストを行う場合はHeaderによる指定は不要である。
• (注2)Headerによるリクエストの場合は必須である
Response
Response Header x-amz-version-
id
オブジェクトが一意なVersion IDを持っていた場合は、Version IDが返される
Type : String
Default : None
Response (Body) 無し
2-2) Object Storage API バケット操作
27
PUT Bucket Versioning
コマンド概要 バケットにVersioningを設定する。
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
versioning Versioning 設定を示すフラグ。署名対象文字列に含める必要がある。 YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
拡張ヘッダー(注1)
説明 必須
x-amz-mfa “認証機器のシリアル番号” + “ “(white space) + “機器に表示された値”を指定する (YES)
Body XML Data
Node名 説明 子Node(親Node) 必須
VersioningConfig
uration
Request コンテナ Status, MfaDelete
(None)
YES
Status バケットにVersioningの設定を指定する
Valid Values : Suspended | Enabled
* Enable : Versioning を有効にする
* Suspended: Versioning を無効にする。無効の場合の
Version の 値はnulll
None
(VersioningConfiguration)
MfaDelete “MFA Delete”の機能を有効・無効を設定数する。有効にする場合は、x-amz-mfaのheaderを指定する必要がある
Valid Values: Disabled | Enabled
None
(VersioningConfiguration)
Response
Response Header 無し
Response (Body) 無し
2-2) Object Storage API バケット操作
28
HEAD Bucket
コマンド概要 バケットの存在と、それに対するアクセス権の有無を確認するのに有益なコマンド。バケットが存在し、且つ、アクセス権がある場合は、”200 OK”を返し、それ以外の場合は、”403 Forbidden”を返す。
Response
Response Header 無し
Response (Body) 無し
Request
Request Method HEAD
Path,Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Header 無し
Body 無し
2-2) Object Storage API バケット操作
29
DELTE Object
コマンド概要 バケット内の指定されたオブジェクトを削除する。
Response
Response Header x-amz-delete-
marker
Version管理されたObjectが一時的に削除されたものなのか否かのフラグ
x-amz-version-
id
versionIdが指定された場合に、指定されたversionでこのヘッダーに記載されたversionのオブジェクトが削除されたことを示す
Response (Body) 無し
Request
Request Method DLETE
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
versionId バージョンを指定して、オブジェクトを削除する場合に含めるリクエストパラメーター。署名対象文字列として評価する必要がある。
Type : String
Default : None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
2-3) Object Storage API オブジェクト操作
30
PUT Object
コマンド概要 バケット内にオブジェクトを作成する。
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
ヘッダー名 説明 必須
Cache-
Control
一連のRequest/Replyのやり取りの、キャッシュに対する振る舞いを指定する。
Type : String
Default : None
Constraints: None
Content-
Disposition
対象のオブジェクトに対して表象的な説明を付与する。
Type : String
Default : None
Constraints: None
Content-
Encoding
対象のオブジェクトに対してエンコーディングを指定する。同時に、Content-Typeを参照することで得られるMedia Typeにたいして、どのデコードメカニズムを適用しなければ行けないかを指定する。
Type : String
Default : None
Constraints: None
Content-
Length
オブジェクトのサイズをByte単位で指定する
Type : String
Default : None
Constraints: None
YES
Content-
MD5
ヘッダーを除いた128bitのMD5 Hash値をBase64 Encodingしたもを指定する。これは、コンテンツの完全性を確認するために利用される
Type : String
Default : None
Constraints: None
Content-
Type
コンテンツのフォーマットをMIME Typeで指定します。
Type : String
Default : binary/octet-stream
Valid Values: MIME types
Constraints : None
Expect このヘッダーに” 100-continue”をした場合、クライアント(API を利用したソフトウェア)は、ACKを受取るまでBodyを送信しません。また、NACKを受取った場合はBodyを送信しません
Type : String
Default : binary/octet-stream
Valid Values: MIME types
Constraints : None
Expires リクエストの有効期限をms( milliseconds)で指定する
Type : Int
Default : None
Constraints: None
拡張ヘッダー
説明 必須
x-amz-
meta-* オブジェクトにユーザ定義のメタデータを指定する。また、オブジェクトをダウンロードする際に同時に返される。PUT Headerは全体で8KBに制限されるため、ユーザ定義のメタデータヘッダーは2KBに制限される。各メタデータヘッダーは、Key-Value Pairの形式をとり、且つ、UTF-8でエンコードされた後、合計で2KBとする。
Type : String
Default : None
Constraints: None
2-3) Object Storage API オブジェクト操作
31
Response
Response Header x-amz-server-
side-encryption
Request時にserver-side encryptionを指定した場合に、確認のため当該ヘッダーが付与される
x-amz-version-
id
オブジェクトのVersion ID
Response (Body) 無し
Request (前ページからの続き)
Header 拡張ヘッダー 説明 必須
x-amz-server-
side-
ecncryptiion
オブジェクトが作成される際、サーバー側で暗号化する場合のアルゴリズムを指定する。
Type : String
Valid Value: AES256
x-amz-storage-
class
x-amz-acl オブジェクトに対して、ACLを設定する。
Type : String
Default : private
Valid Values: private | public-read | public-read-write | authenticated-read | ¥
bucket-owner-read | bucket-owner-full-control
Constraints: None
x-amz-grant-
read
(※1, ※2)
アクセス権の被譲渡者に、オブジェクトならびにそれに付随するメターデータのRead権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
read-acp
(※1)
アクセス権の被譲渡者に、オブジェクトのACLについてのRead権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
write-acp
(※1)
アクセス権の被譲渡者に、オブジェクトのACLについてのWrite権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
ffull-controll
(※1)
アクセス権の被譲渡者に、オブジェクトに対して、READ, READ_ACP, WRITE_ACPの権限を付与する
Type : String
Default : None
Constraints: None
Body アップロードデータ
• ※1 : 特殊なAttribute Value Pairでの指定になります。Attributeは、“id” , “emailAddress”であり、それぞれ、Cloudn StorageサービスのIDならびに登録された、e-mail addressをValueとしてとります。(例:x-amz-grant-read: id= “daikuwa”
• ※2. x-amz-grant-writeは、bucketに適用されるため、Objectには指定出来ません。
2-3) Object Storage API オブジェクト操作
32
Initiate Multipart Upload
コマンド概要 マルチパートアップロードを開始し、uploadIdを取得する。
Request
Request Method POST
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
ヘッダー名 説明 必須
Cache-
Control
一連のRequest/Replyのやり取りの、キャッシュに対する振る舞いを指定する。
Type : String
Default : None
Constraints: None
Content-
Disposition
対象のオブジェクトに対して表象的な説明を付与する。
Type : String
Default : None
Constraints: None
Content-
Encoding
対象のオブジェクトに対してエンコーディングを指定する。同時に、Content-Typeを参照することで得られるMedia Typeにたいして、どのデコードメカニズムを適用しなければ行けないかを指定する。
Type : String
Default : None
Constraints: None
Content-
Length
オブジェクトのサイズをByte単位で指定する
Type : String
Default : None
Constraints: None
YES
Content-
MD5
ヘッダーを除いた128bitのMD5 Hash値をBase64 Encodingしたもを指定する。これは、コンテンツの完全性を確認するために利用される
Type : String
Default : None
Constraints: None
Content-
Type
コンテンツのフォーマットをMIME Typeで指定します。
Type : String
Default : binary/octet-stream
Valid Values: MIME types
Constraints : None
Expect このヘッダーに” 100-continue”をした場合、クライアント(API を利用したソフトウェア)は、ACKを受取るまでBodyを送信しません。また、NACKを受取った場合はBodyを送信しません
Type : String
Default : binary/octet-stream
Valid Values: MIME types
Constraints : None
Expires リクエストの有効期限をms( milliseconds)で指定する
Type : Int
Default : None
Constraints: None
拡張ヘッダー
説明 必須
x-amz-
meta-* オブジェクトにユーザ定義のメタデータを指定する。また、オブジェクトをダウンロードする際に同時に返される。PUT Headerは全体で8KBに制限されるため、ユーザ定義のメタデータヘッダーは2KBに制限される。各メタデータヘッダーは、Key-Value Pairの形式をとり、且つ、UTF-8でエンコードされた後、合計で2KBとする。
Type : String
Default : None
Constraints: None
2-3) Object Storage API オブジェクト操作
33
Request (前ページからの続き)
Header 拡張ヘッダー 説明 必須
x-amz-server-
side-
ecncryptiion
オブジェクトが作成される際、サーバー側で暗号化する場合のアルゴリズムを指定する。
Type : String
Valid Value: AES256
x-amz-
storage-class
multipart uploadが成功した後のオブジェクトのストレージクラスを指定します。
Type : String
Valid Values: STANDARD | REDUCED_REDUNDANCY
Default : STANDARD
x-amz-acl オブジェクトに対して、ACLを設定する。
Type : String
Default : private
Valid Values: private | public-read | public-read-write | authenticated-read | ¥
bucket-owner-read | bucket-owner-full-control
Constraints: None
x-amz-grant-
read(※1,※2)
アクセス権の被譲渡者に、オブジェクトならびにそれに付随するメターデータのRead権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
read-acp
(※1)
アクセス権の被譲渡者に、オブジェクトのACLについてのRead権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
write-acp
(※1)
アクセス権の被譲渡者に、オブジェクトのACLについてのWrite権限を設定する
Type : String
Default : None
Constraints: None
x-amz-grant-
ffull-controll
(※1)
アクセス権の被譲渡者に、オブジェクトに対して、READ, READ_ACP, WRITE_ACPの権限を付与する
Type : String
Default : None
Constraints: None
Body 無し
• ※1 : 特殊なAttribute Value Pairでの指定になります。Attributeは、“id” , “emailAddress”であり、それぞれ、Cloudn StorageサービスのIDならびに登録された、e-mail addressをValueとしてとります。(例:x-amz-grant-read: id= “daikuwa”
• ※2. x-amz-grant-writeは、bucketに適用されるため、Objectには指定出来ません。
Response
Response
Header
x-amz-server-
side-encryption
Request時にserver-side encryptionを指定した場合に、確認のため当該ヘッダーが付与される
Response
(Body)
形式 XML
XML 構成
Node名 説明 子Node (親Node)
InitiateMultipartUpload
Result
Responseのコンテナ Bucket, Key, UploadId
(None)
Bucket バケット名 None
(InitiateMultipartUploadResult)
Key Object Key None
(InitiateMultipartUploadResult)
UploadId Multipart uploadを識別するID None
(InitiateMultipartUploadResult)
2-3) Object Storage API オブジェクト操作
34
Upload Part
コマンド概要 Multipart Uploadにおいて、一つのパーツをuploadする。
(事前にInitiate Multipart Uploadを用いて、uploadIdを取得しておく必要がある)
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
partNumbe
r
パートの順番を指定する。(1から始まる整数)。署名対象文字列として評価する必要がある。
YES
uploadId Initiate Multipart Uploadの結果得られたUploadIdを指定する。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
ヘッダー名 説明 必須
Content-
Length
オブジェクトのサイズをByte単位で指定する
Type : String
Default : None
Constraints: None
YES
Content-
MD5
ヘッダーを除いた128bitのMD5 Hash値をBase64 Encodingしたもを指定する。これは、コンテンツの完全性を確認するために利用される
Type : String
Default : None
Constraints: None
Expect このヘッダーに” 100-continue”をした場合、クライアント(API を利用したソフトウェア)は、ACKを受取るまでBodyを送信しません。また、NACKを受取った場合はBodyを送信しません
Type : String
Default : binary/octet-stream
Valid Values: MIME types
Constraints : None
Body アップロードデータ
Response
Response Header ETag (※) オブジェクトのMD5 Hash値。変更の有無を反映するだけであり、オブジェクトのメタデータではない。
x-amz-server-
side-encryption
Initiate Multipart Upload実行時に、server-side encryptionを指定した場合に、確認のため当該ヘッダーが付与される
Response (Body) 無し
• ※ Common Response Headerではあるが、”Complete Multipart Upload “を実行する際に必要となるため明記した
2-3) Object Storage API オブジェクト操作
35
Complete Multipart Upload
コマンド概要 Upload Partにてuploadしたオブジェクトの断片を結合して、一つのオブジェクトとし、Multipart Uploadを完了する
Request
Request Method POST
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
uploadId Initiate Multipart Uploadの結果得られたUploadIdを指定する。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body XML Data
Node名 説明 子Node(親Node) 必須
CompleteMultipartUploa
d
Request コンテナ Part,
(None)
YES
Part Upload Partでアップロードしたパートの情報を格納するコンテナ
PartNumber, ETag
(CompleteMultipartUpload)
YES
PartNumber Upload Partで指定した各々のpartNumber None
(CompleteMultipartUpload.
Part)
YES
ETag Upload Partの結果、Response Headerより取得したmd5値
None
(CompleteMultipartUpload.
Part)
YES
Response
Response
Header
x-amz-server-
side-encryption
Request時にserver-side encryptionを指定した場合に、確認のため当該ヘッダーが付与される
x-amz-version-id BucketにVersioning が指定されていた場合は、新しく作成されたオブジェクトのVersion IDが返される
Response
(Body)
形式 XML
XML 構成
Node名 説明 子Node (親Node)
CompleteMultipartUplo
adResult
Responseのコンテナ Bucket, Key, UploadId
(None)
Location 新しく作成されたオブジェクトのURL None
(CompleteMultipartUploadResult)
Bucket バケット名 None
(CompleteMultipartUploadResult)
Key 新しく作成されたObject Key None
(CompleteMultipartUploadResult)
ETag 新しく作成された、オブジェクトのEntity
Tag.
オブジェクトのmd5値の場合もあるし、そうでない場合もある。md5値でない場合は、16進数以外の文字がふくまれうこともあるし、32文字の16進数文字列に満たない場合も、それ以上の長さの場合もある。
None
(CompleteMultipartUploadResult)
2-3) Object Storage API オブジェクト操作
36
Abort Multipart Upload
コマンド概要 Multipart Uploadを中止する
Request
Request Method DELETE
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
uploadId Initiate Multipart Uploadの結果得られたUploadIdを指定する。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response Header 特になし
Response (Body) 無し
2-3) Object Storage API オブジェクト操作
37
List Part
コマンド概要 Multipart Uploadにおいて、アップロード済みのパーツ情報の一覧を取得する
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
uploadId Initiate Multipart Uploadの結果得られたUploadIdを指定する。署名対象文字列として評価する必要がある。
YES
Other
Parameters
パラメータ名 説明 必須
max-parts Responseのbodyに含まれるPartsの数の上限を設定する
Type : String
Default: 1,000
part-
number-
marker
このパラメータで指定した値より大きなPart Numberのみをresponseに含めるようにする
Type : String
Default: None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response
Header
特に無し
Response
(Body)
形式 XML
XML 構成 Node名 説明 子Node (親Node)
ListPartsResult Responseのコンテナ Bucket, Key, UploadId, Initiator, Owner,
StorageClass, PartNumberMarker,
NextPartNumberMarker, MaxParts,
IsTruncated, Part
(None)
Bucket バケット名 None
(ListPartsResult)
Key 新しく作成されるObject Key None
(ListPartsResult)
UploadId Multipart Uploadを特定するためのID None
(ListPartsResult)
Initiator 当該Mutlipart Uploadを開始したアカウントの情報を格納するコンテナ
ID, DIsplayName
(ListPartsResult)
(initiator).ID 当該Mutlipart Uploadを開始したアカウントID None
(ListPartsResult.Initiator)
(initiator).DisplayName 当該Mutlipart Uploadを開始したアカウントのディスプレイネーム
None
(ListPartsResult.Initiator)
Owner 当該Mulitipart Uploadの結果作成されるオブジェクトのOwnerの情報を格納するコンテナ
ID, DIsplayName
(ListPartsResult)
(Owner.)ID 当該Mulitipart Uploadの結果作成されるオブジェクトのOwnerのアカウントID
None
(ListPartsResult.Owner)
(Owner).DisplayName 当該Mulitipart Uploadの結果作成されるオブジェクトのOwnerのディスプレイネーム
None
(ListPartsResult.Owner)
2-3) Object Storage API オブジェクト操作
38
Response (前ページの続き)
Response
(Body)
XML 構成
Node名 説明 子Node (親Node)
StorageClass Uploadしたオブジェクトが格納されるストレージのクラス名
None
(ListPartsResult)
PartNumberMarker このnodeに格納された数値より大きなPart Numberを持つpartが返されていることを示す
None
(ListPartsResult)
MaxParts レスポンスに含まれるPartの最大数 None
(ListPartsResult)
IsTruncated Responseに含まれるPartの数がMaxPartsの値を超えた場合に”True”がセットされ返される
None
(ListPartsResult)
NextPartNumberMark
er
Responseに含まれるPartの数がMaxPartsの値を超えた場合に、以降のリクエスト時に指定するpart-number-
markerの値を提示する
None
(ListPartsResult)
Part Upload済みのオブジェクトの断片情報を格納するコンテナ
ParftNumber, LastModified, ETag ,
Size
(ListPartsResult)
PartNiumber オブジェクトの断片のシーケンシャルな番号
None
(ListPartsResult.Part)
LastModiied オブジェクトの断片の最終更新に知事 None
(ListPartsResult.Part)
ETag アップロードしたオブジェクトの断片のEntity Tagの値
None
(ListPartsResult.Part)
Size アップロードしたオブジェクトの断片のサイズ(Byte)
None
(ListPartsResult.Part)
2-3) Object Storage API オブジェクト操作
39
GET Object
コマンド概要 オブジェクトをCloudn Strageよりダウンロードする。 Anonymousに対して、読み取り権限を設定している場合、Authorized Headerは省略可能。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
versionId 特定のVersionのオブエジェクとを取得する場合は指定する。署名対象文字列として評価する必要がある。
Other
Parameters
パラメータ名 説明 必須
response-
content-
type
ResponseのContent-Type headerの値を上書きしたい場合に指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
language
ResponseにContent-Language header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
expires
ResponseにExpire header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
cache-
control
ResponseにCache-Control header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
disposition
ResponseにContent-Disposition Headerを指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
encoding
ResponseにContent-Encoding を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
ヘッダー名 説明 必須
Range オブジェクトの指定したByte Rangeをダウンロードする。
Type : String
Default : None
If-Modified-
Since
指定した日付以降に更新されていた場合にbjectを返す
Type : String
Default : None
If-
Unmodified
-Since
指定した日付以降に更新されていなかった場合にObjectを返す
Type : String
Default : None
If-Match ETag(Entity Tag)を指定し、それが一致し場合にObjectを返す
Type : String
Default : None
If-None-
Match
ETag(Entity Tag)を指定し、それが一致しなかった場合にObjectを返す
Type : String
Default : None
Body 無し
2-3) Object Storage API オブジェクト操作
40
Response
Response
Header
x-amz-delete-
marker
ダウンロードしたオブジェクトにDelete Markerがついているかいないかを示す
Type : Boolean
Valid Values: true | false
Default : false
x-amz-server-
side-encryption
オブジェクトがServer-Side encryptionの機能を用いて保存されていた場合、このHeaderに暗号化アルゴリズムが示される。
Type : String
Valid Values: AES256
x-amz-version-id オブジェクトが一意なVersion IDを持っていた場合は、Version IDが返される
Type : String
Default : None
Response
(Body)
オブジェクトデータ
2-3) Object Storage API オブジェクト操作
41
GET Object ACL
コマンド概要 オブジェクトのAccess Control Listを取得します。
Request
Request Method GET
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
acl objectに設定されたACL要求するフラグ。署名対象文字列として評価する必要がある。
YES
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
Body 無し
Response
Response
Header
特に無し
Response
(Body)
形式 XML
XML 構成
Node名 説明 子Node (親Node)
AccessControlPolicy Responseのコンテナ Owner, AccessControlList
(None)
Owner ObjectのOwner 情報を格納するコンテナ ID, DisplayName
(AccessControlPolicy)
(Owner).ID ObjectのOwerのアカウントID None
(AccessControlPolicy.Owner)
(Owner).DisplayName ObjectのOwnerのディスプレイネーム None
(AccessControlPolicyOwner)
AccessControlList ACLに関する情報を格納するコンテナ Grant
(AccessControlPolicy)
Grant 許可属性を格納したコンテナ Grantee, Permission
(AccessControlPolicy.
AccessControlList)
Grantee アクセス権の被譲渡者に関する情報を格納するコンテナ
ID, DisplayName
(AccessControlPolicy.
AccessControlList.Grant)
(Grantee).ID アクセス権の被譲渡者のID None
(AccessControlPolicy.
AccessControlList.Grant.Grantee)
(Grantee).DisplayNam
e アクセス権の被譲渡者のディスプレイネーム
None
(AccessControlPolicy.
AccessControlList.Grant.Grantee)
Permission オブジェクトに対するパーミッション
(FULL_CONTROL, WRITE,
READ_ACP)
None
(ListPartsResult.Owner)
2-3) Object Storage API オブジェクト操作
42
HEAD Object
コマンド概要 オブジェクトのメタ情報のみを取得する
Request
Request Method HEAD
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
versionId 特定のVersionのオブエジェクとを取得する場合は指定する。署名対象文字列として評価する必要がある。
Other
Parameters
パラメータ名 説明 必須
response-
content-type
ResponseのContent-Type headerの値を上書きしたい場合に指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
language
ResponseにContent-Language header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
expires
ResponseにExpire header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
cache-control
ResponseにCache-Control header を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
disposition
ResponseにContent-Disposition Headerを指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
response-
content-
encoding
ResponseにContent-Encoding を指定する。署名対象文字列として評価する必要がある。
Type : String
Default: None
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
ヘッダー名 説明 必須
Range オブジェクトの指定したByte Rangeをダウンロードする。
Type : String
Default : None
If-Modified-
Since
指定した日付以降に更新されていた場合に、Objectのメタ情報を返す
Type : String
Default : None
If-
Unmodified
-Since
指定した日付以降に更新されていなかった場合にObjectのメタ情報を返す
Type : String
Default : None
If-Match ETag(Entity Tag)を指定し、それが一致し場合にObjectのメタ情報を返す
Type : String
Default : None
If-None-
Match
ETag(Entity Tag)を指定し、それが一致しなかった場合にObjectのメタ情報を返す
Type : String
Default : None
Body 無し
2-3) Object Storage API オブジェクト操作
43
Response
Response
Header
x-amz-meta-* オブジェクトを作成する際にメタ情報を指定した場合に、指定したメタ情報が返される。
x-amz-missing-
meta
x-amz-meta-* headerで返せなかったメタ情報ヘッダーの数が返される
x-amz-server-
side-encryption
オブジェクトがServer-Side encryptionの機能を用いて保存されていた場合、このHeaderに暗号化アルゴリズムが示される。
Type : String
Valid Values: AES256
x-amz-version-id オブジェクトが一意なVersion IDを持っていた場合は、Version IDが返される
Type : String
Default : None
Response
(Body)
無し
2-3) Object Storage API オブジェクト操作
44
PUT Object ACL
コマンド概要 オブジェクトにACLを設定する
Request
Request Method PUT
Path, Parameters, etc パス形式の場合は、Request Pathにバケット名を指定します。
Sub
Resource
パラメータ名 説明 必須
acl ACL設定を示すフラグ。署名対象文字列に含める必要がある。 YES
versionId 特定のバージョンのオブジェクトを指定する場合に指定する。署名対象文字列に含める必要がある
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
拡張ヘッダー(注1)
説明 必須
x-amz-acl オブジェクトにACLを設定する。
Type : String
Valid Values: private | public-read | public-read-write | authenticated-read | ¥
bucket-owner-read | bucket-owner-full-control
Default : private
(YES)
(注2)
x-amz-
grant-read
オブジェクトの一覧に表示させる
Type : String
Default : None
Constraints : None
x-amz-
grant-write
利用不可
x-amz-
grant-read-
acp
オブジェクトに設定されたACLのRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-
grant-write-
acp
オブジェクトに設定されたACLの設定のRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-
grant-full-
control
オブジェクトに対してフルコントロール権を与える
Type : String
Default : None
Constraints : None
Body XML Data(注1)
Node名 説明 子Node(親Node) 必須
AccessControlPol
icy
Request コンテナ Owner, AccessControlList
(None)
YES
Owner objectのオーナー情報を格納するコンテナ ID, DisplayName
(AccessControlPolicy)
YES
(Owner).ID objectのオーナーのID None
(AccessControlPolicy.Owner)
YES
(Owner).DisplayN
ame
objectのオーナーのディスプレイネーム None
AccessControlPolicy.Owner)
YES
2-3) Object Storage API オブジェクト操作
45
Request (前ページの続き)
Body XML Data(注1)
Node名 説明 子Node(親Node) 必須
AccessControlList ACLの情報を格納するコンテナ Grant
(AccessControlPolicy)
YES
Grant ACLの個々の要素を格納するコンテナ Grantee, Permission
(AccessControlPolicy.Acc
essControlList)
YES
Grantee アクセス権の被譲渡者の情報を格納するコンテナ
nodeのアトリビュートとして、
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance”
の記載が必要。また、アクセス権の被譲渡者の指定方法に応じて、アトリビュートに、
xsi:type="CanonicalUser”
xsi:type="AmazonCustomerByEmail"
xsi:type="Group"
のいずれかの指定が必要。
ID, DisplayName,
EmailAddress, URI
(AccessControlPolicy.Acc
essControlList.Grant)
YES
(Grantee).ID Granteeのアトリビュートに、xsi:type=“CanonicalUser”を宣言した場合に指定する。アクセス権の被譲渡者のアカウントID
None
(AccessControlPolicy.Acc
essControlList.Grant.Gran
tee)
(YES)
(Grantee).Display
Name
Granteeのアトリビュートに、xsi:type=“CanonicalUser”を宣言した場合に指定する。アクセス権の被譲渡者のディスプレイネーム
None
(AccessControlPolicy.Acc
essControlList.Grant.Gran
tee)
(Grantee).
EmailAddress
Granteeのアトリビュートに、xsi:type=“AmazonCustomerByEmail” を宣言した場合に指定する。アクセス権の被譲渡者の登録されているe-mail address
None
(AccessControlPolicy.Acc
essControlList.Grant.Gran
tee)
(YES)
(Grantee).URI Granteeのアトリビュートに、xsi:type=“Group”を宣言した場合に指定する。
None
(AccessControlPolicy.Acc
essControlList.Grant.Gran
tee)
(YES)
Permission 権限の種類を指定する。
Valid Values: FULL_CONTROL | WRITE | ¥
WRITE_ACP | READ |
READ_ACP
None
(AccessControlPolicy.Acc
essControlList.Grant)
YES
• (注1) HeaderによるACLの設定と、Bodyによるリクエストは併用不可。つまり、HeaderによりACL設定のリクエストを行う場合は、bodyの指定は不要であり、Bodyによるリクエストを行う場合はHeaderによる指定は不要である。
• (注2)Headerによるリクエストの場合は必須である
Response
Response
Header
x-amz-version-id オブジェクトが一意なVersion IDを持っていた場合は、Version IDが返される
Type : String
Default : None
Response
(Body)
無し
2-3) Object Storage API オブジェクト操作
46
PUT Object Copy
コマンド概要 オブジェクトを別のバケットにコピーする
Request
Request Method PUT
Path,
Parameters, etc
パス形式の場合は、Request Pathにバケット名を指定します。
Sub Resource パラメータ名
説明 必須
versionId 特定のバージョンのオブジェクトを指定する場合に指定する。署名対象文字列に含める必要がある
Header Host Virtual-Host形式でのリクエストの場合は、${バケット名}. str.cloudn-service.com で指定します。
拡張ヘッダー(注1) 説明 必須
x-amz-copy-source コピー元のオブジェクトのbucketとKeyを’/’区切りで指定する(e.g. /bucket/key)
指定する値はURLエンコードされている必要がある。また、コピー元にREAD権限が必要となる
YES
x-amz-metadata-
directive コピーする際に、コピーもとのメタデータを引き継ぐが、置き換えるかを指定する。ただし、Version ID、server-side-encryptionとstorage-classの値は引き継がない。
Type : String
Default : COPY
Valid values: COPY | REPLACE
REPLACEを指定した場合は、メタデータの値も引き継がれる。
x-amz-copy-source-if-
match
Entity Tag (ETag) 値を指定し、マッチした場合はコピーを実行する。このHeaderを指定した場合、x-amz-copy-source-if-unmodified-since header 以外の条件指定headerとの併用は出来ない。
x-amz-copy-source-if-
none-match
Entity Tag (ETag) 値を指定し、指定したETag値と異なる場合はコピーを実行する。このHeaderを指定した場合、x-amz-copy-source-if-modified-since header 以外の条件指定headerとの併用は出来ない
x-amz-copy-source-if-
unmodified-since
指定した日時以降に変更がなければ、コピーを実施する。
このHeaderを指定した場合、 x-amz-copy-source-if-match header 以外の条件指定headerとの併用は出来ない。
x-amz-copy-source-if-
modified-since
指定した日時以降に変更があれば、コピーを実施する。
このHeaderを指定した場合、 x-amz-copy-source-if-none-match header 以外の条件指定headerとの併用は出来ない。
x-amz-server-side-encryption
オブジェクトが複製される際、サーバー側で暗号化する場合のアルゴリズムを指定する。
Type : String
Valid Value: AES256
x-amz-storage-class コピーが成功した後のオブジェクトのストレージクラスを指定します。
Type : String
Valid Values: STANDARD | REDUCED_REDUNDANCY
Default : STANDARD
x-amz-acl オブジェクトにACLを設定する。
Type : String
Valid Values: private | public-read | public-read-write | authenticated-read | ¥
bucket-owner-read | bucket-owner-full-control
Default : private
x-amz-grant-read
(※)
オブジェクトの一覧に表示させる
Type : String
Default : None
Constraints : None
2-3) Object Storage API オブジェクト操作
47
Request (前ページの続き)
Header x-amz-grant-write(※) 利用不可
x-amz-grant-read-acp
(※)
オブジェクトに設定されたACLのRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-grant-write-acp
(※)
オブジェクトに設定されたACLの設定のRead権限を与える
Type : String
Default : None
Constraints : None
x-amz-grant-full-
control
(※)
オブジェクトに対してフルコントロール権を与える
Type : String
Default : None
Constraints : None
Body 無し
Response
Response
Header
x-amz-copy-
source-version-id
コピー元のオブジェクトのVersion ID
x-amz-server-
side-encryption
Request時にserver-side encryptionを指定した場合に、確認のため当該ヘッダーが付与される
x-amz-version-id BucketにVersioning が指定されていた場合は、新しく作成されたオブジェクトのVersion IDが返される
Response
(Body)
形式 XML
XML 構成 Node名 説明 子Node (親Node)
CopyObjectResult Responseのコンテナ ETag, LastModified
(None)
ETag 新しく作成されたオブジェクトのEntity
Tag.
None
(CopyObjectResult)
LastModified バケット名 None
(CopyObjectResult)
• ※ 特殊なAttribute Value Pairでの指定になります。Attributeは、“id” であり、Valueは、Cloudn StorageのユーザーIDとなります。 (例:x-amz-grant-read: id= “cloudnuser1” )
2-3) Object Storage API オブジェクト操作