問題タブ [s3cmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - AWS S3 でホストされている静的ウェブサイトの Content-Type の設定
S3 で静的 Web サイトをホストしています。サイトを Amazon にプッシュするには、s3cmd コマンド ライン ツールを使用します。Content-Type を に設定することを除いて、すべて正常に動作しtext/html;charset=utf-8
ます。
HTML ファイルの meta タグに文字セットを設定できることはわかっていますが、それは避けたいと思います。
これが私が使用している正確なコマンドです:
これが私が得るエラーです:
エラー: S3 エラー: 403 (SignatureDoesNotMatch): 計算したリクエストの署名が、提供された署名と一致しません。キーと署名方法を確認してください。
上記のコマンドからその部分を削除する;charset=utf-8
と機能しますが、 Content-Type はtext/html
notに設定されtext/html;charset=utf-8
ます。
shell - s3cmd zcat と grep で行を数える
特定の文字を含む S3 バケットから圧縮された (.gz) ファイルのエントリ数をカウントする必要があります。どうすればできますか?
具体的には、私の S3 バケットはs3://mys3.com/
です。その下には、次のような数千のバケットがあります。
各バケットには、次のような約数百の圧縮された (.gz) JSON オブジェクトがあります。
圧縮された各ファイルには、約 20,000 個の JSON オブジェクトが含まれています (各 JSON オブジェクトは 1 行です)。各 JSON オブジェクトには、「リクエスト」という単語を含む特定のフィールドがあります。「リクエスト」という単語を含むバケット 1 にある JSON オブジェクトの数を数えたいと思います。私はこれを試しましたが、うまくいきませんでした:
シェルの経験があまりないので、誰か助けてもらえますか? ありがとう!
python - 同じ Amazon S3 バケット内のファイルのコピー
バケットのフォルダー全体/contentstore/
をタイムスタンプ付きのバージョンにコピーしようとしています。基本的/contenstore/
に にコピーされ/contentstore/20130729/
ます。
私のスクリプト全体は、s3s3mirror
最初に本番 S3 バケットをバックアップにクローンするために使用します。次に、同じものの複数のバージョンを保持できるように、バックアップの名前をタイムスタンプ付きのコピーに変更したいと考えています。
これを使用して動作するバージョンを持っていs3cmd
ますが、異常に時間がかかるようです。2 つのバケットの間のs3s3mirror
部分は、おそらく既存のフォルダーの更新であるため、数分以内に完了します。ただし、クリーンs3s3mirror
(バックアップに既存のコンテンツストアがない) の場合でも、約 20 分かかります。
一方、conentstore をバックアップ バケットのタイムスタンプ付きコピーにコピーするには、1 時間 10 分以上かかります。
私は何か間違ったことをしていますか?同じバケット上のデータのコピーは、2 つの異なるバケット間の完全なクローンよりも長くかかる必要がありますか?
どんなアイデアでも大歓迎です。
PS:私が実行しているコマンドはs3cmd --recursive cp backupBucket/contentStore/ backupBucket/20130729/