クラウドストレージ APIリファレンス
この資料は、Yahoo! JAPANが提供するクラウドストレージ(以下、クラウドストレージ)のAPIリファレンスです。
デベロッパーズガイド(
http://docs.cs-ap-e1.ycloud.jp/doc/devguide.pdf
)
と合わせて、ご覧ください。
目次
1. 提供API一覧
2. 共通ヘッダリファレンス
共通リクエストヘッダ
共通レスポンスヘッダ
3. サービス操作APIリファレンス
サービス一覧情報取得
4. バケット操作APIリファレンス
バケット一覧情報取得
バケットの作成
バケットの削除
バケットのACL情報設定
バケットのACL情報取得
5. オブジェクト操作APIリファレンス
オブジェクトのアップロード
オブジェクトの取得
オブジェクトの削除
オブジェクトのメタ情報の取得
オブジェクトのACL情報設定
オブジェクトのACL情報取得
以下サンプルでは、東日本拠点「cs-ap-e1.ycloud.jp」を例としています。 西日本拠点を利用す
る場合は「cs-ap-w1.ycloud.jp」としてご覧ください。
1. 提供API一覧
API分類
機能概要
サービス操作系
サービス一覧情報取得
バケット操作系
バケット一覧情報取得
バケット操作系
バケットの作成
バケット操作系
バケットの削除
バケット操作系
バケットのACL情報設定
バケット操作系
バケットのACL情報取得
オブジェクト操作系
オブジェクトのアップロード
オブジェクト操作系
オブジェクトの取得
オブジェクト操作系
オブジェクトの削除
オブジェクト操作系
オブジェクトのメタ情報の取得
オブジェクト操作系
オブジェクトのACL情報設定
オブジェクト操作系
オブジェクトのACL情報取得
2. 共通ヘッダリファレンス
共通リクエストヘッダ
ヘッダ名
概要
Authorization
認証シグネチャ用ヘッダ。
認証文字列に関してはデベロッパーズガイドを参照くだ
さい。匿名リクエストの場合は不要です。
Content-Length
ヘッダを除くリクエストボディの長さです(RFC 2616
定義)。
XMLを操作するリクエストと(ACL等)とPUTリクエストの
際に必要です。
Content-Type
リソースのコンテントタイプを指定します。
例)Contente-Type:text/plain
Content-MD5
RFC 1864 に従ったヘッダが無いメッセージの
base-64 でエンコードした 128 ビット MD5
ダイジェスト値を設定します。
このヘッダはオプションですが、データが元のデータと相
違ないことを確認するために利用します。
Date
現在の日時をGMTで指定します。
例) Fri, 01 Jun 2012 12:00:00 GMT
Authorizationヘッダを使用した認証を行う場合は、x-a
mz-dateヘッダ、もしくはDateヘッダの指定がないとい
けません。
Expect
アプリケーション中で「100-continue」を指定すると、
肯定的応答を受けるまでリクエストボディは送信されま
せん。
すなわち、メッセージがヘッダ上で拒否された場合はメッ
セージボディは送信されません。
有効値) 100-continue
Host
パス形式でキーを指定したリクエストの場合は、cs-ap-e1.ycloud.jpです。
仮想形式のリクエストでは、 値は
<バケット名>.cs-ap-e1.ycloud.jpです。
x-amz-date
現在の日時をGMTで指定します。
例) Wed, 01 Mar 2009 12:00:00 GMT
Authorizationヘッダを使用した認証を行う場合は、x-a
mz-dateヘッダ、もしくはDateヘッダの指定がないとい
けません。
※両方が指定された場合は、このヘッダの値が優先さ
れます。
共通レスポンスヘッダ
ヘッダ名
概要
Content-Length
レスポンスボディのバイト長
タイプ: 文字列
デフォルト: 無し
Connection
サーバへの接続がオープンか、クローズかを指定して返
却します。
タイプ: Enum
有効値: open | close
デフォルト: 無し
Date
応答日時をGMTで返却します。
例) Wed, 01 Mar 2009 12:00:00 GMT
タイプ: 文字列
デフォルト: 無し
ETag
オブジェクトの MD5
ハッシュ値で、オブジェクトが作成・更新された際に設定
されます。
メタデータではなくオブジェクトの内容に変化があった
事を示すものです。
タイプ: 文字列
Server
レスポンスを行ったサーバの名前
タイプ: 文字列
デフォルト: 無し
3. サービス操作APIリファレンス
サービス一覧情報取得
概要
「サービス一覧情報取得」は認証リクエストを送信したユーザが所有し、そのユーザで認証されている全バケット一覧を返します。 ※他のユーザが作成したバケットはリストに含まれません。同様に匿名で作成されたバケットもリストに含まれません。リクエスト
GET / HTTP/1.1 Host: cs-ap-e1.ycloud.jp Date: [リクエスト送信日時(GMT表記)] Authorization: [認証用シグネチャ]レスポンス
要素名
概要
Bucket
バケット情報のコンテナ
種別: コンテナ
子要素: Name,CreationDate
継承: ListAllMyBucketsResult.Buckets
Buckets
1つ以上のバケットのコンテナ
種別: コンテナ
子要素: Bucket
継承: ListAllMyBucketsResult
CreationDate
バケットが作成された日付
種別: 日付 (フォーマット
yyyy-mm-ddThh:mm:ss.timezone)
例) 2012-06-03T15:4548:02.000Z)
継承: ListAllMyBucketsResult.Buckets.Bucket
DisplayName
バケット オーナーの表示名
種別: 文字列
継承: ListAllMyBucketsResult.Owner
ID
バケット オーナーのユーザID
種別: 文字列
継承: ListAllMyBucketsResult.Owner
ListAllMyBucketsResult
レスポンス用のコンテナ
種別: コンテナ
子要素: Owner, Buckets
継承: なし
Name
バケットの名前
種別: 文字列
継承: ListAllMyBucketsResult.Buckets.Bucket
Owner
バケットのオーナー情報用のコンテナ
種別: コンテナ
継承: ListAllMyBucketsResult
サンプル
リクエストサンプル
サービスエンドポイント(この例では
cs-ap-e1.ycloud.jp)上でのGET操作で、リクエストの送信者が所有する全てのバケットのリストが返されます。
Host: cs-ap-e1.ycloud.jpDate: Wed, 06 Jun 2012 20:47:15 +0000
Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
レスポンスサンプル
<?xml version="1.0" encoding="UTF-8"?> <ListAllMyBucketsResult xmlns="http://cs-ap-e1.ycloud.jp/2012-06-12"> <Owner> <ID>324ABC0713CD0B420EFC086821BFAE7ED81442C</ID> <DisplayName>"foobar</DisplayName> </Owner> <Buckets> <Bucket> <Name>projects</Name> <CreationDate>2011-05-10T14:10:15.000Z</CreationDate> </Bucket> <Bucket> <Name>templates</Name> <CreationDate>2011-05-10T14:18:25.000Z</CreationDate> </Bucket> </Buckets> </ListAllMyBucketsResult>4. バケット操作APIリファレンス
バケット一覧情報取得
概要
「バケット一覧情報取得」ではバケット内のオブジェクトのリスト(すべて、または1,000まで)を返します。 ※この操作を行うためには、READアクセス権限が必要です。
リクエスト
GET / HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signature_valueパラメータ
バケット内のオブジェクトの一部を返すために次のパラメータを使用します。
パラメータ名
概要
prefix
どの文字列から始まるキーを返すかを指定します。
キーの先頭の文字で、バケット内のオブジェクトをグルー
ピングすることができます。
種別: 文字列
デフォルト: なし
レスポンス
要素名
概要
Contents
レスポンスとして返される、オブジェクトのメタデータ
種別: XMLメタデータ
継承: ListBucketResult
CommonPrefixes
もしあるなら、Prefixと、その次の部分を分けるdelimiter
文字列
リクエストにdelimiterが含まれていた場合は、Commo
nPrefixesを含むレスポンスのみが返されます。
CommonPrefixesは、Prefixで指定されたキーを、ディ
レクトリにおけるサブディレクトリのようにしてキーをリス
トします。
例えばPrefixが、projects/ で、delimiter が / の時、
projects/marketing/2012 の共通前置部(common
prefix)は projects/marketing/ となります。
共通前置部を持つキーが一気に返され、その数が数え
られます(MaxKeysで制限されます)。
種別: String
継承: ListBucketResult
Delimiter
prefixとdelimiterの最初の部分が一致したキーが、Co
mmonPrefixesの集合として、1回のリザルトで一気に
返されます。
それ以外のものについてはレスポンスに返りません。
種別: 文字列
継承: ListBucketResult
DisplayName
オブジェクトのオーナーの表示名
種別: 文字列
継承: ListBucketResult.Contents.Owner
ETag
エントリタグはオブジェクトの MD5
ハッシュで、オブジェクトのメタデータではなく、内容の変
化を反映します。
種別: 文字列
継承: ListBucketResult.Contents
ID
オブジェクトのオーナーのユーザID
種別: 文字列
継承: ListBucketResult.Contents.Owner
IsTruncated
すべてのリザルトを返した(true)のか、一部だけ(false)
なのかを示します。
これはMaxKeysによってリザルトとして返せる上限が制
限されるからです。
種別: 文字列
継承: boolean
Key
オブジェクトのキー
種別: 文字列
継承: ListBucketResult.Contents
LastModified
オブジェクトが最後に変更されたときの日付と時刻
種別: Date
継承: ListBucketResult.Contents
Marker
バケット内での、オブジェクトのリストの開始位置
種別: 文字列
継承: ListBucketResult
MaxKeys
レスポンスボディで返されるキーの最大数
種別: 文字列
継承: ListBucketResult
Name
バケットの名前
種別: 文字列
継承: ListBucketResult
Owner
バケットのオーナー
種別: 文字列
子要素: DisplayName, ID
継承: ListBucketResult.Contents|CommonPrefixes
Prefix
前置部で始まるキー
種別: 文字列
継承: ListBucketResult
Size
オブジェクトのバイト サイズ
種別: 文字列
継承: ListBucketResult.Contents
StorageClass
常に STANDARD とする。
種別: 文字列
継承: ListBucketResult.Contents
サンプル
リクエストサンプル
projectsというバケット内のオブジェクトを返させるためのリクエストです。
GET / HTTP/1.1 Host: projects.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM= Content-Type: text/plain
<?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://cs-ap-e1.ycloud.jp/2012-06-12"> <Name>projects</Name> <Prefix/> <Marker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>scheduleQ1.jpg</Key> <LastModified>2012-06-01T09:20:03.000Z</LastModified> <ETag>"f77127731fba39869dede5c9645a3328"</ETag> <Size>519226</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>324ABC0713CD0B420EFC086821BFAE7ED81442C</ID> <DisplayNamefoobar</DisplayName> </Owner> </Contents> <Contents> <Key>scheduleQ2.jpg</Key> <LastModified>2012-06-02T11:02:42</LastModified> <ETag>"645a39851b2cf27731c974f535343328"</ETag> <Size>990102</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>324ABC0713CD0B420EFC086821BFAE7ED81442C</ID> <DisplayName>foobar</DisplayName> </Owner> </Contents> </ListBucketResult>
リクエストパラメータを使用した場合のリクエストサンプル
リクエストサンプル
このサンプルリクエストは、projectsバケット内で、「prefix=IT」で始まるキーを最大100個リストさせるリクエストで、
結果としてITdbとITstorageというキーが返ります。
GET ?prefix=IT HTTP/1.1 Host: projects.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
HTTP/1.1 200 OK
x-amz-id-2: gyB+3jRPnrkN98ZajxHXr3u7EFM67bNgSAxexeEHndCX/7GRnfTXxReKUQF28IfP x-amz-request-id: 3B3C7C725673C630
Date: Wed, 06 Jun 2012 20:48:15 GMT Content-Type: application/xml Content-Length: 302 Connection: close Server: YahooCloudStorage <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://cs-ap-e1.ycloud.jp/2012-06-12/"> <Name>projects</Name> <Prefix>IT</Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>ITdb</Key> <LastModified>2012-06-01T09:20:03.000Z</LastModified> <ETag>"f77127731fba39869dede5c9645a3328"</ETag> <Size>29493</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>B420EFC086821B324ABC0713CD0FAE7ED81442C</ID> <DisplayName>richardp</DisplayName> </Owner> </Contents> <Contents> <Key>ITstorage</Key> <LastModified>2012-04-14T04:20:10.000Z</LastModified> <ETag>"a96f00ad9f27c3828ef3fdf83fc9ac7f"</ETag> <Size>4</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>324ABC0713CD0B420EFC086821BFAE7ED81442C</ID> <DisplayName>foobar</DisplayName> </Owner> </Contents> </ListBucketResult>
バケットの作成
概要
「バケット作成」は新しいバケットを作成します。 バケット作成のリクエストを行ったユーザが、バケットのオーナーになります。 匿名リクエストでのバケット作成は行えません。 ※バケットを作成するには、認証リクエストに必要な、有効なアクセスキーが必要です。バケットの命名規則
推奨はDNS準拠したバケット名を付与することです。 DNS準拠のバケット名は、仮想ホストスタイルのリクエストでバケットを確定できます。 DNS準拠のバケット名とするためには、以下のルールに則る必要があります。 ・バケット名は3文字以上63文字以内にすること ・1つ以上のラベルをつけ、ラベル間はピリオド(.)で区切ること ・小文字または数字で始めること。小文字または数字で終わること。小文字、数字、ダッシュが使用できる ・IPアドレス(例 192.168.9.2)の様なものは不可ですアクセスパーミッション
「バケットの作成」は、指定したアカウントまたはグループにバケットのパーミッションを指定することができます。 以下の2つの方法で、リクエストヘッダでアカウントまたはグループを指定してパーミッションを与えることができます。 ・リクエストヘッダの x-amz-acl に定義済みのACLを指定する。 ※定義済みACLについての詳細は以下を参照ください。 http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL ・ヘッダで、Amzaon S3互換のACLパーミッションに対応した以下のパラメータを指定してください。 x-amz-grant-read、x-amz-grant-write、x-amz-grant-read-acp、x-amz-grant-write-acp、x-amz-grant-full-control ※定義済みのACLを指定するか、アクセスパーミッションを明示するかのいずれかを使います。両方ではありません。
リクエスト
PUT / HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Content-Length: length Date: date Authorization: signature_value <CreateBucketConfiguration xmlns="http://cs-ap-e1.ycloud.jp/doc/2012-06-01/"> <LocationConstraint>BucketRegion</LocationConstraint> </CreateBucketConfiguration>このサンプルには複数のリクエストヘッダが含まれています。リクエストヘッダセクションには完全
なヘッダのリストがあります。
リクエストパラメータ
この操作ではリクエスト パラメータを使用しません。
リクエストヘッダ
「バケットの作成」は、全ての操作に共通なリクエストヘッダに加えて、次のリクエストヘッダを提供します。
ヘッダ名
概要
x-amz-acl
このリクエストヘッダは、バケット作成時に定義済みのA
CLを指定します。
定義済みACLは、個々のアカウントまたは定められたグ
ループに、指定したパーミッションを与えます。
種別: 文字列
有効な値: private | public-read | public-read-write
| authenticated-read | bucket-owner-read |
bucket-owner-full-control
レスポンス
「バケットの作成」はレスポンス要素を返しません。
サンプル
リクエストサンプル
yahoo_docsという名前のバケットを作成するリクエストです。
PUT / HTTP/1.1
Host: yahoo_docs.cs-ap-e1.ycloud.jp Content-Length: 0
Date: Fri, 01 Jun 2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンスサンプル
HTTP/1.1 200 OK
Date: Fri, 01 Jun 2012 12:00:00 GMT Content-Length: 0
Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
定義済みACLを使ってアクセスパーミッションを設定するリクエストサンプル
リクエストサンプル
このリクエストではyahoo_docsという名前のバケットを作成し、ACLをprivateに設定します。
PUT / HTTP/1.1 Host: yahoo_docs.cs-ap-e1.ycloud.jp Content-Length: 0 x-amz-acl: privateDate: Fri, 01 Jun 2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンスサンプル
HTTP/1.1 200 OK
Date: Fri, 01 Jun 2012 12:00:00 GMT Location: /yahoo_docs
Content-Length: 0 Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
バケットの削除
概要
「バケットの削除」は、URIで指定されたバケットを削除します。 なお、バケットを削除する場合は、バケット内の全オブジェクトを削除しておく必要があります。リクエスト
DELETE / HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signature_valueレスポンス
「バケットの削除」では、共通のレスポンスヘッダのみを使用し、いかなるレスポンス要素も返しません。
サンプル
リクエストサンプル
projectsという名前のバケットを削除します。
DELETE / HTTP/1.1 Host: projects.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
レスポンスサンプル
HTTP/1.1 204 No Content
Date: Wed, 06 Jun 2012 20:47:15 +0000 Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
バケットのACL情報設定
概要
「バケットのACL情報設定」は、アクセスコントロールリスト(ACL)を使って 既存のバケットにパーミッションを設定するために、aclというサブリソースを使用します。 この操作を行うために、バケットに対する WRITE_ACP アクセス権限が必要です。 このAPIでは、バケットのパーミッションを設定するために2つの方法を用意しています。 ・リクエストボディでACLを指定する ・リクエストヘッダを使ってパーミッションを指定する ※リクエストボディでACLを指定するか、リクエストヘッダを使うかのいずれか一方です。同時の指定ではありません。リクエスト
ここではACLをリクエストボディで設定するときの書式を示します。
ヘッダセクションにはこれで使う以外のヘッダが含まれています。
PUT /?acl HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signatureValue <AccessControlPolicy> <Owner> <ID>ID</ID> <DisplayName>EmailAddress</DisplayName> </Owner> <AccessControlList> <Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>ID</ID> <DisplayName>EmailAddress</DisplayName> </Grantee> <Permission>Permission</Permission> </Grant> ... </AccessControlList> </AccessControlPolicy>
リクエストパラメータ
この操作ではリクエストパラメータを使用しません。
リクエストヘッダ
「バケットのACL情報設定」は、全ての操作に共通なリクエストヘッダに加えて、次のリクエストヘッダを提供します。
ヘッダ名
概要
x-amz-acl
このリクエストヘッダは、バケット作成時に定義済みのA
CLを指定します。
定義済みACLは、個々のアカウントまたは定められたグ
ループに指定したパーミッションを与えます。
種別: String
有効な値: private | public-read | public-read-write
| authenticated-read | bucket-owner-read |
bucket-owner-full-control
デフォルト: private
リクエスト
リクエストボディでACLを指定するときには、以下の要素を使わなければいけません。
要素名
概要
AccessControlList
ACL情報 (Grant(譲渡物), Grantee(受領者),
Permission(パーミッション)) のコンテナ
種別: Container
AccessControlPolicy
設定するACLパーミッションの要素を入れる。
種別: コンテナ
継承: なし
DisplayName
バケット オーナーの表示名
種別: 文字列
継承: AccessControlPolicy.Owner
Grant
Grantee と Permission 用のコンテナ
種別: コンテナ
継承: AccessControlPolicy.AccessControlList
Grantee
パーミッションを譲り受けるユーザの
ID、Emailaddress、サブジェクトのuri
種別: 文字列
継承:
AccessControlPolicy.AccessControlList.Grant
ID
バケット オーナーのID
種別: 文字列
継承:
AccessContro\lPolicy.Owner|AccessControlPolic
y.AccessControlList.Grant
Owner
バケット オーナーの情報
種別: コンテナ
継承: AccessControlPolicy
Permission
バケットのパーミッションは Grantee に与えられる。
種別: 文字列
有効な値:
FULL_CONTROL|WRITE|WRITE_ACP|READ|READ_
ACP
継承:
AccessContro\lPolicy.AccessContro\lList.Grant
リクエストの要素では、次の方法で誰にパーミッションを与えるのかを指定します。
emailAddress: アカウントのメールアドレス
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="CustomerByEmail">
<EmailAddress>user1@cs-ap-e1.ycloud.jp</EmailAddress>
</Grantee>
ユーザは、メールアドレスから CanonicalUser として扱われます。
「オブジェクトのACL情報取得」のレスポンスでは、ユーザを CanonicalUser として示します。
id: アカウントのユーザID
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="CanonicalUser">
<ID>ID</ID>
<DisplayName>GranteesEmail</DisplayName>
</Grantee>
ID方式では、DisplayName はオプションで、リクエスト内では無視されます。
uri: グループを定義する URI
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="Group">
<URI>
http://cs-ap-e1.ycloud.jp/groups/AuthenticatedUsers
<URI>
</Grantee>
レスポンス
「バケットのACL情報設定」はレスポンスの要素を返しません。
サンプル
リクエストサンプル
以下にリクエストボディにアクセスパーミッションを指定した例を示します。
このサンプルでは、リクエストボディの ACL で yahoo_docs
という既存のバケットにアクセスパーミッションを割り当てます。
さらに、バケットオーナーはフルコントロールできるように、次のようにリクエストを行います。
AllUsers グループにはバケットへの READ パーミッションを与える
Dev グループにはバケットへの WRITE パーミッションを与える
メールアドレスで識別されるアカウントへ WRITE_ACP パーミッションを与える
正規のユーザIDで識別されるアカウントへ READ_ACP パーミッションを与える
PUT /?acl HTTP/1.1
Host: yahoo_docs.cs-ap-e1.ycloud.jp Content-Length: 1660202
x-amz-date: Fri, 01 Jun 2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= <AccessControlPolicy xmlns="http://cs-ap-e1.ycloud.jp/doc/2012-04-05/"> <Owner> <ID>BucketOwnerCanonicalUserID</ID> <DisplayName>OwnerDisplayName</DisplayName> </Owner> <AccessControlList> <Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID</ID> <DisplayName>OwnerDisplayName</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI xmlns="">http://acs.cs-ap-e1.ycloud.jp/groups/global/AllUsers</URI> </Grantee>
<Permission xmlns="">READ</Permission> </Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI xmlns="">http://acs.cs-ap-e1.ycloud.jp/groups/global/Dev</URI>
</Grantee>
<Permission xmlns="">WRITE</Permission> </Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"> <EmailAddress xmlns="">user1@cs-ap-e1.ycloud.jp</EmailAddress>
</Grantee>
<Permission xmlns="">WRITE_ACP</Permission> </Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID xmlns="">f30716ab7115dcb44a5ef76e9d74b8e20567f63TestAccountCanonicalUserID</ID> </Grantee> <Permission xmlns="">READ_ACP</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
レスポンスサンプル
HTTP/1.1 200 OKDate: Fri, 01 Jun 2012 12:00:00 GMT Content-Length: 0
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
バケットのACL情報取得
概要
「バケットのACL情報取得」は、バケットのアクセスコントロールリスト(ACL)を返すために、acl というサブリソースを使用します。 この操作を行うためには、バケットに対する READ_ACP アクセス権限が必要です。 匿名ユーザが READ_ACP 権限を持っていると、認証ヘッダなしで、バケットのACLを返してしまいます。リクエスト
GET /?acl HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signature_value
リクエストパラメータ
「バケットのACL情報取得」では、リクエストパラメータを使用しません。
レスポンスの要素
要素名
概要
AccessControlList
ACL情報コンテナ
種別: コンテナ
継承: AccessControlPolicy
AccessControlPolicy
レスポンス用のコンテナ
種別: コンテナ
継承: なし
DisplayName
バケット オーナーの表示名
オーナーのEメールアドレスが ID
から分かる場合は、DisplayName のみを返します。
種別: 文字列
継承: AccessControlPolicy.Owner
Grant
Grantee および Permission のコンテナ
種別: コンテナ
継承: AccessControlPolicy.AccessControlList
Grantee
権限を持つ人の DisplayName と ID 用のコンテナ
種別: コンテナ
継承:
AccessControlPolicy.AccessControlList.Grant
ID
バケット オーナーのID
種別: 文字列
継承: AccessControlPolicy.Owner
Owner
バケット オーナーの情報用のコンテナ
種別: コンテナ
継承: AccessControlPolicy
Permission
バケットの Grantee に許可を与える。
種別: 文字列
TypeValid Values: FULL_CONTROL | WRITE |
WRITE_ACP | READ | READ_ACP
継承:
AccessControlPolicy.AccessControlList.Grant
AccessControlList
ACL情報用のコンテナ
種別: コンテナ
継承: AccessControlPolicy
AccessControlPolicy
レスポンス用のコンテナ
種別: コンテナ
継承: なし
DisplayName
バケット オーナーの表示名
オーナーのEメールアドレスが ID
から分かる場合は、DisplayName のみを返します。
種別: 文字列
継承: AccessControlPolicy.Owner
Grant
Grantee および Permission 用のコンテナ
種別: コンテナ
継承: AccessControlPolicy.AccessControlList
Grantee
権限を与える対象者の DisplayName と ID
用のコンテナ
種別: コンテナ
継承:
AccessControlPolicy.AccessControlList.Grant
ID
バケット オーナーのID
種別: 文字列
継承: AccessControlPolicy.Owner
Owner
バケット オーナー情報用のコンテナ
種別: コンテナ
継承: AccessControlPolicy
Permission
バケットの権限を Grantee に与える。
種別: 文字列
有効な値: FULL_CONTROL | WRITE | WRITE_ACP |
READ | READ_ACP
継承:
AccessControlPolicy.AccessControlList.Grant
サンプル
リクエストサンプル
このリクエストによって、指定したバケットのACLが返ります。
GET ?acl HTTP/1.1 Host:bucketname.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
レスポンスサンプル
HTTP/1.1 200 OK
Date: Wed, 06 Jun 2012 20:47:15 +0000 Last-Modified: Mon, 04 Jun 2012 12:00:00 GMT Content-Length: 124198
Content-Type: text/plain Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) <AccessControlPolicy> <Owner> <ID>24ef09aa099d10f75aa57c8caeab4f8c8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>UserName@cs-ap-e1.ycloud.jp</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>24ef09aa099d10f75aa57c8caeab4f8c8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>UserName@cs-ap-e1.ycloud.jp</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
5. オブジェクト操作APIリファレンス
オブジェクトのアップロード
概要
「オブジェクトのアップロード」はバケットにオブジェクトを追加します。 「オブジェクトのアップロード」は部分的なオブジェクト追加を行わず、 成功レスポンスがあればオブジェクト全体がバケットに追加された事を意味します。 この操作を行うためには、オブジェクトに対する WRITE パーミッションが必要です。 クラウドストレージは、分散型システムです。 複数のオブジェクトから同時に書き込みのリクエストを受けると、 システムは全てを書こうとしますが、最後のオブジェクトだけが書きこまれます。 必要に応じて、バージョニング機能か、アプリケーションでのオブジェクトのロック機能をご用意ください。 ネットワークで転送中にデータが壊れることを防止するために、Content-MD5ヘッダを使って、 クラウドストレージにオブジェクトの MD5 値を比較させることができます。 値が一致しなければ、そのオペレーションはエラーを返します。 更に「オブジェクトのアップロード」は MD5 を計算し、返された MD5 と ETag を比較することができます。 ※補足 リクエストボディに先駆けて送られるリクエストヘッダで、HTTP ステータスコードの 100-continue を使うようにアプリケーションを作ることができます。 これによって、認証エラーやリダイレクトのように、メッセージがヘッダで拒否されたときに、メッセージボディを送信しないで済みます。 また、現在、マルチパートアップロードは対応提供しておりません。(今後、提供予定) オブジェクトの最大サイズは、1ファイル5GBが上限です。(今後、5TBまで対応予定)
アクセス パーミッション
「オブジェクトのアップロード」は、特定のアカウントやグループに、オブジェクトに対する指定したパーミッションを与えます。 リクエストヘッダを使い、以下の2つの方法でアカウントやグループにパーミッションを与えることができます。 x-amz-acl リクエストヘッダに定義済みの ACL を指定する。 ※定義済みACLについての詳細は以下を参照ください。 http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL Amzon S3 で使われている ACL パーミッションと対応している、以下のパラメータを指定します。 x-amz-grant-read、x-amz-grant-write、x-amz-grant-read-acp、x-amz-grant-write-acp、x-amz-grant-full-control ※定義済みの ACL または明示的なアクセスパーミッション設定のいずれかを使います。両方ではありません。リクエスト
PUT /ObjectName HTTP/1.1 Host: bucketname.data.example.com Date: date Authorization: signature_valueリクエストのヘッダ
「オブジェクトのアップロード」は、すべての操作に共通なリクエストヘッダに加えて、次のリクエストヘッダを提供します。
ヘッダ名
概要
Content-Length
オブジェクトのバイト サイズ。このヘッダは必要です。
種別: 文字列
デフォルト: なし
制約: なし
Content-MD5
RFC 1864
に従ったヘッダが無いメッセージの、base-64
でエンコードした、128 ビットの MD5 ダイジェスト
このヘッダはオプションですが、Content-MD5
ヘッダは、データが元のデータと相違ないことを確認す
るために利用します。
種別: 文字列
デフォルト: なし
制約: なし
Content-Type
コンテントのフォーマットを表す、標準的な MIME タイプ
種別: 文字列
デフォルト: binary/octet-stream
有効な値: 100-continue
制約: なし
Expect
アプリケーション中で 100-continue
を使用すると、肯定的応答を受けるまでリクエストボディ
は送信されません。
すなわち、メッセージがヘッダ上で拒否された場合はメッ
セージボディは送信されません。
種別: 文字列
デフォルト: なし
有効な値: 100-continue
制約: なし
x-amz-meta-*
オブジェクトに格納される、ユーザ指定のメタデータフィ
ールド
種別: 文字列
デフォルト: なし
制約: なし
パーミッション リクエストヘッダ
ヘッダ名
概要
x-amz-acl
このリクエストヘッダは、バケット作成時に、定義済みの
ACL を指定します。
定義済み ACL
は、個々のアカウントまたは定められたグループに、指定
したパーミッションを与えます。
種別: 文字列
有効な値: private | public-read | public-read-write
| authenticated-read | bucket-owner-read |
bucket-owner-full-control
制約: なし
リクエストサンプル
yahoo_docs というバケットに、ycloud-process.jpg というオブジェクトを格納するためのリクエストです。
PUT /ycloud-process.jpg HTTP/1.1 Host: yahoo_docs.cs-ap-e1.ycloud.jp Date: Fri, 01 Jun 2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain
Content-Length: 201445 Expect: 100-continue [201445 bytes of object data]
レスポンスサンプル
HTTP/1.1 200 OK
Date: Fri, 01 Jun 2012 12:00:00 GMT ETag: "32cf731c97645a398434535f271b2358" Content-Length: 0
Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
定義済みアクセス パーミッションでリクエストするサンプル
このリクエストでは x-amz-acl ヘッダを使って定義済みACLを指定して、全員にREADパーミッションを与えます。
リクエストサンプル
...Object data in the body... PUT draftschedule.jpg HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp
x-amz-date: b24cf9553547f8b395dd038b34a81474 x-amz-acl: public-read
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Length: 300
Expect: 100-continue Connection: Keep-Alive ...Object data in the body...
レスポンスサンプル
HTTP/1.1 200 OK
Date: b24cf9553547f8b395dd038b34a81474 ETag: "b24cf9553547f8b395dd038b34a81474" Content-Length: 0
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
オブジェクトの取得
「オブジェクトの取得」はストレージからオブジェクトを取得します。 この操作を行うためには、オブジェクトに対する READアクセス権限が必要です。 匿名ユーザが READアクセス権限を持つと、認証ヘッダを使わずにオブジェクトを取得することができます。
リクエスト
GET /objectName HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signature_value Range:bytes=byte_rangeサンプル
リクエストサンプル
以下のリクエストでは、ycloud-process.jpg というオブジェクトが返ります。
GET /ycloud-process.jpg HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
レスポンスサンプル
HTTP/1.1 200 OK
Date: Wed, 06 Jun 2012 20:48:15 GMT Last-Modified: Wed, 06 Jun 2012 13:39:25 GMT ETag: "3327731c971645a398fba9dede5f2768" Content-Length: 611892
Content-Type: text/plain Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) [611892 bytes of object data]
オブジェクトの削除
概要
「オブジェクトの削除」は、オブジェクトがあれば、それを削除します。リクエスト
DELETE /ObjectName HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Content-Length: length Authorization: signature_valueサンプル
リクエストサンプル
projects-schedule.jpg というオブジェクトを削除します。
DELETE /projects-schedule.jpg HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 GMT
Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
レスポンスサンプル
HTTP/1.1 204 No Content
Date: Wed, 06 Jun 2012 20:47:15 GMT Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
オブジェクトのメタ情報の取得
概要
「オブジェクトのメタ情報の取得」は、オブジェクト自体ではなく、オブジェクトのメタデータだけを返します。 この操作を行うためには READアクセス権限が必要です。 HEADリクエストは、オブジェクトへのGETオペレーションと同じオプションを持ちますが、 HEADのレスポンスとGETのレスポンスの違いは、レスポンスボディが空か、そうでないかだけです。リクエスト
HEAD /ObjectName HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signature_valueサンプル
リクエストサンプル
このリクエストで、オブジェクトのメタデータが返ります。
HEAD /ycloud-process.jpg HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
HTTP/1.1 200 OK
Date: Wed, 06 Jun 2012 20:48:15 GMT Last-Modified: Wed, 06 Jun 2012 13:39:25 GMT ETag: "3327731c971645a398fba9dede5f2768" Content-Length: 611892
Content-Type: text/plain Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
オブジェクトのACL情報設定
概要
「オブジェクトのACL情報設定」は、バケット内の既存オブジェクトに アクセスコントローリリスト(ACL)パーミッションを設定するために、acl サブクラスを使用します。 この操作を行うために、オブジェクトに対する WRITE_ACP アクセス権限が必要です。 「オブジェクトのACL情報設定」はオブジェクトのパーミッションを設定するために2つの方法を用意しています。 ・リクエストボディで ACL を指定する ・リクエストヘッダを使ってパーミッションを指定する リクエストボディで ACL を指定するか、リクエストヘッダを使うかのいずれか一方です。同時ではありません。リクエスト
ここではACLをリクエストボディで設定するときの書式を示します。
ヘッダセクションには本操作で使う以外のヘッダが含まれています。
PUT /ObjectName?acl HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp Date: date Authorization: signatureValue <AccessControlPolicy> <Owner> <ID>ID</ID> <DisplayName>EmailAddress</DisplayName> </Owner> <AccessControlList> <Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>ID</ID> <DisplayName>EmailAddress</DisplayName> </Grantee> <Permission>Permission</Permission> </Grant> ... </AccessControlList> </AccessControlPolicy>
リクエストパラメータ
この操作ではリクエストパラメータを使用しません。
リクエストヘッダ
「オブジェクトのACL情報設定」では、すべての操作に共通なリクエストヘッダに加えて、
次のリクエストヘッダを提供します。
ヘッダ名
概要
x-amz-acl
リクエストヘッダは、オブジェクト作成時に、定義済みの
ACL を指定します。
定義済み ACL
は、個々のアカウントまたは定められたグループに、指定
したパーミッションを与えます。
種別: 文字列
有効な値: private | public-read | public-read-write
| authenticated-read | bucket-owner-read |
bucket-owner-full-control
デフォルト: private
リクエストの要素
リクエストボディで ACL を指定するときは、以下の要素を使わなければいけません。
要素名
概要
AccessControlList
ACL 情報用のコンテナ (Grant, Grantee,
Permission).
種別: コンテナ
継承: AccessControlPolicy
AccessControlPolicy
設定する ACL パーミッションの要素を入れる。
種別: コンテナ
継承: なし
DisplayName
オブジェクト オーナの表示名
種別: 文字列
継承: AccessControlPolicy.Owner
Grant
Grantee と Permission 用のコンテナ
種別: コンテナ
継承: AccessControlPolicy.AccessControlList
Grantee
パーミッションを付与する対象
種別: 文字列
有効な値: DisplayName | EmailAddress |
AuthenticatedUser
継承:
AccessControlPolicy.AccessControlList.Grant
ID
オブジェクト オーナの ID
種別: 文字列
継承: AccessControlPolicy.Owner |
AccessControlPolicy.AccessControlList.Grant
Owner
オブジェクト オーナの情報
種別: コンテナ
継承: AccessControlPolicy
Permission
Grantee に与えられるパーミッション
種別: 文字列
有効な値: FULL_CONTROL | WRITE_ACP | READ |
READ_ACP
継承:
AccessControlPolicy.AccessControlList.Grant
リクエストの要素では、次の方法で誰にパーミッションを与えるのかを指定します。
emailAddress: アカウントのメールアドレス
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CustomerByEmail"> <EmailAddress>user1@cs-ap-e1.ycloud.jp</EmailAddress>
</Grantee>
ユーザはメールアドレスから CanonicalUser として解決されます。本操作のレスポンスでは、ユーザが
CanonicalUser として示されます。
id: アカウントのユーザID
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>ID</ID>
<DisplayName>GranteesEmail</DisplayName> </Grantee>
ID方式では、DisplayName はオプションで、リクエスト内では無視されます。
uri: グループを定義する URI
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://cs-ap-e1.ycloud.jp/groups/AuthenticatedUsers<URI> </Grantee>
レスポンスの要素
「オブジェクトのACL情報設定」はレスポンス要素を返しません。
サンプル
(1) リクエストボディにアクセスパーミッションを指定した例
リクエストサンプル
このサンプルでは、リクエストボディの ACL で ycloud-process.jpg
という既存のオブジェクトにアクセスパーミッションを割り当てます。
さらに、バケットオーナはフルコントロールできるように、ユーザIDで特定されるアカウントにフルコントロールの権限を
与えます。
PUT /yahoo-process.jpg?acl HTTP/1.1 Host: yahoo_docs.cs-ap-e1.ycloud.jp Date: Fri, 01 Jun 2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Length: 124 <AccessControlPolicy> <Owner> <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>user1@cs-ap-e1.ycloud.jp</DisplayName> </Owner> <AccessControlList> <Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeeExampleCanonicalUserID</ID> <DisplayName>user2@cs-ap-e1.ycloud.jp</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
レスポンスサンプル
HTTP/1.1 200 OKDate: Fri, 01 Jun 2012 12:00:00 GMT Last-Modified:Fri, 01 Jun 2012 10:30:15 GMT Content-Length: 0
Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
(2) ヘッダでアクセス パーミッションを設定するためのリクエストの例
リクエストサンプル
以下は、全員にオブジェクトの読み出しアクセスを与えるために、x-amz-acl というリクエストヘッダに、定義済みの
ACL (public_read) を設定しています。
PUT yahoo-process.jpg?acl HTTP/1.1 Host: bucketname.cs-ap-e1.ycloud.jp x-amz-acl: public-read Accept: */*Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Host: cs-ap-e1.ycloud.jp Connection: Keep-Alive
レスポンスサンプル
HTTP/1.1 200 OK x-amz-id-2: ZDsjJI9E3ke4WK56w5YegkbG6RWPxNQHIQ0CjrjyRVFZhEbabXnBO9w5G7Dmxsgk x-amz-request-id: 827BD84C13B255B1Date: Fri, 01 Jun 2012 12:00:00 GMT Content-Length: 0
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
オブジェクトのACL情報取得
「オブジェクトのACL情報取得」は、オブジェクトのアクセスコントロールリスト(ACL)を返すために、 acl というサブリソースを使用します。 この操作を行うためには、オブジェクトに対する READ_ACP アクセス権限が必要です。
リクエスト
GET /ObjectName?acl HTTP/1.1 Host: [bucketname].cs-ap-e1.ycloud.jp Date: date Authorization: signature_valueリクエスト パラメータ
「オブジェクトのACL情報取得」ではリクエスト パラメータを使用しません。
レスポンスの要素
要素名
概要
AccessControlList
ACL情報のコンテナ (Grant, Grantee, Permission)
種別: コンテナ
継承: AccessControlPolicy
AccessControlPolicy
ACL権限に設定する要素
種別: 文字列
継承: なし
DisplayName
バケット オーナーの表示名
種別: 文字列
継承: AccessControlPolicy.Owner
Grant
Grantee および Permission 用のコンテナ
種別: コンテナ
継承: AccessControlPolicy.AccessControlList
Grantee
権限を与えられるユーザの
ID、Emailaddress、サブジェクトのuri
種別: 文字列
継承:
AccessControlPolicy.AccessControlList.Grant
ID
バケット オーナーのID
種別: 文字列
継承: AccessControlPolicy.Owner |
AccessControlPolicy.AccessControlList.Grant
Owner
バケット オーナー情報のコンテナ
種別: コンテナ
継承: AccessControlPolicy
Permission
Grantee に与えるバケットの権限
種別: 文字列
有効な値: FULL_CONTROL | WRITE | READ_ACP
継承:
AccessControlPolicy.AccessControlList.Grant
サンプル
リクエストサンプル
このリクエストでは、yahoo-process.jpg というオブジェクトのACLを返します。
GET /yahoo-process.jpg?acl HTTP/1.1 Host:bucketname.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=
レスポンスサンプル
HTTP/1.1 200 OK
Date: Wed, 06 Jun 2012 20:47:15 GMT Last-Modified: Mon, 04 Jun 2012 12:00:00 GMT Content-Length: 124
Content-Type: text/plain Connection: close
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue) <AccessControlPolicy> <Owner> <ID>24ef09aa099d10f75aa57c8caeab4f8c8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>UserName@cs-ap-e1.ycloud.jp</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>24ef09aa099d10f75aa57c8caeab4f8c8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>UserName@cs-ap-e1.ycloud.jp</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>