Todos los productos
Search
Centro de documentos

Object Storage Service:CreateCnameToken

Última actualización: Sep 15, 2026

CreateCnameToken crea el token de CNAME necesario para comprobar la propiedad de un nombre de dominio. Use el parámetro wildcard para especificar si se crea el token para un CNAME exacto o para un CNAME comodín.

Notas de uso

  • De forma predeterminada, un token de CNAME caduca 72 horas después de su creación. Si vuelve a llamar a esta operación mientras un token de CNAME existente sigue siendo válido, se devuelve el token actual.

  • Para un Agentic Bucket, el parámetro wildcard es obligatorio: wildcard=true crea un token para un CNAME comodín y wildcard=false crea un token para un CNAME exacto. No puede omitir este parámetro ni dejarlo en blanco.

  • En un bucket estándar, esta operación se llama de la misma manera que las operaciones openapi de CNAME existentes de OSS para crear un token de CNAME exacto. No se requieren parámetros nuevos.

Sintaxis de la solicitud

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>

Encabezados de la solicitud

Esta operación solo usa Common HTTP headers.

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Ejemplo

Descripción

wildcard

String

Bucket estándar: No

Agentic Bucket: Sí

true

Especifica si se crea un token para un CNAME comodín. Valores válidos:

  • true: crea un token para un CNAME comodín.

  • false: crea un token para un CNAME exacto.

Para un Agentic Bucket, este parámetro es obligatorio y debe establecerse explícitamente en true o false. No se puede omitir ni dejar en blanco. En un bucket estándar, el parámetro es opcional y su valor predeterminado es false.

A continuación se describen los valores válidos del parámetro wildcard para cada tipo de bucket.

Tipo de bucket

Parámetro omitido

wildcard=false

wildcard=true

Bucket estándar

Permitido. Se crea un token para un CNAME exacto.

Permitido. Se crea un token para un CNAME exacto.

No permitido

Agentic Bucket

No permitido

Permitido. Se crea un token para un CNAME exacto.

Permitido. Se crea un token para un CNAME comodín.

Nota

El token correspondiente al mismo par (bucket, CNAME) abarca tanto el alcance exacto como el alcance comodín.

Elementos de la solicitud

Elemento

Tipo

Obligatorio

Ejemplo

Descripción

BucketCnameConfiguration

Container

Sí

Ninguna

Contenedor donde se almacena la configuración de CNAME.

Nodos principales: ninguno

Nodos secundarios: Cname

Cname

Container

Sí

Ninguna

Contenedor donde se almacena la información de CNAME.

Nodo principal: BucketCnameConfiguration

Nodos secundarios: Domain

Domain

String

Sí

example.com

Nombre de dominio personalizado. Para crear un token de CNAME exacto, establezca este elemento con el nombre de dominio completo, como console.example.com. Para crear un token de CNAME comodín, establezca este elemento con el nombre de dominio base del dominio comodín sin el prefijo *., como example.com.

Nodo principal: Cname

Nodos secundarios: ninguno

Idempotencia

La idempotencia de CreateCnameToken varía según el tipo de bucket y depende de si el CNAME ya está asignado al bucket actual:

  • Bucket estándar: si el CNAME ya está asignado al bucket actual en cualquier estado distinto de eliminado, se devuelve NoNeedCreateCnameToken y no es necesario crear un token.

  • Agentic Bucket: se devuelve NoNeedCreateCnameToken únicamente cuando el nombre de dominio base ya está asignado al Agentic Bucket actual mediante un CNAME del mismo tipo.

Elementos de la respuesta

Elemento

Tipo

Ejemplo

Descripción

CnameToken

Container

Ninguna

Contenedor donde se almacena el token de CNAME.

Nodos principales: ninguno

Nodos secundarios: Bucket, Cname, Token y ExpireTime

Bucket

String

examplebucket

Nombre del bucket al que está asignado el CNAME.

Nodo principal: CnameToken

Nodos secundarios: ninguno

Cname

String

example.com

Nombre del CNAME asignado.

Nodo principal: CnameToken

Nodos secundarios: ninguno

Token

String

be1d49d863dea9ffeff3df7d6455****

Token de CNAME que devuelve OSS.

Nodo principal: CnameToken

Nodos secundarios: ninguno

ExpireTime

String

Wed, 23 Feb 2022 21:16:37 GMT

Hora en la que caduca el token de CNAME.

Nodo principal: CnameToken

Nodos secundarios: ninguno

Ejemplos

  • Solicitudes de ejemplo

    • Crear un token de CNAME para un bucket estándar

      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>
    • Crear un token de CNAME para un CNAME comodín de 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>
    • Crear un token de CNAME para un CNAME exacto de 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>
  • Respuestas de ejemplo

    • Se creó el token de 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>
    • La cantidad de tokens de CNAME supera el límite.

      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 de OSS

Los siguientes SDK de OSS admiten la operación CreateCnameToken:

ossutil

Para obtener información sobre el comando de ossutil correspondiente a la operación CreateCnameToken, consulte create-cname-token.

Códigos de error

Código de error

Código de estado HTTP

Descripción

InvalidArgument

400

Este error se puede devolver por el siguiente motivo:

  • El elemento Domain contiene caracteres no válidos, como el literal de nombre de dominio comodín *.example.com.

TooManyCnameToken

400

La cantidad de tokens creados para el mismo bucket supera el límite máximo permitido.

NoNeedCreateCnameToken

200

El CNAME ya está asignado al bucket actual, por lo que no es necesario crear un token. En un bucket estándar, esta respuesta se devuelve cuando el CNAME ya está asignado al bucket actual en cualquier estado distinto de eliminado. En un Agentic Bucket, la respuesta se devuelve únicamente cuando el nombre de dominio base ya está asignado al Agentic Bucket actual mediante un CNAME del mismo tipo.

MethodNotAllowed

405

La función de CNAME no está habilitada para el tipo de bucket de destino.