- 印刷する
- PDF
Object Storage概要
- 印刷する
- PDF
概要
NaverクラウドプラットフォームのObject Storageはストレージ管理と使用に必要なS3 APIをを提供します。
バージョン: Amazon S3 v2006-03-01
呼び出しドメイン(Endpoint)
HTTP/HTTPSプロトコルを両方サポートするが、データ保護のためにHTTPSの使用をお勧めします。
リージョン別の呼び出しドメイン
リージョン | リージョン名 | 呼び出しドメイン |
---|---|---|
韓国 | kr-standard | https://kr.object.ncloudstorage.com |
アメリカ西部(New) | us-standard | https://us.object.ncloudstorage.com |
シンガポール(New) | sg-standard | https://sg.object.ncloudstorage.com |
日本(New) | jp-standard | https://jp.object.ncpstorage.com |
ドイツ(New) | de-standard | https://de.object.ncloudstorage.com |
提供リージョンは継続的に拡大していく予定です。
認証キー(Credential)
ポータルのマイページ > アカウント管理 > 認証キー管理で作成したAPI 認証キーを使います。
以下はS3 APIを使ってNaverクラウドプラットフォームのObject Storageにアクセスする時に使えるすべてのオペレーションを説明します。
例を含んで、オペレーションの使用方法に対する追加情報を確認するためにはバケットオペレーション、オブジェクトオペレーションページをご参考ください。
アカウント関連オペレーション
アカウントレベルでは、該当アカウントに属するバケットリストを照会するオペレーションのみサポートします。アカウントのバケット個数は1,000個に制限されます。
オペレーション | 説明 |
---|---|
GET Account(List Buckets) | アカウントに属するバケットリストを照会します。 |
バケットオペレーション
バケットを作成、削除、照会、制御するオペレーションを説明します。
バケットの中のオブジェクトリスト照会 GET Bucket (List Objects) Version 2はサポートしません。
オペレーション | 説明 |
---|---|
PUT Bucket | バケットを作成します。アカウントのバケット個数は1,000個に制限されます。 |
GET Bucket(List Objects) | バケットに含まれたオブジェクトを照会します。 一度に最大1,000個のオブジェクトが表示されます。 |
HEAD Bucket | バケットヘッダを照会します。 |
DELETE Bucket | 空のバケットを削除します。 |
PUT Bucket ACL | バケットに適用するアクセス制御リスト(ACL)を作成します。 |
GET Bucket ACL | バケットに適用されたアクセス制御リスト(ACL)を照会します。 |
PUT Bucket CORS | バケットに適用するCORS設定を作成します。 |
GET Bucket CORS | バケットに適用されたCORS設定を照会します。 |
DELETE Bucket CORS | バケットに適用されたCORS設定を削除します。 |
List Multipart Uploads | 完了されなかったか、キャンセルされたマルチパートアップロードを照会します。 |
オブジェクトオペレーション
オブジェクトを作成、削除、照会、制御するオペレーションを説明します。
オペレーション | 説明 |
---|---|
PUT Object | バケットにオブジェクトを追加(アップロード)します。 |
PUT Object (Copy) | オブジェクトコピー本を作成します。 |
GET Object | オブジェクトを照会(ダウンロード)します。 |
HEAD Object | オブジェクトヘッダを照会します。 |
DELETE Object | バケットでオブジェクトを削除します。 |
DELETE Multiple Objects | バケットでマルチパートオブジェクトを削除します。 |
PUT Object ACL | オブジェクトに適用するアクセス制御リスト(ACL)を作成します。 |
GET Object ACL | オブジェクトに適用されたアクセス制御リスト(ACL)を照会します。 |
OPTIONS Object | CORS設定を確認して特定リクエストを伝送できるのかを照会します。 |
Initiate Multipart Upload | アップロードするパート集合に指定するアップロード ID を作成します。 |
Upload Part | アップロード IDと関連されたオブジェクトのパートをアップロードします。 |
Complete Multipart Upload | アップロード IDと関連されたパートに分離されたオブジェクトを結合します。 |
Abort Multipart Upload | アップロードを中断してアップロード IDと関連されたパートを削除します。 |
共通ヘッダ
共通リクエストヘッダ
次の表はNaverクラウドプラットフォームのObject Storageでサポートする共通リクエストヘッダを説明します。
NaverクラウドプラットフォームのObject Storageでは次の表に表示されてない共通ヘッダ場合、リクエストが伝送されても無視します。
但し、リクエスト中で一部はこのドキュメントに定義されたように他のヘッダをサポートできます。
認証ヘッダ作成に対する詳しい内容については"認証管理"ページで確認できます。
ヘッダ | 説明 |
---|---|
Authorization | 必須(AWS Signature Version 4) |
Host | 必須 |
x-amz-date | 必須、Dateに指定できます。 |
x-amz-content-sha256 | 必須、但し、オブジェクトアップロード時または本文にリクエスト情報が含まれた場合に該当します。 |
Content-Length | 必須、但し、オブジェクトアップロード時に該当します。チャンクエンコーディング(chunked encoding)がサポートされます。 |
Content-MD5 | 伝送中であるリクエスト本文の128ビットMD5ハッシュ値 |
Expect | 100-continueである場合、リクエストの本文伝送の前に、ヘッダが承認される時まで待機します。 |
共通レスポンスヘッダ
次の表は共通レスポンスヘッダを説明します。
ヘッダ | 説明 |
---|---|
Content-Length | リクエスト本文の長さ(単位: バイト) |
Connection | 連結されたか、されてないかに対する区分 |
Date | リクエストメッセージのタイムスタンプ |
ETag | リクエストメッセージのMD5ハッシュ値 |
x-amz-request-id | リクエスト時、作成された固有識別子 |
エラーコード
エラーコード | 説明 | HTTPステータスコード |
---|---|---|
AccessDenied | アクセスが拒否されました。 | 403 Forbidden |
BadDigest | 指定したContent-MD5が受信した内容と一致しません。 | 400 Bad Request |
BucketAlreadyExists | リクエストしたバケット名が使えません。該当バケットの名前空間(name space)はシステムを利用するすべてのユーザーが共有します。 他の名称を選択してから再度お試しください。 | 409 Conflict |
BucketNotEmpty | 削除しようとするバケットが空ではありません。 | 409 Conflict |
CredentialsNotSupported | 該当リクエストはCredentialsをサポートしません。 | 400 Bad Request |
EntityTooSmall | アップロードしようとするオブジェクトのサイズが許容される最小サイズより小さいです。 | 400 Bad Request |
EntityTooLarge | アップロードしようとするオブジェクトのサイズが許容される最大サイズを超えました。 | 400 Bad Request |
IncompleteBody | Content-Length HTTPヘッダに値を指定しておりません。 | 400 Bad Request |
IncorrectNumberOfFilesInPostRequest | POSTリクエストでアップロードできるファイルの数は一つのみです。 | 400 Bad Request |
InlineDataTooLarge | インラインデータのサイズが許容される最大サイズを超えました。 | 400 Bad Request |
InternalError | 内部エラーが発生しました。再度お試しくだいさい。 | 500 Internal Server Error |
InvalidAccessKeyId | 入力したAWSアクセスキーIDがデータベースに存在しません。 | 403 Forbidden |
InvalidArgument | 無効なパラメータです。 | 400 Bad Request |
InvalidArgument | シークレットキーのMD5ハッシュ値が間違っています。MD5ハッシュはBase64エンコーディングされる必要があります。 | 400 Bad Request |
InvalidArgument | MD5ハッシュ値が入力した値と一致しません。 | 400 Bad Request |
InvalidBucketName | 指定したバケットが有効ではありません。 | 400 Bad Request |
InvalidBucketState | 該当リクエストは、現在のバケットのステータスでは有効ではありません。 | 409 Conflict |
InvalidDigest | 指定したContent-MD5が有効ではありません。 | 400 Bad Request |
InvalidEncryptionAlgorithmError | 指定したEncryptionリクエストが有効ではありません。サポートされる値はAES256です。 | 400 Bad Request |
InvalidLocationConstraint | 地域制約条件が有効ではありません。 | 400 Bad Request |
InvalidObjectState | 現在のオブジェクトのステータスでは、該当オペレーションが有効ではありません。 | 403 Forbidden |
InvalidPart | 指定されたパートの中、一つ以上を探せません。該当パートがアップロードされなかったか、指定されたエンティティタグがパートのエンティティタグと一致しない可能性があります。 | 400 Bad Request |
InvalidPartOrder | パートリストがアセンディングにソートされてません。パート番号順にソートされてある必要があります。 | 400 Bad Request |
InvalidRange | リクエストされた範囲が提供できません。 | 416 Requested Range Not Satisfiable |
InvalidRequest | AWS4-HMAC-SHA256アルゴリズムを使ってください。 | 400 Bad Request |
InvalidSecurity | 入力したセキュリティCredentialsが有効ではありません。 | 403 Forbidden |
InvalidURI | 指定されたURIの構文を分析できません。 | 400 Bad Request |
KeyTooLong | キーが長すぎます。 | 400 Bad Request |
MalformedACLError | 入力したXML形式が正しくないか、掲示されたスキーマ有効性の検査を行ってません。 | 400 Bad Request |
MalformedPOSTRequest | POSTリクエスト本文のmultipart/form-data属性値が正しくありません。 | 400 Bad Request |
MalformedXML | 設定が間違ったXML(XSD規定を従わないXML)を伝送する時に発生するエラーです。エラーメッセージは次のようになります。"The XML you provided was not well-formed or did not validate against our published schema." | 400 Bad Request |
MaxMessageLengthExceeded | リクエストが長すぎます。 | 400 Bad Request |
MaxPostPreDataLengthExceededError | アップロードファイルの前のPOSTリクエストフィールドが 大きすぎます。 | 400 Bad Request |
MetadataTooLarge | メタデータのヘッダサイズが許容する最大サイズを超えました。 | 400 Bad Request |
MethodNotAllowed | 指定したメソッドはこのリソースでは使えません。 | 405 Method Not Allowed |
MissingContentLength | Content-Length HTTPヘッダを提供する必要があります。 | 411 Length Required |
MissingRequestBodyError | 空のXMLドキュメントを伝送する時に発生するエラーです。エラーメッセージは次のようになります。"Request body is empty." | 400 Bad Request |
NoSuchBucket | 指定したバケットが存在しません。 | 404 Not Found |
NoSuchKey | 指定したキーが存在しません。 | 404 Not Found |
NoSuchUpload | 指定したマルチパートアップロードが存在しません。アップロード IDが有効でないか、マルチパートアップロードが中断または完了された可能性があります。 | 404 Not Found |
NotImplemented | 入力したヘッダは実装されでない機能を意味します。 | 501 Not Implemented |
OperationAborted | 条件付き演算がこのリソースと衝突します。再度お試しください。 | 409 Conflict |
PreconditionFailed | 指定した前提条件の中、一つ以上が実行されてません。 | 412 Precondition Failed |
Redirect | 臨時に新しい位置へリダイレクトします。 | 307 Moved Temporarily |
RequestIsNotMultiPartContent | バケットPOSTリクエストにはenclosure-type multipart/form-data属性値を指定する必要があります。 | 400 Bad Request |
RequestTimeout | ソケット連結が制限時間内にサーバへ到達できませんでした。 | 400 Bad Request |
RequestTimeTooSkewed | リクエスト時間とサーバ時間の間の差が大きすぎます。 | 403 Forbidden |
SignatureDoesNotMatch | 入力した署名値が測定された署名値と一致しません。AWSシークレットキーと署名方式をを確認してください。 | 403 Forbidden |
ServiceUnavailable | リクエスト頻度を減らしてください。 | 503 Service Unavailable |
SlowDown | リクエスト頻度を減らしてください。 | 503 Slow Down |
TemporaryRedirect | DNSをアップデートする間、バケットにリダイレクトしています。 | 307 Moved Temporarily |
TooManyBuckets | バケット作成の許容個数を超えました。 | 400 Bad Request |
UnexpectedContent | 該当リクエストはコンテンツをサポートしません。 | 400 Bad Request |
UnresolvableGrantByEmailAddress | 入力したメールアドレスと一致するアカウントがデータベースに存在しません。 | 400 Bad Request |
UserKeyMustBeSpecified | バケットPOSTリクエストは指定されたフィールド名を含む必要があります。フィールド名が指定されている場合、フィールド順番を確認してください。 | 400 Bad Request |
認証
NaverクラウドプラットフォームのObject Storage APIの認証はAuthorizationヘッダを通じて行われますし、認証方法はObject Storage API使用ガイドで確認できます。
アクセス制御リスト(ACL)
NaverクラウドプラットフォームのObject Storageサービスを利用中である会員を対象にバケットとオブジェクトにアクセス権限を付与できます。
NaverクラウドプラットフォームのObject Storage利用申し込みを完了した会員はObject Storageで使えるIDが発行されます。
このIDはバケットとオブジェクトのアクセス権限を設定する時に使用されます。
また、認証なくアクセスができるようにpublic-read、public-write権限設定もできます。
次の表は権限種類と該当権限が付与された場合、可能なオペレーションを説明します。
権限 | バケットに付与された場合 | オブジェクトに付与された場合 |
---|---|---|
READ | バケットに属するオブジェクトリストが照会できます。 | オブジェクトデータとメタデータのreadが可能です。 |
WRITE | 新しいオブジェクトを作成するか、既存オブジェクトの上書きまたは削除が可能です。 | N/A |
READ_ACP | バケットの ACL照会が可能です。 | オブジェクトのACL照会が可能です。 |
WRITE_ACP | バケットの ACL設定が可能です。 | オブジェクトのACL設定が可能です。 |
FULL_CONTROL | READ、WRITE、READ_ACP、WRITE_ACP権限で、可能なすべてのオペレーションを実行できます。 | READ、WRITE、READ_ACP、WRITE_ACP権限で、可能なすべてのオペレーションを実行できます。 |
次の表はNCPオブジェクトストレージでサポートする基本ACLを説明します。この表に言及されてない値はサポートされません。
基本ACL | 適用対象 | 説明 |
---|---|---|
private | バケット、オブジェクト | 所有者にFULL_CONTROL権限を付与します。(default) |
public-read | バケット、 オブジェクト | 所有者にFULL_CONTROL権限を付与して、すべてのユーザーにREAD 権限を付与します。 |
public-read-write | バケット、 オブジェクト | 所有者にFULL_CONTROL権限を付与して、すべてのユーザーにREADとWRITE権限を付与します。 |
authenticated-read | バケット、 オブジェクト | 所有者にFULL_CONTROL権限を付与して、認証されたユーザーにREAD権限を付与します。 |
public-readを含んでREAD権限がバケットに適用された場合にはオブジェクトの照会のみができ、オブジェクト自体にはアクセスできません。