You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
管理桶配置
管理自定义域名(Node.js SDK)
复制全文
下载 pdf
管理自定义域名(Node.js SDK)

当您将文件上传至 TOS 后,您可以使用 TOS 自动生成的文件 URL 访问或下载文件。如果您希望使用您自己的域名访问存储在 TOS 的文件,您可以为存储桶绑定您自己的域名。绑定后,即可使用相应域名访问文件。

设置自定义域名规则

注意

  • 一个域名只能绑定一个存储桶。
  • 一个存储桶最多可以绑定 20 个域名。

示例代码

以下代码用于设置桶的自定义域名规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    // 场景2 根据规则重定向请求
    const { requestId: putCustomDomainRequestId } = await client.putBucketCustomDomain({
      bucket: bucketName,
      customDomainRule: {
        Domain: 'www.example.com',
      },
    });
    console.log('putBucketCustomDomain Request ID: ', putCustomDomainRequestId);
  } catch (error) {
    handleError(error);
  }
}

main();

列举自定义域名规则

注意

要列举桶的自定义域名规则,默认您必须为桶所有者。

示例代码

以下代码用于列举桶的自定义域名规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    const { data, requestId: getCustomDomainRequestId } = await client.getBucketCustomDomain({
      bucket: bucketName,
    });
    console.log('getBucketCustomDomain Request ID: ', getCustomDomainRequestId);
    console.log('getBucketCustomDomain Rules Length: ', data.CustomDomainRules.length);
    // 查看自定义域名
    for (const rule of data.CustomDomainRules) {
      console.log('getBucketCustomDomain Rule Domain:', rule.Domain);
    }
  } catch (error) {
    handleError(error);
  }
}

main();

删除自定义域名规则

注意

要删除桶的自定义域名规则,默认您必须为桶所有者。

示例代码

以下代码用于删除桶的自定义域名规则。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    const { requestId: deleteCustomDomainRequestId } = await client.deleteBucketCustomDomain({
      bucket: bucketName,
      // customDomain 必填,设置将要删除的自定义域名
      customDomain: 'Provide your custom domain',
    });
    console.log('deleteBucketCustomDomain Request ID: ', deleteCustomDomainRequestId);
  } catch (error) {
    handleError(error);
  }
}

main();

相关文档

关于自定义域名配置的更多信息,请参见自定义域名

最近更新时间:2024.02.04 18:31:09
这个页面对您有帮助吗?
有用
有用
无用
无用