copy-object

Prev Next

Classic/VPC環境で利用できます。

Ncloud Storageに保存したオブジェクトをコピーします。同じリージョンにあるバケット同士でのみコピーできます。

コマンド

コマンド構文は次の通りです。

aws s3api copy-object --bucket <value> --copy-source <value> --key <value> [--options]
参考

単発の COPYで最大5GBサイズのオブジェクトをコピーできます。5GBを超えるオブジェクトをコピーするには、upload-part-copyを使用してください。

パラメータ

パラメータの説明は次の通りです。

パラメータ タイプ 必須の有無 説明 制限事項
--bucket <value> string Y オブジェクトをコピーする対象バケットの名前 -
--copy-source <value> string Y コピーするソースオブジェクト 最大5GBまで
--key <value> string Y 保存するオブジェクトの名前(key値) -
--endpoint-url <value> string Y コマンド呼び出しのデフォルト URLを指定 krリージョンのみ対応、呼び出しドメイン情報はNcloud Storageの概要を参照
--cache-control <value> string N キャッシュ動作の設定 -
--content-disposition <value> string N オブジェクトに対する表現情報を指定 -
--content-encoding <value> string N テンプレートエンコード設定 -
--content-language <value> string N コンテンツ言語設定 -
--content-type <value> string N 明示的なコンテンツタイプ定義 -
--metadata <value> string N オブジェクトと一緒に保存するメタデータを設定 -
--metadata-directive <value> string N CopyObject操作に対する x-amz-metadata-directiveヘッダを設定 このオプションが設定されている場合、--copy-propsは無効化する
--storage-class <value> string N オブジェクトを保存するストレージクラスを指定 選択可能なオプション
  • STANDARD
  • DEEP_ARCHIVE
  • * デフォルトは Standardクラスに保存
--cli-input-json | --cli-input-yaml string N 提供した jsonまたは yaml文字列で引数を入力 jsonと yamlは一緒に指定できない
--generate-cli-skeleton <value> integer N APIコマンドを実行せずに、後に inputとして使用できるパラメータテンプレートを作成 -
--debug boolean N デバッグロギングを使用 -
--no-verify-ssl boolean N SSL証明書を検証する基本動作を再定義 -
--no-paginate boolean N 自動 pagination無効化、結果に対して最初のページが一度だけ呼び出される -
--output <value> string N レスポンスの形式を指定 選択可能なオプション
  • json
  • text
  • table
  • yaml
  • yaml-stream
--query <value> string N レスポンスデータの絞り込みに使用する JMESPathクエリ -
--profile <value> string N 認証情報ファイルで特定の profileを使用 -
--region <value> string N リージョンを指定 krのみ対応
--color <value> string N output color設定 選択可能なオプション
  • on
  • off
  • auto
--no-sign-request boolean N 認証情報のロードを無効化 -
--ca-bundle <value> string N SSL証明書の確認時に使用する CA証明書を指定 -
--cli-read-timeout <value> int N 最大読み取り時間、0を入力するとタイムアウトではなく、ブロック状態に変更される デフォルトは60秒に設定
--cli-connect-timeout <value> int N 最大接続時間、0を入力するとタイムアウトではなく、ブロック状態に変更される デフォルトは60秒に設定
--no-cli-pager boolean N レスポンスの cli pagerを無効化 -
--cli-auto-prompt boolean N CLI入力パラメータの自動プロンプト設定 -
--no-cli-auto-prompt boolean N CLI入力パラメータの自動プロンプトを無効化 -
--sse-customer-algorithm string N ユーザー暗号化アルゴリズム (AES256) -
--sse-customer-key string N ユーザー提供の暗号化キー -
--sse-customer-key-md5 string N ユーザー提供暗号化キーの MD5 -
--copy-source-sse-customer-algorithm string N ソースのユーザー暗号化アルゴリズム (AES256) -
--copy-source-sse-customer-key string N ソースのユーザー提供の暗号化キー -
--copy-source-sse-customer-key-md5 string N ソースのユーザー提供暗号化キーの MD5 -

権限

Sub Accountユーザーがこのコマンドを使用するには、View/GetObject(コピー対象のオブジェクトが保存されているバケット)、Change/PutObject(オブジェクトを保存する対象のバケット)アクションの権限が必要です。

copy-objectコマンドの呼び出し例とレスポンス例を説明します。

バージョン管理が設定されたバケットに保存されているオブジェクトのコピー

呼び出し例

オブジェクトを保存する対象バケットとコピーするソースオブジェクトを指定してコマンドを呼び出すと、オブジェクトをコピーできます。ストレージクラスを指定しないと Standard Classに保存されます。呼び出しのサンプルコードは次の通りです。

aws s3api copy-object --bucket bucket-a --copy-source test-abcd/img/image.png --key img.png \
--endpoint-url=https://kr.ncloudstorage.com 

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "CopySourceVersionId": "54321fd4-0613-11f0-954d-a4f5ef94c2b0",
    "CopyObjectResult": {
        "ETag": "\"12345678a25da72de9ec3094a1f30cb6\"",
        "LastModified": "2025-03-26T12:25:27+00:00"
}

関連コマンド

関連コマンドは次の通りです。