CORSにより、Webアプリケーションは他のドメインのリソースにアクセスできます。OSSは、開発者がクロス・オリジンのアクセス許可を便利に制御するためのインタフェースを提供します。
CORS の詳細については クロスオリジンアクセス設定 と PutBucketcorsを参照してください。
CORS ルールの設定
下記のコードは CORS ルールを設定できます。
# -*- coding: utf-8 -*-
import oss2
from oss2.models import BucketCors, CorsRule
auth = oss2.Auth ('Your AccessKeyID', 'Your AccessKeySecret')
bucket = oss2.Bucket (auth, 'Your endpoint', 'your bucket name')
rule = CorsRule(allowed_origins=['*'],
allowed_methods=['GET', 'HEAD'],
allowed_headers=['*'],
max_age_seconds=1000)
bucket.put_bucket_cors(BucketCors([rule]))
CORS ルールの取得
try:
cors = bucket.get_bucket_cors()
except oss2.exceptions.NoSuchCors:
print('cors is not set')
else:
for rule in cors.rules:
print('AllowedOrigins={0}'.format(rule.allowed_origins))
print('AllowedMethods={0}'.format(rule.allowed_methods))
print('AllowedHeaders={0}'.format(rule.allowed_headers))
print('ExposeHeaders={0}'.format(rule.expose_headers))
print('MaxAgeSeconds={0}'.format(rule.max_age_seconds))
CORS ルールの削除
bucket.delete_bucket_cors()