Windows の AWS CLI で「:」が含まれる S3 のファイル名をダウンロードできない時の対処方法

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

S3 のフォルダに入っている全てのファイルを AWS CLI を利用して一括でダウンロードしたいのですが、
「:」がファイル名に含まれており、download failed とエラーが発生して、ダウンロードできませんでした。
対処方法を教えてください。

どう対応すればいいの?

現時点では、Windows の AWS CLI では「:」がファイル名に含まれると読み込むことができないため、ダウンロードする場合は、エラーが発生します。 エラーを回避するには下記 2 つの方法をお試しください。

  1. ファイル名を変更する
    ファイル名に「:」が含まれないように変更することで、AWS CLI よりダウンロードをすることができます。

    aws s3 cp s3://<バケット名>/<フォルダ名> ./ --recursive

  2. サードパーティのツール Cyberduck を利用する
    Cyberduck の S3 機能を利用することで、ファイル名に「:」が含まれている場合でも、ダウンロードをすることができます。
    ダウンロードされたファイル名の「:」部分は「_」に変換されますが、ファイル自体は正常にダウンロードされます。

やってみた

2 の対処方法について、実際に試してみました。 folder-testに含まれるファイルをダウンロードしたいと思います。

  1. https://cyberduck.io/ より、Cyberduck をダウンロードして、インストールします。

  2. 新規接続(Open Connection)でサービスを Amazon S3 と選択して、アクセスキーID と パスワードを入力します。

3. 「:」が含まれるファイルのフォルダを選択いただき、右クリックをして、ダウンロードをします。

参考情報