GET_PRESIGNED_URL 函数
该函数通过输入 Volume 名称、文件的相对路径和有效时间(秒)为 Volume 中的文件生成一个带预签名的 URL。此功能允许应用程序访问存储在外部 Volume 中的文件。
使用场景
以下是几种访问 Volume 中文件的方法:
- 在 Web 浏览器中直接访问带预签名的 URL。
- 将 Volume 文件的预签名 URL 发送给远程函数进行处理。
注意事项
-
执行该函数的用户需要对 Volume 对象具有读取 (READ) 权限。
-
该函数需要从 Volume 本地的元数据系统中获取文件信息(例如
relative_path
)。请确保刚刚导入的 Volume 对应的文件元数据已经同步到 Lakehouse 元数据系统,或使用以下命令进行刷新: -
GET_PRESIGNED_URL 是一个非确定性函数 (non-deterministic function),即在给定输入值的情况下,每次执行输出结果可能不同。
语法
参数
- volume <volume_name>:volume 为固定关键字,表示后面的对象类型为 Volume;volume_name 为系统创建的 Volume 名称。
- relative_file_path:相对于 Volume 指定位置的文件路径和文件名。可以通过调用 directory 函数获取:
- expiration_time:生成 URL 的有效期,以秒为单位。默认值为 3600 秒(60 分钟)。
返回值
预签名的 URL。
使用示例
以下是几个使用 GET_PRESIGNED_URL 函数的示例:
-
生成一个有效期为 1 小时的预签名 URL:
-
生成一个默认有效期(1 小时)的预签名 URL:
-
从目录中获取文件的相对路径,并生成一个预签名 URL:
-
批量获取 USER VOLUME 中的图片的带签名的URL
通过以上示例,您可以更好地了解如何在不同场景中使用 GET_PRESIGNED_URL 函数。请根据您的实际需求调整参数和代码。
联系我们