wrangler r2 object put のハマりポイント:--remote フラグを忘れるな
問題
wrangler r2 object put で R2 にファイルをアップロード → 確認したら何も入っていない。
原因
wrangler は デフォルトでローカル R2(miniflare)にアップロードする
実際の Cloudflare R2 に送るには --remote フラグが必須。
解決方法
# NG:ローカル R2 にのみアップロード
wrangler r2 object put my-bucket/document.md --file ./document.md
# OK:実際の Cloudflare R2 にアップロード
wrangler r2 object put my-bucket/document.md --file ./document.md --remote
確認方法
# ローカル R2 の内容確認(デフォルト)
wrangler r2 object list my-bucket
# リモート(実際)の R2 の内容確認
wrangler r2 object list my-bucket --remote
ベストプラクティス
自動同期スクリプト(GitHub Actions等)では 必ず --remote を指定 する。
# GitHub Actions での R2 アップロード例
- name: Upload to R2
run: |
wrangler r2 object put leango-docs/docs.md \
--file ./dist/docs.md \
--remote
デバッグ Tips
アップロード後の検証:
# リモート確認
wrangler r2 object list my-bucket --remote
# ダウンロード確認
wrangler r2 object get my-bucket/document.md --remote
デフォルトで悩むのは一度で終わらせよう。