
(S3のWSDLをWeb参照に追加しようとしたときのウィンドウ)
SOAP API
Serviceに対する操作 (Operations on Service)
Bucketに対する操作 (Operations on Bucket)
Objectに対する操作 (Operations on Objects)
Serviceに対する操作 (Operations on Service)
一つしかありませんね。自分のService内にあるBucketの一覧を取得してくれます。
Bucketに対する操作 (Operations on Bucket)
- CreateBucket
- DeleteBucket
- ListBucket
- GetBucketAccessControlPolicy
- SetBucketAccessControlPolicy
- GetBucketLoggingStatus
- SetBucketLoggingStatus
Bucketを作成します。要素一覧は次の通り。
- Bucket … 作成するBucket名。
- AccessControlList … ACL。任意の要素。付与しなかった場合はフルコントロールとなります。
Bucketを削除します。Bucketを削除する前にBucket内のObjectsを削除しておかないといけません。要素一覧は次の通り。
- Bucket … 削除するBucket名。
Objectsの一覧を取得します。Bucketsの一覧を取得するわけではありません。プリフィックス、マーカー、最大Key数を設定できます。要素一覧は次の通り。
- Bucket … Bucket名。
- Prefix … プリフィックス。
- Marker … マーカー。マーカーより後のKeysしか一覧に載せません。ページングを行う場合に便利。(Prefixを”N”に設定し、Markerを”Nev”に設定すればNeedは一覧に載りませんが、NeverやNineは一覧に載るようになります)
- Delimiter … 区切り文字。
- MaxKeys … 最大Key数。
- GetBucketAccessControlPolicy
BucketのAccessControlPolicyを取得します。BucketのオーナーやらACLの一覧やらを取得します。要素一覧は次の通り。
- Bucket … Bucket名。
- SetBucketAccessControlPolicy
BucketのAccessControlPlicyを設定します。要素一覧は次の通り。
- Bucket … Bucket名
- AccessControlList … ACL。
ロギングステータスを取得します。(β機能ということで、将来的に機能が変更される可能性があります)
- Bucket … Bucket名。
ロギングステータスを設定します。(β機能ということで、将来的に機能が変更される可能性があります)
- Bucket … Bucket名
- BucketLoggingStatus … ロギングステータス
Objectに対する操作 (Operations on Objects)
- PutObjectInline
- PutObject
- GetObject
- GetObjectExtended
- DeleteObject
- GetObjectAccessControlPolicy
- SetObjectAccessControlPolicy
ObjectをBucketに加えます。同じObject(Key?)が存在している場合、常に上書きになります。このメソッドで送信できるObjectの要領は最大1MBです。ちなみにPutObjectInlineのInlineはSOAPのBodyの中にObjectのデータを書き込むことから由来しています。要素一覧は次の通り。
- Bucket … Bucket名。
- Key … Key名。
- Metadata … メタデータ。Name-Valueコレクションとして複数定義可能。
- Data … Objectのデータ。Base64で記述する必要がある。
- ContentLength … Objectのデータ長。
- AccessControlList … ACL。
ObjectをBucketに加えます。PutObjectInlineのDIME Attachementバージョン。要素一覧は次の通り。
- Bucket … Bucket名。
- Key … Key名。
- Metadata … メタデータ。Name-Valueコレクションとして複数定義可能。
- ContentLength … Objectのデータ長。
- AccessControlList … ACL。
Objectを取得します。データが要らない場合、メタデータのみを取得するようなこともできます。要素一覧は次の通り。
- Bucket … Bucket名。
- Key … Key名。
- GetMetadata … メタデータを取得するかどうか。
- GetData … データを取得するかどうか。
- InlineData … ResponseのSOAP-Body内にデータを含むかどうか。含む場合、1MB以内のデータでないとエラーになります。
Objectを取得します。GetObjectの拡張版。GetObjectの要素に加えて次の要素があります。
- ByteRangeStart, ByteRangeEnd … データの一部を取得する。
- IfModifiedSince … Objectの最終更新日時が指定した日時より後だった場合、取得する。
- IfUnmodifiedSince … Objectの最終更新日時が指定した日時より前だった場合、取得する。
- IfMatch … ETagの値が同じ場合、取得する。複数定義可。
- IfNoneMatch … ETagの値が一致しない場合、取得する。複数定義可。
- ReturnCompleteObjectOnConditionFailure … ByteRangeStart/ByteRangeEndとIfUnmodifiedSince/IfMatchが同時に定義され、この要素がtrueの場合、IfUnmodifiedSince/IfMatchの判定で失敗してもエラーを返さず、Objectのデータを丸ごと返すようになります。
Objectを削除します。要素一覧は次の通り。
- Bucket … Bucket名。
- Key … Key名。
- GetObjectAccessControlPolicy
ObjectのAccessControlPolicyを取得します。要素一覧は次の通り。
- Bucket … Bucket名。
- Key … Key名。
- SetObjectAccessControlPolicy
ObjectのAccessControlPlicyを設定します。要素一覧は次の通り。
- Bucket … Bucket名
- Key … Key名。
- AccessControlList … ACL。
これだけ見れば、開発者の方だと大体何ができるか分かると思いますが、まだまだ続きます。次はS3の認証方法について見ていこうと思います。