BOS 预签名URL生成器
更新时间:2026-09-16
简介
BOS 预签名 URL 生成处理器。
功能描述
- 签名生成机制:基于对象存储 BOS SDK 生成带时效性的预签名 URL。
-
URL schema 处理:
- 原生支持 BOS/S3 协议路径的签名转换。
- 自动跳过包含 HTTP/HTTPS 协议的路径。
-
安全控制:
- 可配置签名有效期,默认 3600 秒。
算子参数
输入
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
url |
string | 是 | BOS 路径,支持 bos://{bucket}/{object} 格式。 |
输出
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
signed_url |
string | 是 | BOS 预签名 URL。 |
参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
expires |
int | 否 | 3600 |
控制签名有效期,单位为秒。有效期过短可能导致业务中断,过长存在安全风险。 |
调用示例
Python
11from __future__ import annotations
22
33import os
44import daft
55from daft import col
66
77from daft.aihc.common.udf import aihc_udf
88from daft.aihc.functions.text.pre_sign_url_for_bos import PreSignUrlForBOS
99
1010os.environ["BOS_ENDPOINT"] = "bj.bcebos.com"
1111os.environ["BOS_ACCESS_KEY_ID"] = "xxx"
1212os.environ["BOS_SECRET_ACCESS_KEY"] = "xxx"
1313os.environ["BOS_REGION"] = "bj"
1414
1515if __name__ == "__main__":
1616 if os.getenv("DAFT_RUNNER", "native") == "ray":
1717 import ray
1818 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
1919 daft.set_runner_ray()
2020 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
2121
2222 samples = {"url": [f"bos://test-bj-bucket/sample.mp4"]}
2323
2424 ds = daft.from_pydict(samples)
2525 ds = ds.with_column(
2626 "signed_url",
2727 aihc_udf(
2828 PreSignUrlForBOS,
2929 construct_args={
3030 "expires": 3600,
3131 },
3232 )(col("url")),
3333 )
3434 ds.show()
评价此篇文章
