だいたいのことはここに書いてある。まじで書いてある。読まないで画像だけ見てやると大事なところを読み飛ばして、途端にわからなくなるのでよく読め。何なら一通り最後まで読んでから始めるくらいが良い。
この本に書いてないことと言えば、AWSはよく名前をつけるときに説明を入れるフォームがあるんだけど、これがあとから編集できないことが多い。やらかした・・・って思うことがよくある。作り直すのも面倒なので、説明はよく考えて入力したほうが良い。まじで。
ざっくり流れ
gyazo
コマンドを実行する- マウスカーソルが範囲選択モードに変わる
- 範囲選択する
- 画面キャプチャ画像が一時ファイルに保存される
- API GatewayへPOSTされる
- APIへはACMで登録したSSL証明書を使ってhttpsアクセスされる
- Lambdaが動く
- S3に保存される
- URL保存されたURLが返ってくる
- クリップボードにURLが渡される
一時ファイル削除
URLをブラウザで開く
S3へアップロードされたファイルへhttpsでアクセスする
APIやS3へアクセスする際にroute53で名前解決する
カスタマイズ
この本は、Ubuntu Desktop を前提としているので、Macの画面をキャプチャしてPOSTするスクリプトだけカスタマイズした。
.bashrc
に API Key を書いた
# Gyazo API Key export GYAZO_API_KEY='APIキー'
/Users/ユーザー名/bin/gyazo
どこに置いても良いが、既にパスが通ってるところに置くのが楽
#!/bin/sh URL='https://APIパス' TEMP=$(mktemp /tmp/XXXXX.png) WIDTH=800 if [ $# -eq 0 ]; then screencapture -i ${TEMP} else if [ $(identify -format %w ${1}) -gt ${WIDTH} ]; then CONVOPT="-resize ${WIDTH}" fi convert ${CONVOPT} ${1} $TEMP fi IMAGE=$(curl -s -H 'content-type: image/png' -H "x-api-key:${GYAZO_API_KEY}" --data-binary "@${TEMP}" -X POST ${URL}) if [ $? -eq 0 ]; then open ${IMAGE} echo ${IMAGE} | pbcopy fi rm -f ${TEMP}
次の4つを追加・変更
curl
コマンドの引数にAPI KEYを追加import
コマンドをscreencapture -i
へ変更 [mac]xclip -sel c
を pbcopy でクリップボードへ送る [mac]- ブラウザで開くコマンドを
gnome-www-browser
からopen
へ変更 [mac]