69 lines
1.9 KiB
Markdown
69 lines
1.9 KiB
Markdown
|
|
---
|
||
|
|
name: minio-list-urls
|
||
|
|
description: 列出 MinIO 存储桶中所有对象的公网访问地址。当用户要求"列出公网地址"、"获取文件外链"、"查看所有文件的访问链接"时使用。
|
||
|
|
vm0_secrets:
|
||
|
|
- MINIO_ACCESS_KEY
|
||
|
|
- MINIO_SECRET_KEY
|
||
|
|
vm0_vars:
|
||
|
|
- MINIO_ENDPOINT
|
||
|
|
- MINIO_PUBLIC_URL
|
||
|
|
---
|
||
|
|
|
||
|
|
# MinIO 公网地址列表
|
||
|
|
|
||
|
|
## 概述
|
||
|
|
|
||
|
|
快速列出 MinIO 存储桶中所有对象的公网访问地址。适用于需要批量获取文件外链、分享文件、或查看所有可访问资源的场景。
|
||
|
|
|
||
|
|
## 使用场景
|
||
|
|
|
||
|
|
- 用户要求列出 MinIO 里所有文件的公网访问地址
|
||
|
|
- 用户需要获取文件的分享链接
|
||
|
|
- 用户要求查看桶内对象的 URL
|
||
|
|
- 用户提到"公网地址"、"外链"、"访问链接"等关键词
|
||
|
|
|
||
|
|
## 环境变量要求
|
||
|
|
|
||
|
|
使用本技能前,请确保已配置以下环境变量:
|
||
|
|
|
||
|
|
| 变量名 | 说明 | 示例 |
|
||
|
|
|--------|------|------|
|
||
|
|
| `MINIO_ENDPOINT` | MinIO 服务地址(内网) | `http://192.168.1.1:9000` |
|
||
|
|
| `MINIO_ACCESS_KEY` | 访问密钥 | `minioadmin` |
|
||
|
|
| `MINIO_SECRET_KEY` | 密钥 | `minioadmin` |
|
||
|
|
| `MINIO_PUBLIC_URL` | 公网访问域名 | `https://oss.example.com` |
|
||
|
|
|
||
|
|
## 使用方法
|
||
|
|
|
||
|
|
直接运行脚本即可列出所有对象的公网地址:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python3 /app/working/workspaces/default/active_skills/minio-list-urls/scripts/list_public_urls.py
|
||
|
|
```
|
||
|
|
|
||
|
|
## 输出格式
|
||
|
|
|
||
|
|
脚本会输出每个对象的文件名和对应的公网访问地址:
|
||
|
|
|
||
|
|
```
|
||
|
|
公共访问地址前缀: https://oss.example.com
|
||
|
|
桶名称: files
|
||
|
|
|
||
|
|
共 14 个对象的公网访问地址:
|
||
|
|
|
||
|
|
文件名.jpg
|
||
|
|
-> https://oss.example.com/files/%E6%96%87%E4%BB%B6%E5%90%8D.jpg
|
||
|
|
```
|
||
|
|
|
||
|
|
## 技术细节
|
||
|
|
|
||
|
|
- 文件名中的中文和特殊字符会自动进行 URL 编码
|
||
|
|
- 支持所有配置为公共读的存储桶
|
||
|
|
- 遍历所有桶并列出所有对象
|
||
|
|
|
||
|
|
## 脚本
|
||
|
|
|
||
|
|
### scripts/list_public_urls.py
|
||
|
|
|
||
|
|
列出所有 MinIO 对象的公网访问地址。
|