通过默认公网加速域名功能,可以一键获取一个由系统分配的公网加速域名。您无需自行准备和配置域名,解决了因缺少可用域名而无法访问资源的问题,降低了使用门槛,提升了业务接入效率。本文介绍如何获取和使用默认公网加速域名访问资源。
使用限制
默认公网加速域名主要用于快速体验和访问资源,因此实际使用过程中存在以下限制:
- 不支持在线预览文件。使用默认公网加速域名通过预签名 URL 访问文件时,响应头(
Response Header)会自动添加 Content-Disposition:attachment 参数,即直接将文件下载到本地。 - 不支持下载后缀为
.apk、.ipa、.hap 的文件。直接访问这些后缀的资源地址时,系统将返回 403 错误。 - 资源地址的有效期为 24 小时。
- 默认提供全球加速并采用固定缓存策略,您无法进行自定义高级缓存配置。
- 默认公网加速域名仅支持访问其所在地域的资源。
如需规避以上限制,可通过自定义域名访问资源。详见设置自定义域名。
计费说明
按照标准分发流量计费。通过默认公网加速域名产生的所有访问用量,均归属于用户租户,并进行正常计量计费。您可以在控制台查看详细用量,详见用量统计。
前提条件
已完成新建服务。
步骤一:开启默认公网加速域名
- 登录 veImageX 控制台,进入服务管理页面。
- 单击指定服务的基础配置。
- 在分发配置页签下,打开默认公网加速域名开关。

系统将为您分配一个格式如下的默认公网加速域名:{serviceID}.veimagex-pub.cn-north-1.volces.com,其中 {serviceID} 表示您当前的服务 ID。注意
关闭该开关后,通过该公网加速域名预签名的 URL 将立即失效且无法预签名新的 URL(若部分资源有缓存,则在缓存过期后无法访问)。
步骤二:访问资源
通过以下方式获取资源地址,并通过资源地址下载资源文件。
方式一:通过调用服务端 SDK 获取资源地址(推荐)
veImageX 提供了以下编程语言的 SDK,方便您调用 API。
前提条件
- 调用接口前,请先完成 Golang SDK 的安装及初始化操作。
- 获取以下信息:
获取资源地址
获取资源地址。接口参数说明详见 GetResourceURL。
package main
import (
"context"
"fmt"
"os"
"github.com/volcengine/volc-sdk-golang/base"
imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)
func main() {
// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY。
service := imagex.NewInstance()
service.SetCredential(base.Credentials{
AccessKeyID: os.Getenv("VOLC_ACCESSKEY"),
SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
})
query := &imagex.GetResourceURLQuery{
// 服务 ID。
ServiceID: "fc51f8f9x*",
// 默认公网加速域名。
Domain: "fc51f8f9x*.veimagex-pub.cn-north-1.volces.com",
// 文件存储 URI。
URI: "tos-i-xxxxx/test.png",
// 模板名称。
Tpl: "tplv-8h**9q-1.image",
// 协议,默认值为 http。支持取值 http 和 https。
Proto: "https",
}
resp, err := service.GetResourceURL(context.Background(), query)
if err != nil {
fmt.Printf("error %v", err)
} else {
fmt.Printf("success %+v", resp)
}
}
注意
获取的资源地址有效期为 24 小时,请在过期前重新获取资源地址,防止校验失败。
前提条件
- 调用接口前,请先完成 Python SDK 的安装及初始化操作。
- 获取以下信息:
获取资源地址
获取资源地址。接口参数说明详见 GetResourceURL。
# coding:utf-8
from volcengine.imagex.v2.imagex_service import ImagexService
if __name__ == '__main__':
service = ImagexService()
# 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
# 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。
service.set_ak('ak')
service.set_sk('sk')
query = {
"ServiceId": "fc51f8f9x*", # 服务 ID。
"Domain": "fc51f8f9x*.veimagex-pub.cn-north-1.volces.com", # 默认公网加速域名。
"URI": "tos-i-xxxxx/test.png", # 文件存储 URI。
"Tpl": "tplv-8h**9q-1.image", # 模板名称。
"Proto": "https", # 协议,默认值为 http。支持取值 http 和 https。
}
resp = service.get_resource_url(query)
print(resp)
注意
获取的资源地址有效期为 24 小时,请在过期前重新获取资源地址,防止校验失败。
前提条件
- 调用接口前,请先完成 Java SDK 的安装及初始化操作。
- 获取以下信息:
获取资源地址
获取资源地址。接口参数说明详见 GetResourceURL。
package com.volcengine.example.imagex.v2.api;
import com.volcengine.model.imagex.v2.*;
import com.volcengine.service.imagex.v2.ImagexService;
public class GetResourceURLExample {
public static void main(String[] args) {
ImagexService service = ImagexService.getInstance();
// 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。
service.setAccessKey("ak");
service.setSecretKey("sk");
GetResourceURLQuery query = new GetResourceURLQuery();
query.setServiceId("fc51f8f9x*"); // 服务 ID。
query.setDomain("fc51f8f9x*.veimagex-pub.cn-north-1.volces.com"); // 默认公网加速域名。
query.setUri("tos-i-xxxxx/test.png"); // 文件存储 URI。
query.setTpl("tplv-8h**9q-1.image"); // 模板名称。
query.setProto("https"); // 协议,默认值为 http。支持取值 http 和 https。
try {
GetResourceURLRes resp = service.getResourceURL(query);
System.out.println(resp);
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意
获取的资源地址有效期为 24 小时,请在过期前重新获取资源地址,防止校验失败。
前提条件
- 调用接口前,请先完成 PHP SDK 的安装及初始化操作。
- 获取以下信息:
获取资源地址
获取资源地址。接口参数说明详见 GetResourceURL。
<?php
include_once(__DIR__ . '/../../../../vendor/autoload.php');
use Volc\Service\ImageX\V2\Imagex;
$client = Imagex::getInstance();
// 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。
$client->setAccessKey("ak");
$client->setSecretKey("sk");
$query = [
"ServiceId" => "fc51f8f9x*", // 服务 ID。
"Domain" => "fc51f8f9x*.veimagex-pub.cn-north-1.volces.com", // 默认公网加速域名。
"URI" => "tos-i-xxxxx/test.png", // 文件存储 URI。
"Tpl" => "tplv-8h**9q-1.image", // 模板名称。
"Proto" => "https", // 协议,默认值为 http。支持取值 http 和 https。
];
$response = $client->getResourceURL($query);
print_r($response);
注意
获取的资源地址有效期为 24 小时,请在过期前重新获取资源地址,防止校验失败。
前提条件
- 调用接口前,请先完成 Node.js SDK 的安装及初始化操作。
- 获取以下信息:
获取资源地址
获取资源地址。接口参数说明详见 GetResourceURL。
import { imagex } from "@volcengine/openapi";
export async function GetResourceURLDemo() {
try {
const Client = new imagex.ImageXService({
// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
accessKeyId: process.env.VOLC_ACCESSKEY,
secretKey: process.env.VOLC_SECRETKEY,
});
const requestParam = {
// 服务 ID。
ServiceId: "fc51f8f9x*",
// 默认公网加速域名。
Domain: "fc51f8f9x*.veimagex-pub.cn-north-1.volces.com",
// 文件存储 URI。
URI: "tos-i-xxxxx/test.png",
// 模板名称。
Tpl: "tplv-8h**9q-1.image",
// 协议,默认值为 http。支持取值 http 和 https。
Proto: "https",
};
const res = await Client.GetResourceURL(requestParam);
console.log("res", res);
} catch (err) {
console.error(err);
}
}
注意
获取的资源地址有效期为 24 小时,请在过期前重新获取资源地址,防止校验失败。
方式二:通过控制台获取资源地址
在资源管理页面完成以下操作,获取资源地址。
