• 検索結果がありません。

オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクトの 取 得 オブジェクトの 削 除 オブジェクトのメタ 情 報 の 取 得 オブジェクトのACL 情 報 設 定 オブジェクトのACL 情 報 取 得 2.

N/A
N/A
Protected

Academic year: 2021

シェア "オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクト 操 作 系 オブジェクトの 取 得 オブジェクトの 削 除 オブジェクトのメタ 情 報 の 取 得 オブジェクトのACL 情 報 設 定 オブジェクトのACL 情 報 取 得 2."

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

クラウドストレージ 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情報取得

オブジェクト操作系

オブジェクトのアップロード

(2)

オブジェクト操作系

オブジェクトの取得

オブジェクト操作系

オブジェクトの削除

オブジェクト操作系

オブジェクトのメタ情報の取得

オブジェクト操作系

オブジェクトの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

(3)

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リファレンス

(4)

サービス一覧情報取得

概要

「サービス一覧情報取得」は認証リクエストを送信したユーザが所有し、そのユーザで認証されている全バケット一覧を返します。 ※他のユーザが作成したバケットはリストに含まれません。同様に匿名で作成されたバケットもリストに含まれません。

リクエスト

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

(5)

ListAllMyBucketsResult

レスポンス用のコンテナ

種別: コンテナ

子要素: Owner, Buckets

継承: なし

Name

バケットの名前

種別: 文字列

継承: ListAllMyBucketsResult.Buckets.Bucket

Owner

バケットのオーナー情報用のコンテナ

種別: コンテナ

継承: ListAllMyBucketsResult

サンプル

リクエストサンプル

サービスエンドポイント(この例では

cs-ap-e1.ycloud.jp)上でのGET操作で、リクエストの送信者が所有する全てのバケットのリストが返されます。

Host: cs-ap-e1.ycloud.jp

Date: 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リファレンス

バケット一覧情報取得

概要

(6)

「バケット一覧情報取得」ではバケット内のオブジェクトのリスト(すべて、または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

(7)

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

(8)

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 +0000

Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM= Content-Type: text/plain

(9)

<?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 +0000

Authorization: AWS QMUG3D7KP5OQZRDSQWB6:4Pb+A0YT4FhZYeqMdDhYls9f9AM=

(10)

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)の様なものは不可です

アクセスパーミッション

(11)

「バケットの作成」は、指定したアカウントまたはグループにバケットのパーミッションを指定することができます。 以下の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という名前のバケットを作成するリクエストです。

(12)

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: private

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 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

(13)

レスポンス

「バケットの削除」では、共通のレスポンスヘッダのみを使用し、いかなるレスポンス要素も返しません。

サンプル

リクエストサンプル

projectsという名前のバケットを削除します。

DELETE / HTTP/1.1 Host: projects.cs-ap-e1.ycloud.jp Date: Wed, 06 Jun 2012 20:47:15 +0000

Authorization: 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をリクエストボディで設定するときの書式を示します。

ヘッダセクションにはこれで使う以外のヘッダが含まれています。

(14)

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

(15)

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

(16)

リクエストの要素では、次の方法で誰にパーミッションを与えるのかを指定します。

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 パーミッションを与える

(17)

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 OK

Date: 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を返してしまいます。

リクエスト

(18)

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

(19)

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

(20)

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 +0000

Authorization: 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リファレンス

オブジェクトのアップロード

概要

(21)

「オブジェクトのアップロード」はバケットにオブジェクトを追加します。 「オブジェクトのアップロード」は部分的なオブジェクト追加を行わず、 成功レスポンスがあればオブジェクト全体がバケットに追加された事を意味します。 この操作を行うためには、オブジェクトに対する 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

オブジェクトのバイト サイズ。このヘッダは必要です。

種別: 文字列

デフォルト: なし

制約: なし

(22)

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

制約: なし

(23)

リクエストサンプル

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)

オブジェクトの取得

(24)

「オブジェクトの取得」はストレージからオブジェクトを取得します。 この操作を行うためには、オブジェクトに対する 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 +0000

Authorization: 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

(25)

サンプル

リクエストサンプル

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 +0000

Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=

(26)

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情報設定」では、すべての操作に共通なリクエストヘッダに加えて、

次のリクエストヘッダを提供します。

ヘッダ名

概要

(27)

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

(28)

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

という既存のオブジェクトにアクセスパーミッションを割り当てます。

(29)

さらに、バケットオーナはフルコントロールできるように、ユーザ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 OK

Date: 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: 827BD84C13B255B1

Date: 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情報取得

(30)

「オブジェクトの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

(31)

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 +0000

Authorization: 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>

更新日時 : 2013 / 01 / 31

参照

関連したドキュメント

入札説明書等の電子的提供 国土交通省においては、CALS/EC の導入により、公共事業の効率的な執行を通じてコスト縮減、品

運転時の異常な過渡変化及び設計基準事故時に必要な操作は,中央制御室にて実施可

「系統情報の公開」に関する留意事項

申込共通① 申込共通② 申込共通③ 申込共通④ 申込完了

操作内容/項目説明 振込金額を入力します。 【留意点】 ・半角数字(最大10桁)

事故時運転 操作手順書 事故時運転 操作手順書 徴候ベース アクシデント マネジメント (AM)の手引き.

AII Rights Reserved © 2016 TEPCO Energy Partner 、INC.Printed

スイッチBOX サーバ 操作