设置参考
目前 S3 Image Port 的设置包含三部分:
- S3 存储桶设置
- 画廊设置
- 上传设置
S3 储存桶设置
端点、储存桶名称、区域、Access Key 和 Secret Key 都是创建 S3 储存桶时会提供的,不再赘述。
使用路径形式 API
对于绝大部分 S3 供应商来说,都应该保持这个选项关闭。这是为了某些特别旧的 S3 供应商准备的回退。
关于 path name 和 virtual hosted-style 的更多信息,可以参考 AWS S3 文档。
公共 URL
储存桶中的图片需要可以通过一个链接直接访问。
例如,一张图片在储存桶中的路径是 i/2024/05/29/name.jpg,而你可以通过 https://i.yfi.moe/i/2024/05/29/name.jpg 这个链接直接(不需要验证地)访问到它,那么 https://i.yfi.moe/ 就是你需要填写的 Public URL.
如果你直接使用了某些 S3 兼容服务的"公开储存桶"功能,也是同理。例如,对于 Cloudflare R2,它应该形如 https://pub-<一堆字符>.r2.dev。对于腾讯云 COS,应该形如 https://<BucketName-APPID>.cos.<Region>.myqcloud.com
包含路径
可选的路径前缀,用于过滤从 S3 储存桶中列出的对象。当储存桶包含非图片对象或需要在特定路径下组织图片时非常有用。
当你指定包含路径(例如 i/)时,只会从 S3 获取以该前缀开头的对象。此过滤发生在 API 级别,可减少数据传输并提高性能。
示例:
- 留空以列出储存桶中的所有对象
i/- 仅列出以 "i/" 开头的对象images/- 仅列出以 "images/" 开头的对象2024/photos/- 仅列出以 "2024/photos/" 开头的对象
注意: 此设置会在从 S3 获取对象时进行过滤。更改此值将自动刷新画廊以仅显示过滤后的对象。
上传设置
键(名称)模板(Key Template)
上传到 S3 时的命名模板,以 {{}} 包裹的占位符会被替换。
支持以下占位符:
{{ year }}: 年份。例如2024{{ month }}: 月份(两位数)。例如05{{ day }}: 日期(两位数)。例如29{{ timestamp }}: Unix 时间戳。例如1732847234567(毫秒){{ filename }}: 文件名(不包含扩展名)。例如image{{ ext }}: 文件扩展名。例如jpg{{ ulid }}: 唯一标识符 (ULID)。例如01BX5ZZKBKACTAV9WEVGEMMVR0{{ ulid-dayslice }}: ULID 的日期切片(推荐与 year、month、day 组合使用)。例如5zzkbk-mmvr{{ random }}: 随机字符串(已弃用,建议使用ulid-dayslice)
默认模板:i/{{year}}/{{month}}/{{day}}/{{ulid-dayslice}}.{{ext}}
示例结果:i/2024/05/29/5zzkbk-mmvr.jpg
图像压缩和转换
会在上传时按照给定的参数对图片进行处理。
画廊设置
自动刷新
每次加载画廊时自动刷新。如果启用,画廊的缓存会和 S3 储存桶更好的同步,但会出现更多的 ListObjects 请求,可能会小幅增加 S3 费用。