GetCnameToken API は、既存の CNAME トークンを取得します。 wildcard パラメーターを使用して、完全一致 CNAME またはワイルドカード CNAME のどちらのトークンを取得するかを指定します。
注意事項
Agentic バケットの場合、
wildcardパラメーターは必須であり、空にすることはできません。wildcard=trueの場合はワイルドカード CNAME のトークンを、wildcard=falseの場合は完全一致 CNAME のトークンを取得します。 標準バケットの場合、このパラメーターはオプションで、デフォルト値は false (完全一致 CNAME) です。ワイルドカード CNAME のトークンを取得するには、
cnameを、*.プレフィックスなしのベースドメイン名 (例: example.com) に設定します。
リクエスト構文
GET /?cname&comp=token&cname=example.com&wildcard=true HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Type: application/xml
Content-Length: 186
Date: GMT Date
Authorization: SignatureValueリクエストヘッダー
この API は、共通のリクエストヘッダーのみを使用します。 詳細については、「共通の HTTP ヘッダー」をご参照ください。
リクエストパラメーター
パラメーター | 型 | 必須 | 例 | 説明 |
cname | String | はい | example.com | ターゲットドメイン名。 完全一致 CNAME の場合は、このパラメーターを完全なドメイン名 (例: console.example.com) に設定します。 ワイルドカード CNAME の場合は、このパラメーターを |
wildcard | String | 標準バケット:任意 Agentic バケット:必須 | true | ワイルドカード CNAME のトークンを取得するかどうかを指定します。 有効な値:
Agentic バケットの場合、このパラメーターは必須です。 明示的に true または false に設定する必要があり、空にすることはできません。 標準バケットの場合、このパラメーターはオプションで、デフォルト値は false です。 |
レスポンスヘッダー
この API は、共通のレスポンスヘッダーのみを返します。 詳細については、「共通の HTTP ヘッダー」をご参照ください。
レスポンス要素
要素 | 型 | 例 | 説明 |
CnameToken | コンテナ | N/A | CNAME トークンを格納するコンテナ。 親ノード:なし 子ノード:Bucket、Cname、Token、ExpireTime |
Bucket | String | examplebucket | CNAME がマッピングされるバケットの名前。 親ノード:CnameToken 子ノード:なし |
Cname | String | example.com | マッピングされる CNAME の名前。 親ノード:CnameToken 子ノード:なし |
Token | String | be1d49d863dea9ffeff3df7d6455**** | OSS によって返される CNAME トークン。 親ノード:CnameToken 子ノード:なし |
ExpireTime | String | Wed, 23 Feb 2022 21:16:37 GMT | CNAME トークンの有効期限が切れる時刻。 親ノード:CnameToken 子ノード:なし |
例
リクエストの例
標準バケットの完全一致 CNAME の CNAME トークンを取得する
GET /?cname&comp=token&cname=example.com HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml Content-Length: 186 Date: Thu, 17 Apr 2025 15:39:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eAgentic バケットのワイルドカード CNAME の CNAME トークンを取得する
GET /?cname&comp=token&cname=example.com&wildcard=true HTTP/1.1 Host: myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml Content-Length: 186 Date: Thu, 17 Apr 2025 15:39:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
レスポンスの例
CNAME トークンが取得された場合
HTTP/1.1 200 OK x-oss-request-id: 5C1B138A109F4E405B2D Date: Mon, 26 Jul 2021 13:08:38 GMT Content-Length: 118 Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <CnameToken> <Bucket>myab-$uid-$region-ab-apsr</Bucket> <Cname>example.com</Cname> <Token>be1d49d863dea9ffeff3df7d6455****</Token> <ExpireTime>Fri, 01 Aug 2026 03:00:00 GMT</ExpireTime> </CnameToken>CNAME トークンが作成されていないか、有効期限が切れている場合
HTTP/1.1 404 Not Found x-oss-request-id: 5C1B138A109F4E405B2D Date: Mon, 26 Jul 2021 13:08:38 GMT Content-Length: 118 Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NoSuchCnameToken</Code> <Message>The specified cname token does not exist.</Message> <RequestId>6215FE05DA0E27393F005F0E</RequestId> <HostId>myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com</HostId> <Bucket>myab-$uid-$region-ab-apsr</Bucket> <Cname>example.com</Cname> </Error>
OSS SDK
GetCnameToken API は、以下の OSS SDK でサポートされています:
ossutil
GetCnameToken API に対応する ossutil コマンドの詳細は、「get-cname-token」をご参照ください。
エラーコード
エラーコード | HTTP ステータスコード | 説明 |
InvalidArgument | 400 | 考えられるエラーの原因は次のとおりです:
|
NoSuchCnameToken | 404 | この CNAME に対してトークンが作成されていないか、トークンの有効期限が切れています。 |
MethodNotAllowed | 405 | 対象のバケットタイプでは CNAME 機能が有効になっていません。 |