详情页标题前

阿里云对象存储OSSPython绑定自定义域名-云淘科技

详情页1

文件(Object)上传至存储空间(Bucket)后,OSS会自动生成文件URL,您可以直接通过文件URL(即Bucket外网访问域名)访问该文件。如果您希望通过自定义域名访问这些Object,需要添加CNAME记录将自定义域名绑定至Object所在的Bucket。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见Python配置访问凭证。

  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见Python初始化。

创建CnameToken

以下代码用于创建CnameToken。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 填写自定义域名。
test_domain = 'www.example.com'
# 创建CnameToken。
result = bucket.create_bucket_cname_token(test_domain)
# 打印绑定的Cname名称。
print(result.cname)
# 打印OSS返回的CnameToken。
print(result.token)
# 打印CnameToken的过期时间。
print(result.expire_time)

获取CnameToken

以下代码用于获取CnameToken。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 填写自定义域名。
test_domain = 'www.example.com'
# 获取CnameToken。
result = bucket.get_bucket_cname_token(test_domain)
# 打印绑定的Cname名称。
print(result.cname)
# 打印OSS返回的CnameToken。
print(result.token)
# 打印CnameToken的过期时间。
print(result.expire_time)

添加CNAME记录

以下代码用于添加CNAME记录。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 填写自定义域名。
test_domain = 'www.example.com'
# 填写旧版证书ID。
previous_cert_id = '001'
certificate = '''-----BEGIN CERTIFICATE-----
MIIDWzCCAkOgA******KTgnwyOGU9cv+mxA=
-----END CERTIFICATE-----'''
# 设置证书私钥。
private_key = '''-----BEGIN PRIVATE KEY-----
MIIEvQIBADAN******1i2t41Q/SC3HUGC5mJjpO8=
-----END PRIVATE KEY-----
'''

cert = oss2.models.CertInfo(certificate=certificate, private_key=private_key)
# 通过force=True设置强制覆盖旧版证书。
# 通过delete_certificate选择是否删除证书。设置为delete_certificate=True表示删除证书,设置为delete_certificate=False表示不删除证书。
# cert = oss2.models.CertInfo(certificate=certificate, private_key=private_key, force=True, delete_certificate=False)
input = oss2.models.PutBucketCnameRequest(test_domain, cert)
bucket.put_bucket_cname(input)

查看CNAME记录

以下代码用于查看CNAME记录。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

list_result = bucket.list_bucket_cname()
for c in list_result.cname:
    # 打印证书ID。
    print(c.certificate.cert_id)
    # 打印证书来源。
    print(c.certificate.type)
    # 打印证书状态。
    print(c.certificate.status)
    # 打印自定义域名。
    print(c.domain)
    # 打印绑定自定义域名的时间。
    print(c.last_modified)
    # 打印域名所处状态。
    print(c.status)

删除CNAME记录

以下代码用于删除CNAME记录。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())

# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 填写自定义域名。
test_domain = 'www.example.com'
# 删除CNAME记录。
bucket.delete_bucket_cname(test_domain)

相关文档

  • 关于创建域名所有权验证所需的CnameToken的API接口说明,请参见CreateCnameToken。

  • 关于获取CnameToken的API接口说明,请参见GetCnameToken。

  • 关于添加CNAME记录的API接口说明,请参见PutCname。

  • 关于查看CNAME记录的API接口说明,请参见ListCname。

  • 关于删除CNAME记录的API接口说明,请参见DeleteCname。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158136.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSS重定向-云淘科技

    配置了重定向规则后,当请求者访问Bucket发生指定错误时,OSS会将请求重定向至回源规则指定的源站。您可以利用这种跳转的功能对文件做重定向以及在此基础之上的各种业务。 使用限制 规则数量 回源规则最多配置20条,按RuleNumber的先后顺序依次匹配。如果命中当前规则,则后续规则不再匹配。规则未命中表示没有匹配回源条件,与回源后是否成功获取目标文件无关。…

    阿里云对象存储 2023年12月10日
  • 阿里云负载均衡SetAccessLogsDownloadAttribute – 修改访问日志的下载配置-云淘科技

    为传统型负载均衡实例添加访问日志转发规则。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如…

    阿里云负载均衡 2023年12月10日
  • 阿里云对象存储OSS使用日志服务告警为您的OSS保驾护航-云淘科技

    日志服务SLS告警作为一站式运维告警平台,为OSS的访问提供了定制化的告警规则。您只需要在日志服务控制台进行简单配置,即可完成对OSS访问指标的监控,并在指标出现异常时及时收到告警通知。 场景描述 客户A是一家多媒体公司,主要产品有短视频App。用户可以在上面发布和观看短视频。客户A使用了OSS中名为examplebucket的存储空间来存储用户产生的短视频…

    2023年12月10日
  • 阿里云负载均衡AssociateAclsWithListener – 关联访问控制和监听-云淘科技

    将访问控制关联到监听。 接口说明 DeleteDhcpOptionsSet接口属于异步接口,即系统返回一个请求ID,但该ACL尚未成功绑定监听器,系统后台的绑定任务仍在进行。您可以调用ListAclRelations查询ACL的绑定状态: 当ACL处于Associating状态时,表示ACL正在绑定监听器中。 当ACL处于Associated状态时,表示AC…

    阿里云负载均衡 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSSpark使用JindoSDK查询OSS-HDFS服务中的数据-云淘科技

    JindoSDK是一个面向Hadoop、Spark生态且简单易用的OSS客户端,为OSS提供高度优化的Hadoop FileSystem实现。相对于Hadoop社区OSS客户端,Spark使用JindoSDK查询OSS-HDFS服务中的数据时,可以获得更好的性能。 前提条件 已创建ECS实例。具体步骤,请参见选购ECS实例。 已创建Hadoop环境。具体步骤…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。