Tous les produits
Search
Centre de documentation

Object Storage Service:CreateCnameToken - Create a CNAME token to verify domain name ownership

Dernière mise à jour :Sep 22, 2026

L'opération CreateCnameToken crée le jeton CNAME nécessaire pour vérifier la propriété d'un nom de domaine. Utilisez le paramètre wildcard pour spécifier si vous souhaitez créer un jeton pour un enregistrement CNAME exact ou pour un enregistrement CNAME générique (wildcard).

Notes d'utilisation

  • Par défaut, un jeton CNAME expire 72 heures après sa création. Si vous appelez à nouveau cette opération alors qu'un jeton est encore valide, OSS renvoie le jeton existant.

  • Pour un Agentic Bucket, le paramètre wildcard est obligatoire : wildcard=true crée un jeton pour un enregistrement CNAME générique, tandis que wildcard=false crée un jeton pour un enregistrement CNAME exact.

  • Pour un bucket standard, la création d'un jeton pour un enregistrement CNAME exact fonctionne exactement comme pour les opérations CNAME OSS existantes. Aucun nouveau paramètre n'est requis.

Syntaxe de la requête

POST /?cname&comp=token&wildcard=true HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Type: application/xml
Content-Length: 186
Date: GMT Date
Authorization: SignatureValue

<BucketCnameConfiguration>
  <Cname>
    <Domain>example.com</Domain>
  </Cname>
</BucketCnameConfiguration>

En-têtes de requête

Cette opération utilise uniquement des en-têtes de requête communs. Pour plus d'informations, consultez la rubrique En-têtes HTTP communs.

Paramètres de requête

Paramètre

Type

Obligatoire

Exemple

Description

wildcard

String

Bucket standard : Non

Agentic Bucket : Oui

true

Indique s'il faut créer un jeton pour un enregistrement CNAME générique. Valeurs possibles :

  • true : crée un jeton pour un enregistrement CNAME générique.

  • false : crée un jeton pour un enregistrement CNAME exact.

Pour un Agentic Bucket, ce paramètre est obligatoire. Définissez-le explicitement sur true ou false. Pour un bucket standard, si vous omettez ce paramètre, la valeur par défaut est false.

Le paramètre wildcard prend des valeurs différentes selon le type de bucket :

Type de bucket

Paramètre omis

wildcard=false

wildcard=true

Bucket standard

Autorisé. Crée un jeton pour un enregistrement CNAME exact.

Autorisé. Crée un jeton pour un enregistrement CNAME exact.

Non autorisé

Agentic Bucket

Non autorisé

Autorisé. Crée un jeton pour un enregistrement CNAME exact.

Autorisé. Crée un jeton pour un enregistrement CNAME générique.

Remarque

Un seul jeton pour une paire (bucket, CNAME) couvre à la fois la portée exacte et la portée générique.

Éléments de requête

Élément

Type

Obligatoire

Exemple

Description

BucketCnameConfiguration

Container

Oui

N/A

Conteneur qui stocke la configuration CNAME.

Nœuds parents : aucun

Nœuds enfants : Cname

Cname

Container

Oui

N/A

Conteneur qui stocke les informations CNAME.

Nœuds parents : BucketCnameConfiguration

Nœuds enfants : Domain

Domain

String

Oui

example.com

Nom de domaine personnalisé. Pour créer un jeton pour un enregistrement CNAME exact, définissez cet élément sur le nom de domaine complet, par exemple console.example.com. Pour créer un jeton pour un enregistrement CNAME générique, définissez cet élément sur le nom de domaine de base sans le préfixe *., par exemple example.com.

Nœuds parents : Cname

Nœuds enfants : aucun

Idempotence

L'idempotence de l'opération CreateCnameToken dépend du type de bucket et du fait que le CNAME est déjà mappé au bucket actuel :

  • Bucket standard : si le CNAME est déjà mappé au bucket actuel dans tout état autre que supprimé, OSS renvoie NoNeedCreateCnameToken et vous n'avez pas besoin de créer un jeton.

  • Agentic Bucket : OSS renvoie NoNeedCreateCnameToken uniquement si l'Agentic Bucket actuel a déjà mappé le nom de domaine de base à un CNAME du même type.

Éléments de réponse

Élément

Type

Exemple

Description

CnameToken

Container

N/A

Conteneur qui stocke le jeton CNAME.

Nœuds parents : aucun

Nœuds enfants : Bucket, Cname, Token et ExpireTime

Bucket

String

examplebucket

Nom du bucket auquel le CNAME est mappé.

Nœuds parents : CnameToken

Nœuds enfants : aucun

Cname

String

example.com

Nom du CNAME mappé.

Nœuds parents : CnameToken

Nœuds enfants : aucun

Token

String

be1d49d863dea9ffeff3df7d6455****

Jeton CNAME renvoyé par OSS.

Nœuds parents : CnameToken

Nœuds enfants : aucun

ExpireTime

String

Wed, 23 Feb 2022 21:16:37 GMT

Date et heure d'expiration du jeton CNAME.

Nœuds parents : CnameToken

Nœuds enfants : aucun

Exemples

  • Exemples de requêtes

    • Créer un jeton CNAME pour un bucket standard

      POST /?cname&comp=token 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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Créer un jeton CNAME pour un enregistrement CNAME générique d'un Agentic Bucket

      POST /?cname&comp=token&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
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Créer un jeton CNAME pour un enregistrement CNAME exact d'un Agentic Bucket

      POST /?cname&comp=token&wildcard=false 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
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>console.example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
  • Exemples de réponses

    • Le jeton CNAME est créé.

      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>
    • Le nombre de jetons CNAME dépasse la limite supérieure.

      HTTP/1.1 400 Bad Request
      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>TooManyCnameToken</Code>
        <Message>You have attempted to create more cname token than allowed.</Message>
        <RequestId>6215FD21DA0E27393F004E9E</RequestId>
        <HostId>127.0.0.1</HostId>
        <Bucket>examplebucket</Bucket>
      </Error>

SDK OSS

Les SDK OSS suivants prennent en charge l'opération CreateCnameToken :

ossutil

Pour obtenir des informations sur la commande ossutil correspondant à l'opération CreateCnameToken, consultez la rubrique create-cname-token.

Codes d'erreur

Code d'erreur

Code d'état HTTP

Description

InvalidArgument

400

Les causes possibles de l'erreur sont les suivantes :

  • L'élément Domain contient des caractères non valides, tels que le littéral générique *.example.com.

TooManyCnameToken

400

Le nombre de jetons créés pour le même bucket dépasse la limite supérieure.

NoNeedCreateCnameToken

200

Le CNAME est déjà mappé au bucket actuel et vous n'avez pas besoin de créer un jeton. Pour un bucket standard, OSS renvoie cette réponse lorsque le CNAME est déjà mappé au bucket actuel dans tout état autre que supprimé. Pour un Agentic Bucket, OSS renvoie cette réponse uniquement si le nom de domaine de base est déjà mappé à l'Agentic Bucket actuel par un CNAME du même type.

MethodNotAllowed

405

La fonctionnalité CNAME n'est pas activée pour le type de bucket cible.