Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

AWS S3から全部ではないけど大量に何個か取ってきたい

困ったのでメモ

背景

  • aws cliコマンドではS3から手元のローカルにコピーができる
  • バケットの中にはめちゃくちゃファイルがあるが、その中からいくつかコピーしたい
  • 「いくつか」とはいうものの、3000個ぐらいある…
  • バケット内にあるファイルは、すべて同じ拡張子なので、includeオプション(例 --include '*.png') が使えない…
  • 手元に全部同期(sync)して選別するにしても、1個1個のファイルサイズがそこそこあるので、全部ダウンロードしたら手元のディスクが死ぬ…

2つの解決策

aws s3 cp s3://my-bucket/mydir/foo/001.png .
aws s3 cp s3://my-bucket/mydir/foo/002.png .
aws s3 cp s3://my-bucket/mydir/foo/003.png .
...
  • --includeオプションを複数連ねて大量に作って、1つのコマンドとして実行する
aws s3 cp s3://my-bucket/mydir/foo/ . --recursive \
    --exclude '*' \
    --include 001.png \
    --include 002.png \
    --include 003.png \
    ...

--includeで頑張るほうが良さそう

  • awsコマンドを打つ度に認証なんやらが発生して、3000回awsコマンドを打つよりはincludeで頑張るほうが速い気がした(体感)
  • ただ、バケット内のファイル一覧を最初にスキャンしているのか、ダウンロードが始まるまで多少時間がかかった
  • --includeは100個くらいでないとだめそう。200個つけたら、ダウンロードが始まらなかった
    • なので、結局awsコマンドは何回か叩くことにはなる
  • ちなみにaws s3 cpはデフォルトが全部ダウンロード対象なので、--include は --exclude '*' とセットで使わないと意味がなかったので注意

予算は使い切らないと損であるという呪い

なんかメモ。



朝にオフィスに来るとすでに暖房がものすごく効いていて、机に手を付けてみると熱を感じられるほどである(机だぞ!?)。
オフィスは賃貸で、電気代は賃貸料金に含まれていると聞いたことがある(違うかもしれないけど)。
それを知ってか知らずか、冷気滅ぶべしという勢いで暖房がついている。
どれだけ電気を使っても払う金額が同じなら、使わなければ損だという理屈のように思える。
(いやまあそんなの関係なくみんな室温が25℃が好きという可能性が高いけど)
あと、トイレに冷暖房はなく外気温と同じなので、トイレに行くと寒くて、戻ってくると暑いという、寒暖差がすごいことになっている。



上の例はとは逆かもしれないが、
使える予算があって、それを使い切らないと損、という考えは、この時代にはおおよそ筋の悪いもののように思える。
余ったら返せばいいのではないか。
何か変なものを余計に購入するよりもずっと良いはず。
そうすると、次の予算から減額されて困る、ということだろうか。
減額されて、減額できた分を評価軸に組み込めればいいのではないか。




限りがあると、なぜかそれをぴったり使いたがる。
会社のお金であって自分のお金ではないから、使わないと損、という感じになるのだろうか。
「もったいない精神」はそこに発揮するところではないように思う。

ミーティングにPCを持ち込むときに気をつけていること

ミーティングにPCを持ち込むときに気をつけていること

  • 基本的に、持ち込んだPCを見ない
    • 前に映し出されている画面を見ればよい
  • 他の作業をしない
    • 他の作業をしていると思われるぞ
  • うるさいキーボードを使わない
    • カタカタカタカタカタという音は、打鍵者本人が思っているより部屋に響いてる
      • 特に、議題の合間に訪れる静寂にひとり「カタカタカタカタ!」と鳴っているのは、ちょっと恥ずかしい
    • そういう意味では、MacBookPro 2015はパタパタ感のキーで悪くはない
    • しかしリモートで参加しているときはミュートにしていないと、たとえMBPだとしてもうるさい
    • 本人の打鍵度にもよるのだろうが…
  • 議事メモとるときは、書くことを口にしながらキーボードを叩く
    • 何を打っているのか口頭で周知しながらだと、まあまあ安心感ある
  • チャットで裏ミーティングをしない

こんな感じかな。