BOS 预签名URL生成器
更新时间:2026-04-23
简介
BOS 预签名 URL 生成处理器
功能描述
- 签名生成机制:基于对象存储BOS SDK 生成带时效性的预签名 URL
-
URL schema 处理:
- 原生支持 BOS/S3 协议路径的签名转换
- 自动跳过包含 HTTP/HTTPS 协议的路径
-
安全控制:
- 可配置签名有效期(默认 3600 秒)
算子参数
输入
| 输入 | 含义 |
|---|---|
| url | BOS路径:string 类型,支持以下格式:bos://{bucket}/{object} |
输出
| 输出 | 含义 |
|---|---|
| signed_url | BOS预签名 URL |
参数
| 参数 | 类型 | 含义 | 默认值 |
|---|---|---|---|
| expires: | int | 控制签名有效期(单位:秒),过短可能导致业务中断,过长存在安全风险 | 3600 |
调用示例
Plain Text
1from __future__ import annotations
2
3import os
4import daft
5from daft import col
6
7from daft.aihc.common.udf import aihc_udf
8from daft.aihc.functions.text.pre_sign_url_for_bos import PreSignUrlForBOS
9
10os.environ["BOS_ENDPOINT"] = "bj.bcebos.com"
11os.environ["BOS_ACCESS_KEY_ID"] = "xxx"
12os.environ["BOS_SECRET_ACCESS_KEY"] = "xxx"
13os.environ["BOS_REGION"] = "bj"
14
15if __name__ == "__main__":
16 if os.getenv("DAFT_RUNNER", "native") == "ray":
17 import ray
18 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
19 daft.set_runner_ray()
20 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
21
22 samples = {"url": [f"bos://test-bj-bucket/sample.mp4"]}
23
24 ds = daft.from_pydict(samples)
25 ds = ds.with_column(
26 "signed_url",
27 aihc_udf(
28 PreSignUrlForBOS,
29 construct_args={
30 "expires": 3600,
31 },
32 )(col("url")),
33 )
34 ds.show()
评价此篇文章
