バケット操作

バケットの作成

mb コマンド(「make bucket」の略)を使用して新しいバケットを作成します。

$ s3cmd mb s3://my-bucket-name

注意

オブジェクトストレージはフラットな名前空間を使用し、ディレクトリを持ちません。オブジェクトのパスでディレクトリのように見えるものは、実際にはオブジェクト名の一部です。グラフィカルインターフェースは、ユーザーにとってより馴染みのあるディレクトリ体験を模倣するために、存在しない各要素に対して空のファイルを作成します。コマンドラインからは、空のファイルを作成する必要はありません。代わりに、ファイルを配置したいパスを put コマンドの一部として入力します。

バケット一覧の表示

$ s3cmd ls

バケット内のオブジェクト一覧表示

$ s3cmd ls s3://my-bucket-name

バケットの削除

空のバケットを削除するには:

$ s3cmd rb s3://my-bucket-name

バケットとその中身をすべて削除するには:

$ s3cmd rb s3://my-bucket-name --recursive

バケット内ファイルの削除予約

1日経過後にバケット内のファイルを削除するには:

$ s3cmd expire --expiry-days=1 --expiry-prefix= s3://my-bucket-name

オブジェクト操作

ファイルのアップロード

単一ファイルをアップロードするには:

$ s3cmd put local-file.txt s3://my-bucket-name/

ファイルを新しい名前でアップロードするには:

$ s3cmd put local-file.txt s3://my-bucket-name/remote-file.txt

ディレクトリ内のすべてのファイルを再帰的にアップロードするには:

$ s3cmd put local-directory/ s3://my-bucket-name/ --recursive

ファイルのダウンロード

単一ファイルをダウンロードするには:

$ s3cmd get s3://my-bucket-name/remote-file.txt local-file.txt

バケット内のすべてのファイルをダウンロードするには:

$ s3cmd get s3://my-bucket-name/ local-directory/ --recursive

ファイルの削除

単一ファイルを削除するには:

$ s3cmd del s3://my-bucket-name/remote-file.txt

複数のファイルを削除するには:

$ s3cmd del s3://my-bucket-name/ --recursive --force

ファイル情報の表示

ファイルの詳細情報を表示するには:

$ s3cmd info s3://my-bucket-name/remote-file.txt

同期操作

ローカルからバケットへの同期

ローカルディレクトリをバケットに同期するには:

$ s3cmd sync local-directory/ s3://my-bucket-name/

バケットからローカルへの同期

バケットをローカルディレクトリに同期するには:

$ s3cmd sync s3://my-bucket-name/ local-directory/

権限設定

ファイルを公開する

ファイルをHTTPS経由で公開するには:

$ s3cmd setacl s3://my-bucket-name/remote-file.txt --acl-public

メモ

URLは下記となります。
https://{ConoHaのS3エンドポイント}/{テナントID}:{バケット名}/{ファイル名}

ファイルを非公開にする

ファイルを非公開にするには:

$ s3cmd setacl s3://my-bucket-name/remote-file.txt --acl-private

一時的にファイルを公開する

一時的に1時間の間のみファイルをHTTPS経由で公開するには:

$ s3cmd signurl s3://my-bucket-name/remote-file.txt +3600

メモ

URLはコマンド実行後にレスポンスされます。

高度な使用方法

マルチパートアップロード

大きなファイルのマルチパートアップロードのチャンクサイズを変更するには:

$ s3cmd put large-file.zip s3://my-bucket-name/ --multipart-chunk-size-mb=50

進行状況の表示

アップロード/ダウンロードの進行状況を表示するには:

$ s3cmd put large-file.txt s3://my-bucket-name/ --progress

設定ファイルの指定

デフォルト以外の設定ファイルを使用するには:

$ s3cmd ls -c /path/to/custom/config

トラブルシューティング

よくある問題と解決方法

接続エラー

問題: ERROR: S3 error: 403 (AccessDenied)

解決方法: アクセスキーとシークレットキーが正しく設定されているか確認してください。

エンドポイントエラー

問題: ERROR: S3 error: [Errno -2] Name or service not known

解決方法: エンドポイントの設定を確認してください。ConoHaの正しいS3エンドポイントが設定されていることを確認してください。

SSL/TLS エラー

問題: SSL関連のエラー

解決方法: 設定ファイルで use_https = True が設定されていることを確認してください。ConoHaのS3互換APIはHTTPS接続を推奨します。

デバッグモード

詳細なデバッグ情報を表示するには:

$ s3cmd ls --debug

設定の確認

現在の設定を確認するには:

$ s3cmd --dump-config

ConoHa S3サービスの状態確認

ConoHaのS3互換サービスが正常に動作しているか確認するには:

$ curl -I https://[ConoHaのS3エンドポイント]