AWSのS3で一括ダウンロードができなかったので、chrome拡張機能で無理矢理ダウンロードしたよ
こんにちは。SUUMOの画面を見ているだけで仕事を終えようと考えている担当のたつやです。
今日は不動産業者なら10日に1度は考えたことのある「AWSのS3で静的サイトを作ってみたはいいけど、どうしても動的サイトに以降したくなったのでCSSやJSファイルを一括ダウンロードしたい」という要望に応えてchromeの拡張機能で対応してみました。
もしかしたら、「SUUMOにアップロード予定の画像ファイルをS3に保存していたけど、自社サイトに再アップロードしたくなったのでS3から一括ダウンロードできる方法はないか」という問合せが当社に寄せられる可能性もあるので詳細解説していきたいと思います。
※なぜ私が不動産業者で働いているのか疑問に思った方は、ぜひとも面接に来てください。
フォルダーを作ろう
まずは、デスクトップ画面で右クリックをして空フォルダーをつくりましょう。
こんな感じです。「S3-multiple-downloader」という名前にしてみました。英語ができるタイプに見えるので上司からの評価もうなぎ上りです。
jsonファイルを作ろう
日々の自社サイト更新に多用しているお馴染みjsonファイル。作り方はとても簡単ですね。VS codeでさくさくっとコピペでポンです。
3つ(JsとCSSも)作成するので、それぞれに下記のファイル名を付けてください。
・manifest.json
・script.js
・script.css
一つ目がmanifest.jsonです。
{
"manifest_version": 3,
"name": "S3 Multiple Downloader",
"description": "Download checked s3 objects all at once",
"version": "0.0.1",
"icons": {
"48" : "s3_48.png"
},
"content_scripts": [
{
"matches": [
"https : //s3.console.aws.amazon.com/s3/buckets/*"
],
"js": [
"script.js"
],
"css": [
"script.css"
]
}
]
}
二つ目がscript.jsです。
const _sleep = (ms) => new Promise((resolve) => setTimeout(resolve,
ms));
const getS3Obj = async () => {
const dl_btn = document.getElementById("download-object-button");
let target = [
];
let input_list = document.querySelectorAll("input[
type=checkbox
] : checked");
// 対象のチェックボックスを取得する
input_list.forEach((e,
index) => {
if (e.className.startsWith('awsui_native-input_')) {
target.push(index);
input_list[
index
].click();
}
});
// 1つずつチェックして、ダウンロードする。ウェイト1S
for (let i = 0; i < target.length; i++) {
input_list[
target[
i
]
].click();
dl_btn.click();
input_list[
target[
i
]
].click();
await _sleep(1000);
}
// チェックボックスを元に戻す
target.forEach((e) => {
input_list[
e
].click();
});
}
// 拡張ダウンロードボタンを配置する
// icon: https : //css.gg/arrow-down-o
const putButton = () => {
const append_btn = document.getElementById("append-button");
if (append_btn == null) {
const pos = document.getElementById("download-object-button");
if (pos == null) return;
const btn = document.createElement('button');
btn.type = 'button';
btn.id = 'append-button';
btn.onclick = getS3Obj;
btn.className = 'gg-arrow-down-o';
pos.parentNode.parentNode.insertBefore(btn,
pos.parentNode.nextSibling);
}
}
// 1秒ごとに実行する
setInterval(putButton,
1000);
CSSファイルは、script.cssとして保存しましょう。
#append-button {
background-color: #4CAF50;
color: white;
border: none;
padding: 10px;
cursor: pointer;
}
#append-button:hover {
background-color: #45a049;
}
chrome://extensions/ このリンクをchromeのアドレスバーに入力して拡張機能のページに移行します。
右上のデベロッパーモードをON。
パッケージ化されていない拡張機能を読み込むを押して、さきほど作成したファイルを読み込みます。そうするとchromeの拡張機能に追加されたかと思います!
※追加されていない方は、おそらくS3_48.pngの画像をフォルダ内に設置していない可能性があります。適当な画像をダウンロードしてS3_48.pngという名前でフォルダに保存しましょう。
URLの指定を間違えないようにしましょう。
manifest.json内にある
"matches": ["https://s3.console.aws.amazon.com/s3/buckets/*"],
は、自分のS3コンソールのURLに変更してください。
私なら上記のようなURLになります。
すべてのリージョンに対応したものにしたい場合は
"matches": ["https://*.console.aws.amazon.com/s3/buckets/*"]
このように変更すれば大丈夫です。
緑のボタンを押そう
真ん中に突如と出現したSUUMOのような緑色のボタンを押します。そうするとチェックをしていたファイルが一斉にダウンロードされます。(ファイルはダウンロードされない)
これで、あなたの生産性はぐーんと伸びたおかげでお客様への対応時間が飛躍的に伸びるはずなので顧客満足度もぐんとアップするはずです。
不動産をITのちからで改革する
花沢不動産では、創業当初から「ITのちからで不動産を変える」をミッションとして2025年から「1000人の社長をつくる」というビジョンを掲げています。利益率の薄い賃貸仲介をさらに仲介手数料0円という薄利で提供し事業継続するためには、通常の仲介業務をおこなっていては実現不可能です。そこでITによる生産性の向上による業務スキームを構築していくことによって事業を継続してきました。
たぐいまれな賃貸仲介力、いわゆる客付け力を武器に収益マンションにもチャレンジしています。
花沢不動産はまだまだ弱小業者の域を出ない不動産業者です。この記事をみた方の中で少しでも当社に興味をもった方がいればぜひとも一緒に働きましょう。
aws s3 追記
本来の用途としてS3のデータを丸々ダウンロードしたい場合は、WEB画面でおこなうのではなくCLIを利用して一括でローカルにダウンロードしたほうが早いし便利だと思います。
ただいま、仲介手数料ナシで賃貸契約を希望されるお客様からの問い合わせでLINE@専用のサポートセンターが大変混雑しております。
お急ぎのお客様へは優先的にお部屋のご案内をしておりますので、お引っ越しをお急ぎのお客様はご登録お願い致します。
登録・利用・契約手数料は無料となっておりますので、お気軽にご登録ください。
引っ越しには1ヶ月弱の契約準備が必要です
\事前登録はこちら/
余裕をもった相談をする(無料)
今すぐ花沢不動産とLINEを連携しよう!
まずは花沢不動産を友だち追加
\ 全国からご相談急増中 /
LINEで友だち追加
追加後に配信されるメッセージの内容に沿って勧めてください。
メッセージ内容に沿って進めてください。無料です。
運営会社について
わたしたち、「花沢不動産」は大阪に本社を置く不動産会社です。
神戸・京都・大阪、どこへでも行ける便利な場所にあります。
わたしたちは、 「どうしたらお客様に喜んでいただけるのか」そればかり考えている変わった不動産屋です。夜まで相談に乗ってくれる営業さんがいい!と言われれば夜の22時までチャット対応することにしたり、夜中の内見(見学)がしたい!と言われれば可能な限り見学をしたり、初期費用が安いほうが良い!と言われれば、不動産屋の儲けである仲介手数料を0円にしたり、不動産業界からは少し変わった目で見られています。
もっともっと不動産に親しみやすく気軽に考えれる世の中を実現するために、今日もまたお客様からご相談が来ることを楽しみにお待ちしております。
ご提供できるサービス(賃貸)
- 22:00まで対応のチャットサービス
- 深夜まで対応する見学や契約事務
- 初期費用の見積もり・相見積もり
- おすすめの物件のご提案
- 他社・ポータルサイト・未公開物件の空室確認
- 最寄り駅からの徒歩案内に対応
- 来店不要の現地集合
- 審査が不安なお客様のサポート
- 仲介手数料0円
- 入居から退去までのご相談窓口
など、不動産に関することはもちろんのこと、生涯のライフコンシェルジュとしてお客様に寄り添ってご対応させていただきます。
担当:たつや
個人で引越しを10回以上経験したことのある猛者。ちなみにコミュ障なため、不動産営業マンに強く言えずに苦汁を飲まされた。そこで感じた不満を改善すべく不動産賃貸業に進出。しゃべらない。
\ スタッフがオススメする記事 /
\ よく見られている記事です /