Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Object Storage Service/ Referencia de la API/ Las API/ Configuración avanzada del bucket/ Configuración de reglas de vuelta a la fuente de duplicación
Actualización más reciente 2024-09-18 GMT+08:00

Configuración de reglas de vuelta a la fuente de duplicación

Funciones

Esta operación configura las reglas de vuelta a la fuente de duplicación para un bucket especificado. Esta API es idempotente. Si la misma regla ya existe en el bucket, se devuelve un mensaje de éxito con el código de estado de 200. De lo contrario, se devuelve el código de estado 201.

Sintaxis de solicitud

PUT /?mirrorBackToSource HTTP/1.1
Host: bucketname.obs.region.myhuaweicloud.com Authorization: authorization
Content-Type: application/json
Content-Length: length
Date: date

policy json body

Parámetros de solicitud

Esta solicitud no contiene parámetros de mensaje.

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para obtener más información, consulte Tabla 3.

Elementos de solicitud

Tabla 1 Elementos de solicitud

Elemento

Descripción

Obligatorio

rules

Número de reglas.

Tipo: container

Rango de valores: tamaño de matriz que varía de 1 a 10

NOTA:

Para el mismo bucket, los prefijos de diferentes reglas no pueden contener entre sí ni tener caracteres iniciales duplicados. Se recomienda la misma delegación.

Tabla 2 Parámetros de regla

Parámetro

Descripción

Obligatorio

id

ID de la regla. ID único de una regla de vuelta a la fuente configurada para el bucket actual.

Tipo: string

Rango de valores: 1 a 256. El valor debe estar dentro del rango de ^[a-zA-Z0-9_-]{1, 256}$.

condition

Condición para activar la vuelta a la fuente.

Tipo: container

httpErrorCodeReturnedEquals

Código de error que activa la función vuelta a la fuente. Cuando se devuelve este error para una solicitud de descarga, se activa la función de la vuelta a la fuente.

Tipo: integer

Rango de valores: 404

objectKeyPrefixEquals

Prefijo del nombre del objeto que activa la función vuelta a la fuente. La función de la vuelta a la fuente solo se realiza cuando el prefijo de nombre de objeto especificado está contenido en la solicitud. Si este parámetro se deja en blanco, todos los objetos se coinciden de forma predeterminada. Para el mismo bucket, los prefijos de diferentes reglas no pueden contener entre sí ni tener caracteres iniciales duplicados.

Tipo: string

Valor válido: una string de 0 a 1023 caracteres

No

redirect

Principales parámetros de vuelta a la fuente.

Tipo: container

agency

Nombre de la delegación con una delegación, el cliente puede conceder a OBS permisos para consultar si existe un objeto especificado en el bucket y cargar objetos en el bucket.

Tipo: string

publicSource

Configuración del sitio de origen al que se puede acceder públicamente. Este parámetro es obligatorio cuando el sitio de origen es un recurso público accesible.

Tipo: container

No

sourceEndpoint

Dirección del sitio de origen a la que se puede acceder públicamente.

Tipo: container

No

master

Dirección de origen principal. Si el origen es un bucket al que se puede acceder a través de la red HTTP, la dirección es el nombre de dominio del bucket. Si el origen es un bucket privado proporcionado por otros proveedores en la nube, la dirección es una dirección de nombre de dominio de región.

Tipo: array

Valor válido: una única dirección de sitio de origen tiene el formato https|http://xxx.yyy.zzz y contiene entre 10 y 255 caracteres.

NOTA:

La dirección del sitio de origen principal se usa preferentemente durante el proceso de retorno al origen. Si se configuran varias direcciones primarias, se accede a todas las direcciones primarias en modo de sondeo. Si se configuran dos o más direcciones primarias, cuando falla la primera solicitud a la dirección primaria y se cumplen las condiciones de reintento, la solicitud volverá a intentar otra dirección primaria.

Se debe configurar al menos una dirección principal.

Se puede configurar un máximo de cinco direcciones primarias.

No

slave

Dirección del sitio de origen secundario. Si el origen es un bucket al que se puede acceder a través de la red HTTP, la dirección es el nombre de dominio del bucket. Si el origen es un bucket privado proporcionado por otros proveedores en la nube, la dirección es una dirección de nombre de dominio de región.

Tipo: array

Valor válido: una única dirección de sitio de origen tiene el formato https|http://xxx.yyy.zzz y contiene entre 10 y 255 caracteres.

NOTA:

Una solicitud de vuelta a la fuente volverá a intentar la dirección secundaria del sitio de origen cuando la dirección principal del sitio de origen no esté disponible.

Se puede configurar un máximo de cinco direcciones secundarias.

No

retryConditions

Condición para cambiar la dirección del sitio de origen.

Tipo: array

Rango de valores: códigos de error 4XX, 5XX, 400-499 y 500-599

NOTA:

Los códigos de error que comienzan con 4XX y 4 no se pueden configurar juntos. Los códigos de error que comienzan con 5XX y 5 no se pueden configurar juntos.

Se puede configurar un máximo de 20 códigos de error.

No

passQueryString

Indica si se debe llevar la string de caracteres de solicitud. Si el valor es true, el valor queryString de la solicitud OBS se pasa al sitio de origen. De lo contrario, el valor queryString no se pasará al sitio de origen.

El valor predeterminado es false. El valor false indica que se omite el parámetro.

Tipo: boolean

Rango de valores: false o true

NOTA:

Si el valor es true pero la consulta contiene información de firma, elimine la información de firma y pase los parámetros restantes.

mirrorFollowRedirect

Indica si se deben obtener recursos después de la solicitud de redirección 3xx desde el sitio de origen redirigido. Si el valor es true, obtenga recursos después de la solicitud de redirección 3xx desde el sitio de origen redirigido. De lo contrario, OBS pasa de forma transparente la respuesta de 3XX y no obtiene recursos. El valor predeterminado es false. El valor false indica que se omite el parámetro.

Tipo: boolean

Rango de valores: false o true

mirrorHttpHeader

Regla de transferencia del encabezado HTTP

Tipo: container

No

passAll

Indica si se deben pasar todos los encabezados HTTP a través del sitio de origen.

Los siguientes tipos de encabezado HTTP no admiten el paso a través:

1. Encabezados que comienzan con los siguientes prefijos:

x-obs-

x-amz-

2. Todos los encabezados HTTP estándar, por ejemplo:

Content-Length

Autorización

Fecha

passAll y pass son mutuamente excluyentes.

Tipo de valor: BOOL

Rango de valores: false o true

No

pass

Especifica la lista de encabezados HTTP que se van a pasar.

Tipo: list

Rango de valores: un máximo de 10 listas. La longitud de cada lista varía de 1 a 63 caracteres. La clave solo puede contener letras (tanto mayúsculas como minúsculas), dígitos, guiones (-) y guiones bajos (_).

No

remove

Lista de encabezados HTTP que no se pueden pasar.

La operación de eliminación tiene prioridad sobre las operaciones pass y passAll.

Tipo: list

Rango de valores: un máximo de 10 listas. La longitud de cada lista varía de 1 a 63 caracteres. La clave solo puede contener letras (tanto mayúsculas como minúsculas), dígitos, guiones (-) y guiones bajos (_).

No

set

Configuración de la lista de encabezados HTTP que se van a pasar.

La operación establecida tiene una prioridad más alta que las operaciones remove, pass y passAll.

Si el encabezado definido por el usuario contiene Referer, redirectWithoutReferer debe establecerse en true. De lo contrario, Referer se sobrescribirá.

Tipo: list

Rango de valores: un máximo de 10 listas

No

key

Palabra clave del encabezado HTTP que necesita ser pasado a través.

Cada clave es única.

Tipo: string

Rango de valores: una string de 1 a 63 caracteres. Solo se permiten letras (tanto mayúsculas como minúsculas), dígitos, guiones (-) y guiones bajos (_).

No

value

Valor del encabezado HTTP que debe pasarse.

Tipo: string

Rango de valores: una string de 0 a 2048 caracteres

No

replaceKeyWith

Agrega prefijo o sufijo. Si necesita agregar un prefijo o sufijo al descargar objetos del sitio de origen, establezca este parámetro en prefix${key}suffix. Si no es necesario agregar ningún prefijo o sufijo, establezca este parámetro en ${key}.

Tipo: string

Rango de valores: prefix${key}suffix

${key} es la palabra clave, prefijo y sufijo son los que se agregarán. Longitud total del prefijo y sufijo. El valor oscila entre 0 y 1023 caracteres.

No

replaceKeyPrefixWith

Cadena de caracteres utilizada para reemplazar el prefijo objectKeyPrefixEquals. Si necesita reemplazar el prefijo de nombre de objeto actual al descargar objetos desde el sitio de origen, modifique este elemento de configuración.

Si ambos replaceKeyWith y ReplaceKeyPrefixWith están vacíos, ReplaceKeyPrefixWith entra en vigor. La solicitud no es válida si se especifican ambos parámetros.

Tipo: string

Rango de valores: una string de 0 a 1023 caracteres

No

vpcEndpointURN

URN del servicio VPC Endpoint.

Tipo: string

Rango de valores: una string de 0 a 127 caracteres

No

redirectWithoutReferer

Indica si se debe llevar el host original como encabezado de referencia a la dirección de destino para redireccionar. El valor false indica que el host original será transportado, y true indica que el host original no será transportado.

Tipo: boolean

Valor predeterminado: false

No

mirrorAllowHttpMethod

Si se agrega HEAD para un bucket público, puede usar solicitudes HEAD para recuperar metadatos de objetos, en lugar de objetos, desde el servidor de origen.

Tipo: list

No

Sintaxis de respuesta

HTTP/1.1 status
Server: OBS
Date: date
Content-Length: length

Encabezados de respuesta

La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.

Elementos de respuesta

Esta respuesta no contiene elementos.

Respuestas de error

No se devuelven respuestas de error especiales. Para obtener más información acerca de las respuestas de error, consulte Tabla 2 y Tabla 3.

Modelo de solicitud

PUT /?mirrorBackToSource HTTP/1.1
Host: bucketname.obs.region.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=
Content-Type: application/json
Content-Length: 1049
Date: Tue, 21 Jul 2020 15:38:30 GMT

{
    "rules": [{
        "id": "abc123",
        "condition": {
            "httpErrorCodeReturnedEquals": "404",
            "objectKeyPrefixEquals": "video/"
        },
        "redirect": {
            "agency": "agency",
            "publicSource": {
                "sourceEndpoint": {
                    "master":["http://bucket1.xxx.yyy.com", "https://bucket2.xxx.yyy.com"],
                    "slave": ["http://bucket3.xxx.yyy.com", "https://bucket4.xxx.yyy.com"]
                }
            },
            "retryConditions": ["4XX", "5XX"],
            "passQueryString": true,
            "mirrorFollowRedirect": true,
            "redirectWithoutReferer": true,
            "mirrorAllowHttpMethod":["HEAD"],
            "mirrorHttpHeader": {
                "passAll": false,
                "pass": ["content-encoding"],
                "remove": ["content-type"],
                "set": [{
                    "key": "helloworld",
                    "value": "2222"
                }]
            },
            "replaceKeyWith": "prefix${key}suffix",
            "replaceKeyPrefixWith": "picture/",
            "vpcEndpointURN": "001"
        }
    }]
}

Modelo de respuesta

HTTP/1.1 201 Created
Server: OBS
Date: Tue, 07 Jul 2020 07:29:13 GMT
Content-Length: 0