modify: S3对象存储
This commit is contained in:
@@ -23,3 +23,17 @@ tags = ["demo", "process-plugin"]
|
|||||||
# ====== Worker 运行时配置(由 worker_serve 传递给 create_workers) ======
|
# ====== Worker 运行时配置(由 worker_serve 传递给 create_workers) ======
|
||||||
[workers.config]
|
[workers.config]
|
||||||
greeting_prefix = "Hello" # 演示插件私有配置项
|
greeting_prefix = "Hello" # 演示插件私有配置项
|
||||||
|
|
||||||
|
# ====== 文件传输:直连 S3/Minio 对象存储(可选,默认不启用) ======
|
||||||
|
# 启用后 demo.storage.* 端点可用(预签名 URL 直传直取 + base64 小文件传输),
|
||||||
|
# 数据路径不经过网关,详见 docs/process-plugin.md「文件传输:直连 S3/Minio」。
|
||||||
|
# 取消下面 8 行注释并填好 Minio 地址/密钥即可启用;连接失败会告警降级(端点返回
|
||||||
|
# "storage 未配置" 错误),不会影响其他端点。
|
||||||
|
# [workers.config.storage]
|
||||||
|
# endpoint = "192.168.1.10:9000" # Minio 地址 host:port(不带协议前缀)
|
||||||
|
# access_key = "minioadmin"
|
||||||
|
# secret_key = "minioadmin"
|
||||||
|
# bucket = "chongming-files"
|
||||||
|
# secure = false # false=http(默认),true=https
|
||||||
|
# region = "" # 可选
|
||||||
|
# auto_create_bucket = true # 可选,默认 true:启动时确保 bucket 存在
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[GET]
|
||||||
|
summary = "进程插件示例:下载文件为 base64(经 Zenoh 从 Minio 读取)"
|
||||||
|
subject = "demo.storage.download_bytes"
|
||||||
|
params = ["object_key: str"]
|
||||||
|
auth_required = false
|
||||||
|
|
||||||
|
[GET.response_model]
|
||||||
|
object_key = { type = "str", required = true }
|
||||||
|
data_b64 = { type = "str", required = true }
|
||||||
|
size = { type = "int", required = true }
|
||||||
|
timestamp = { type = "float", required = true }
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[GET]
|
||||||
|
summary = "进程插件示例:获取预签名下载 URL(设备直取 Minio,不经网关)"
|
||||||
|
subject = "demo.storage.presign_download"
|
||||||
|
params = ["object_key: str"]
|
||||||
|
auth_required = false
|
||||||
|
|
||||||
|
[GET.response_model]
|
||||||
|
object_key = { type = "str", required = true }
|
||||||
|
presigned_url = { type = "str", required = true }
|
||||||
|
method = { type = "str", required = true }
|
||||||
|
expires = { type = "int", required = true }
|
||||||
|
timestamp = { type = "float", required = true }
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[POST]
|
||||||
|
summary = "进程插件示例:获取预签名上传 URL(设备直传 Minio,不经网关)"
|
||||||
|
subject = "demo.storage.presign_upload"
|
||||||
|
params = ["filename: str"]
|
||||||
|
auth_required = false
|
||||||
|
|
||||||
|
[POST.response_model]
|
||||||
|
object_key = { type = "str", required = true }
|
||||||
|
presigned_url = { type = "str", required = true }
|
||||||
|
method = { type = "str", required = true }
|
||||||
|
expires = { type = "int", required = true }
|
||||||
|
timestamp = { type = "float", required = true }
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[POST]
|
||||||
|
summary = "进程插件示例:base64 小文件上传(经 Zenoh 写入 Minio)"
|
||||||
|
subject = "demo.storage.upload_bytes"
|
||||||
|
params = ["object_key: str", "data_b64: str"]
|
||||||
|
auth_required = false
|
||||||
|
|
||||||
|
[POST.response_model]
|
||||||
|
object_key = { type = "str", required = true }
|
||||||
|
size = { type = "int", required = true }
|
||||||
|
timestamp = { type = "float", required = true }
|
||||||
Reference in New Issue
Block a user