ブログの画像ファイルをS3に移行

カテゴリー:  Tech タグ:  blogging nikola
/images/nikola.webp

このブログの画像ファイルが重たくなってきたので、S3に移動させました。

S3バケットの作成と画像フィアルの転送

無料のストレージもありますが、安心のために移行先をS3としました。

移行は簡単です。

S3のバケットを用意して、専用のユーザーを作ってアクセスキーを取得してロールをアタッチしておきます。画像ファイルの転送には TransmitというMacの転送アプリを使用しました。以下のように設定します。

Transmitの設定

Transmitの設定

これでドラッグ&ドロップで一気にファイルを転送します。

既存記事の画像リンクの書き換え

既存の記事はローカルにある画像ファイルを指しているので、Pythonで概要箇所をS3のURLに書き換えてしまいます。

#!/usr/bin/env python

#  実行すると postsフォルダ配下のファイルを操作して、 "/images/"というキーワードをs3のURLに置換します。
import os
import fileinput


def convert_file(path):
    with fileinput.input(files=(path,), inplace=True) as f:

        for line in f:
            line = line.strip('\n')
            line = line.replace('/images/','/images/')
            print(line)

for path, dirs, files in os.walk('posts'):
    for f in files:
        if f.endswith('.md') or f.endswith('.markdown') or f.endswith('.rst'):
            fpath = os.path.join(path, f)
            print('path={0}'.format(fpath))
            convert_file(fpath)

毎回画像のアップロードが必要になってきますが、リポジトリを軽くできますからOKです。

コメント

Comments powered by Disqus