Позволяет публично получать объекты через GET /path, либо заливать через POST /path.
Оригинальный репозиторий: proselog/r2-api. Вырезан JWT токен, добавлена возможность загрузки по своему пути, возможность указания своих метаданных. 👉 Применяется в Telegram боте t.me/cfr2bot
В файле есть блок env.development.*, он применяется если делать wrangler dev/deploy --env development
name– создаст или обновит воркера с таким именемbucket_name– имя бакета, с которым будет работатьwrangler deploypreview_bucket_name– что и сверху но дляwrangler dev. Т.е. приwrangler devбудет использоваться этот bucket. Можно закомментироватьENCRYPT_SECRET– условно "пароль", который надо указать вAuthorizationхедере для загрузки файлов. В коде этоenv.ENCRYPT_SECRET. Нужно только для--env development
Для wrangler deploy единоразово нужно будет ввести wrangler secret put ENCRYPT_SECRET, чтобы у воркера в проде был env вар
git cloneэтого репозиторияnpm iв скачанной папке для установки wrangler и зависимостейwrangler r2 bucket create NAMEдля создания R2 хранилищаwrangler secret put ENCRYPT_SECRETдля установки пароля в проде (единоразово)- отредактировать
wrangler.toml, как написано выше wrangler dev --remote --env developmentдля проверки локально иwrangler deploy, чтобы создать/обновить воркер.--remoteбудет работать с remote бакетом. Без него бакет будет локальнымwrangler deploy
xxx это ENCRYPT_SECRET
Если залить два файла по одному /path, то новый файл перезапишет старый. Если залить файл по пути /, то у него не будет названия. DELETE / удалил этот самый файл без названия, а не всю папку
curl -X POST -H "Authorization: xxx" -F "file=@file.ext" http://localhost:8787/file_path.extcurl -X DELETE -H "Authorization: xxx" http://localhost:8787/file_path.extcurl http://localhost:8787/file_path.ext