バケットにファイル (オブジェクト) をアップロードすると、Object Storage Service (OSS) は直接アクセスに使用できるファイル URL を自動的に生成します。カスタムドメイン名を使用してファイルにアクセスするには、バケットにカスタムドメイン名をアタッチし、CNAME レコードを追加する必要があります。
事前準備
カスタムドメイン名をアタッチする必要があります。詳細については、「カスタムドメイン名を使用した OSS へのアクセス」をご参照ください。
注意事項
Webpack や Browserify などのパッケージングツールを使用する場合は、npm install ali-oss コマンドを実行して OSS SDK for Browser.js をインストールします。
ブラウザから OSS バケットにアクセスする場合、バケットに CORS ルールが設定されていないと、ブラウザはリクエストを拒否します。したがって、ブラウザからバケットにアクセスするには、バケットに CORS ルールを設定する必要があります。詳細については、「インストール」をご参照ください。
ほとんどの場合、OSS SDK for Browser.js はブラウザで使用されます。AccessKey ペアの漏洩を防ぐため、Security Token Service (STS) から取得した一時的なアクセス認証情報を使用して OSS にアクセスすることを推奨します。
一時的なアクセス認証情報は、AccessKey ペアとセキュリティトークンで構成されます。AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。一時的なアクセス認証情報を取得する方法の詳細については、「STS を使用した一時的なアクセス権限付与」をご参照ください。
サンプルコード
次のコードは、カスタムドメイン名で SDK を初期化する方法の例です。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
</head>
<body>
<script>
const client = new OSS({
// カスタムドメイン名を指定します。例:example.com
// バケットが配置されているリージョンに yourRegion を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、yourRegion を oss-cn-hangzhou に設定します。
region: 'yourRegion',
endpoint: "example.com",
authorizationV4: true,
// STS から取得した一時的な AccessKey ペア (AccessKey ID と AccessKey Secret) です。
accessKeyId: "yourAccessKeyId",
accessKeySecret: "yourAccessKeySecret",
// STS から取得したセキュリティトークン (SecurityToken) です。
stsToken: 'yourSecurityToken',
// バケット名を指定します。例:examplebucket
bucket: "examplebucket",
cname: true,
});
</script>
</body>
</html>
カスタムドメイン名を使用する場合、list_buckets インターフェイスは利用できません。