跨地域资源共享
跨域资源共享(Cross-origin resource sharing,简称CORS)允许Web端的应用程序访问不属于本域的资源。Inspur OSS提供存储桶跨域资源共享接口,以便于控制跨域访问的权限。
获取跨地域资源共享规则
以下代码用于获取跨地域资源共享规则
import oss
# 设置基本信息
APIKey = '<your_API_key>'
APIKeySecrete = '<your_API_key_secrete>'
EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
BucketName = '<your_bucket_name>'
# 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
auth = oss.Auth(APIKey, APIKeySecrete)
# 设置管理权限,节点和要创建的储存桶名字, 这里节点以华北三为例
bucket = oss.Bucket(auth, EndPoint, BucketName)
# 获取跨地域资源共享规则
try:
c = bucket.get_bucket_cors()
except oss.NoSuchCors:
print("The CORS of the current bucket is not set")
else:
for r in c.rules:
print("Allowed Origins: " + r.allowed_origins[0])
print("Allowed Methods: " + r.allowed_methods[0])
print("Allowed Headers: " + r.allowed_headers[0])
print("Expose Headers: " + r.expose_headers[0])
print("Max Age Seconds: " + str(r.max_age_seconds))
设置跨地域资源共享规则
以下代码用于设置跨地域资源共享规则
import oss
# 设置基本信息
APIKey = '<your_API_key>'
APIKeySecrete = '<your_API_key_secrete>'
EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
BucketName = '<your_bucket_name>'
# 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
auth = oss.Auth(APIKey, APIKeySecrete)
# 设置管理权限,节点和要创建的储存桶名字, 这里节点以华北三为例
bucket = oss.Bucket(auth, EndPoint, BucketName)
# 设置跨地域资源共享规则
rules = oss.CorsRule(allowed_origins=['*'], allowed_methods=['GET'], allowed_headers=['*'], expose_headers=[''], max_age_seconds=['5'])
bucket.put_bucket_cors(oss.BucketCors([rules]))
删除跨地域资源共享规则
以下代码用于删除跨地域资源共享规则
import oss
# 设置基本信息
APIKey = '<your_API_key>'
APIKeySecrete = '<your_API_key_secrete>'
EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
BucketName = '<your_bucket_name>'
# 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
auth = oss.Auth(APIKey, APIKeySecrete)
# 设置管理权限,节点和要创建的储存桶名字, 这里节点以华北三为例
bucket = oss.Bucket(auth, EndPoint, BucketName)
# 删除跨地域资源共享规则
bucket.delete_bucket_cors()