Object Storageの概要
    • PDF

    Object Storageの概要

    • PDF

    記事の要約

    概要

    NAVERクラウドプラットフォーム Object Storageは、ストレージの管理と使用に必要な S3 APIを提供しています。

    バージョン: Amazon S3 v2006-03-01

    呼び出しドメイン(Endpoint)

    HTTPと HTTPSプロトコルのいずれもサポートしていますが、データ保護のため、HTTPSの使用をお勧めします。

    リージョン別呼び出しドメイン

    リージョンリージョン名呼び出しドメイン
    韓国kr-standardhttps://kr.object.ncloudstorage.com
    米国西部(New)us-standardhttps://us.object.ncloudstorage.com
    シンガポール(New)sg-standardhttps://sg.object.ncloudstorage.com
    日本(New)jp-standardhttps://jp.object.ncpstorage.com
    ドイツ(New)de-standardhttps://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 ObjectCORS設定を確認して、特定のリクエストを転送できるか照会
    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ハッシュ値
    Expect100-continueの場合、リクエストボディの転送前にヘッダが承認されるまで待機

    共通レスポンスヘッダ

    次の表で、共通レスポンスヘッダを説明します。

    ヘッダ説明
    Content-Lengthリクエストボディの長さ(単位: Byte)
    Connection接続されたかどうか
    Dateリクエストメッセージのタイムスタンプ
    ETagリクエストメッセージの MD5ハッシュ値
    x-amz-request-idリクエスト時に作成された固有 ID

    レスポンスステータスコード

    エラーコード説明HTTPステータスコード
    AccessDeniedアクセスが拒否される403 Forbidden
    BadDigest指定した Content-MD5が受信した内容と一致しない400 Bad Request
    BucketAlreadyExistsリクエストしたバケット名は使用不可
    バットのネームスペースはシステムを利用するすべてのユーザーが共有する
    別の名前を選択し、再試行
    409 Conflict
    BucketNotEmpty削除しようとするバケットが空ではない409 Conflict
    CredentialsNotSupportedこのリクエストは Credentialsをサポートしない400 Bad Request
    EntityTooSmallアップロードしようとするオブジェクトの容量が最小容量より小さい400 Bad Request
    EntityTooLargeアップロードしようとするオブジェクトの容量が最大容量を超過400 Bad Request
    IncompleteBodyContent-Length HTTPヘッダに値を指定していない400 Bad Request
    IncorrectNumberOfFilesInPostRequestPOSTリクエストではファイルを1個だけアップロードできる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
    InvalidArgumentMD5ハッシュ値が入力値と一致しない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指定されたパートのうち、1つ以上見つからない
    パートがアップロードされていないか、指定されたエンティティタグがパートのエンティティタグと一致しない可能性がある
    400 Bad Request
    InvalidPartOrderパートリストが昇順でソートされていない
    パート番号順にソートされていることが必要
    400 Bad Request
    InvalidRangeリクエストされた範囲を満たせられない416 Requested Range Not Satisfiable
    InvalidRequestAWS4-HMAC-SHA256アルゴリズムの使用が必要400 Bad Request
    InvalidSecurity入力したセキュリティ Credentialsは有効ではない403 Forbidden
    InvalidURI指定された URIの構文を分析できない400 Bad Request
    KeyTooLongキーが長すぎる400 Bad Request
    MalformedACLError入力した XML形式が正しくないか、公開されたスキーマの有効性が検査されていない400 Bad Request
    MalformedPOSTRequestPOSTリクエストボディの 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
    MissingContentLengthContent-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指定した前提条件のうち、1つ以上実行されていない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
    TemporaryRedirectDNSをアップデートする間、バケットにリダイレクト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バケットに属するオブジェクトリストの照会が可能オブジェクトデータとメタデータの読み取りが可能
    WRITE新規オブジェクトの作成や既存のオブジェクトの上書き、または削除が可能N/A
    READ_ACPバケットの ACL照会が可能オブジェクトの ACL照会が可能
    WRITE_ACPバケットの ACL設定が可能オブジェクトの ACL設定が可能
    FULL_CONTROLREAD、WRITE、READ_ACP、WRITE_ACP権限に許されているすべてのオペレーションが実行可能READ、READ_ACP、WRITE_ACP権限に許されているすべてのオペレーションが実行可能

    次の表で、NAVERクラウドプラットフォーム Object Storageでサポートしている基本 ACLを説明します。この表に明示されていない値はサポートしていません。

    基本 ACL適用対象説明
    privateバケット、オブジェクト所有者に FULL_CONTROL権限を付与(デフォルト)
    public-readバケット、オブジェクト所有者に FULL_CONTROL権限を、すべてのユーザーに READ権限を付与
    public-read-writeバケット、オブジェクト所有者に FULL_CONTROL権限を、すべてのユーザーに READと WRITE権限を付与
    authenticated-readバケット、オブジェクト所有者に FULL_CONTROL権限を、認証済みのユーザーに READ権限を付与

    public-readを含む READ権限がバケットに適用された場合、オブジェクトは照会のみ行えます。オブジェクト自体にはアクセスできません。


    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.