有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于自定义域名的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置自定义域名
设置存储桶的自定义域名信息
查询自定义域名
查询存储桶的自定义域名信息
删除自定义域名
删除存储桶的自定义域名配置信息

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

设置自定义域名

功能说明

PUT Bucket domain 用于为存储桶配置自定义域名。

示例代码

// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
PutBucketDomainRequest putBucketDomainRequest =
new PutBucketDomainRequest(bucket);
DomainConfiguration.DomainRule domainRule = new DomainConfiguration.DomainRule(
DomainConfiguration.STATUS_ENABLED,
"www.example.com",
DomainConfiguration.TYPE_REST
);
domainRule.forcedReplacement = DomainConfiguration.REPLACE_CNAME;
putBucketDomainRequest.addDomainRule(domainRule);

cosXmlService.putBucketDomainAsync(putBucketDomainRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
PutBucketDomainResult putBucketDomainResult =
(PutBucketDomainResult) result;
}

// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明
更多完整示例,请前往 GitHub 查看。

返回错误码说明

该请求可能会发生的一些常见的特殊错误如下:
状态码
说明
HTTP 409 Conflict
该域名记录已存在,且请求中没有设置强制覆盖。或者该域名记录不存在,且请求中设置了强制覆盖
HTTP 451 Unavailable For Legal Reasons
该域名是中国境内域名,并且没有备案

查询自定义域名

功能说明

GET Bucket domain 用于查询存储桶的自定义域名信息。

示例代码

// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
GetBucketDomainRequest getBucketDomainRequest =
new GetBucketDomainRequest(bucket);
cosXmlService.getBucketDomainAsync(getBucketDomainRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
GetBucketDomainResult getBucketTaggingResult =
(GetBucketDomainResult) result;
}

// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明
更多完整示例,请前往 GitHub 查看。

返回参数说明

参数名称
描述
类型
x-cos-domain-txt-verification
域名校验信息,该字段是一个 MD5 校验值,原串格式为:cos[Region][BucketName-APPID][BucketCreateTime],其中 Region 为存储桶所在地域,BucketCreateTime 为存储桶 GMT 创建时间
String

删除自定义域名

功能说明

DELETE Bucket domain 用于删除存储桶的自定义域名信息。
注意
COS Android SDK 版本需要大于等于 v5.9.8。

示例代码

// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
String bucket = "examplebucket-1250000000";
DeleteBucketDomainRequest deleteBucketDomainRequest =
new DeleteBucketDomainRequest(bucket);
cosXmlService.deleteBucketDomainAsync(deleteBucketDomainRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
// 详细字段请查看api文档或者SDK源码
DeleteBucketDomainResult deleteBucketDomainResult =
(DeleteBucketDomainResult) result;
}
// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明
更多完整示例,请前往 GitHub 查看。