Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Object Storage Service/ Referência de API/ As API/ Configurações avançadas de bucket/ Configuração de regras de volta à fonte do espelhamento
Atualizado em 2022-11-18 GMT+08:00

Configuração de regras de volta à fonte do espelhamento

Funções

Essa operação configura as regras de volta à fonte do espelhamento para um bucket especificado. Esta API é idempotente. Se a mesma regra já existir no bucket, uma mensagem de sucesso será retornada com o código de status 200. Caso contrário, o código de status 201 é retornado.

Sintaxe de solicitação

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 solicitação

Esta solicitação não contém parâmetros de mensagem.

Cabeçalhos de solicitação

Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.

Elementos de solicitação

Tabela 1 Elementos de solicitação

Elemento

Descrição

Obrigatório

rules

Número de regras.

Tipo: container

Intervalo de valor: tamanho da matriz que varia de 1 a 10

NOTA:

Para o mesmo bucket, os prefixos de regras diferentes não podem conter uns aos outros ou ter caracteres iniciais duplicados. Recomenda-se a mesma agência.

Sim

Tabela 2 Parâmetros de regra

Parâmetro

Descrição

Obrigatório

id

ID da regra. ID exclusivo de uma regra de retorno à origem configurada para o bucket atual.

Tipo: string

Intervalo de valor: 1 ao 256. O valor deve estar dentro do intervalo de ^[a-zA-Z0-9_-]{1, 256}$.

Sim

condition

Condição para disparar volta à fonte.

Tipo: container

Sim

httpErrorCodeReturnedEquals

Código de erro que dispara a função volta à fonte. Quando esse erro é retornado para uma solicitação de download, a função volta à fonte é acionada.

Tipo: positive integer

Intervalo de valor: 404

Sim

objectKeyPrefixEquals

Prefixo do nome do objeto que aciona a função volta à fonte. Volta à fonte é realizado somente quando o prefixo de nome de objeto especificado está contido na solicitação. Se este parâmetro for deixado em branco, todos os objetos são correspondidos por padrão. Para o mesmo bucket, os prefixos de regras diferentes não podem conter uns aos outros ou ter caracteres iniciais duplicados.

Tipo: string

Valor válido: uma cadeia de 0 a 1023 caracteres

Não

redirect

Principais parâmetros de volta à fonte.

Tipo: container

Sim

agency

Nome da agência com uma agência, o cliente pode conceder ao OBS as permissões para consultar se um objeto especificado existe no bucket e carregar objetos para o bucket.

Tipo: string

Sim

publicSource

Configuração do site de origem que pode ser acessado publicamente. Este parâmetro é obrigatório quando o site de origem é um recurso acessível ao público.

Tipo: container

Não

sourceEndpoint

Endereço do site de origem que pode ser acessado publicamente.

Tipo: container

Não

master

Endereço de origem primária. Se a origem for um bucket que pode ser acessado pela rede de HTTP, o endereço será o nome de domínio do bucket. Se a origem for um bucket privado fornecido por outros fornecedores de nuvem, o endereço é um endereço de nome de domínio de região.

Tipo: array

Valor válido: Um único endereço de site de origem está no formato de https|http://xxx.yyy.zzz, contendo de 10 a 255 caracteres.

NOTA:

A fonte primária site endereço é preferencialmente utilizado durante o volta à fonte processo. Se vários endereços primários estiverem configurados, todos os endereços primários serão acessados no modo de polling. Se dois ou mais endereços primários estiverem configurados, quando a primeira solicitação para o endereço primário falhar e as condições de repetição forem atendidas, a solicitação tentará novamente outro endereço primário.

Pelo menos um endereço principal deve ser configurado.

Um máximo de cinco endereços primários podem ser configurados.

Não

slave

Endereço do site de origem secundária. Se a origem for um bucket que pode ser acessado pela rede de HTTP, o endereço será o nome de domínio do bucket. Se a origem for um bucket privado fornecido por outros fornecedores de nuvem, o endereço é um endereço de nome de domínio de região.

Tipo: array

Valor válido: Um único endereço de site de origem está no formato de https|http://xxx.yyy.zzz, contendo de 10 a 255 caracteres.

NOTA:

Uma solicitação de retorno à origem repetirá o endereço do site de origem secundária quando o endereço do site de origem primária não estiver disponível.

Um máximo de cinco endereços secundários podem ser configurados.

Não

retryConditions

Condição para mudar o endereço do site de origem.

Tipo: array

Intervalo de valor: Códigos de erro 4XX, 5XX, 400-499 e 500-599

NOTA:

Os códigos de erro que começam com 4XX e 4 não podem ser configurados juntos. Os códigos de erro que começam com 5XX e 5 não podem ser configurados juntos.

Um máximo de 20 códigos de erro podem ser configurados.

Não

passQueryString

Indica se deve transportar a seqüência de caracteres de solicitação. Se o valor for true, o valor queryString na solicitação OBS é passado para o site de origem. Caso contrário, o valor de queryString não será passado para o site de origem.

O valor padrão é false. O valor false indica que o parâmetro é ignorado.

Tipo: BOOL

Intervalo de valor: false or true

NOTA:

Se o valor for true, mas a consulta contiver informações de assinatura, exclua as informações de assinatura e passe os parâmetros restantes.

Sim

mirrorFollowRedirect

Indica se deseja obter recursos após a solicitação de redirecionamento 3xx do site de origem redirecionado. Se o valor for true, obtenha recursos seguindo a solicitação de redirecionamento 3xx do site de origem redirecionado. Caso contrário, OBS passa pela resposta 3XX e não obtém recursos. O valor padrão é false. O valor false indica que o parâmetro é ignorado.

Tipo: BOOL

Intervalo de valor: false ou true

Sim

mirrorHttpHeader

Regra de encaminhamento do cabeçalho de HTTP

Tipo: container

Não

passAll

Indica se deve passar todos os cabeçalhos HTTP através do site de origem.

Os seguintes tipos de cabeçalho de HTTP não suportam passthrough:

1. Cabeçalhos que começam com os seguintes prefixos:

x-obs-

x-amz-

2. Todos os cabeçalhos de HTTP padrão, por exemplo:

Conteúdo-Comprimento

Autorização

Data

passAll e pass são mutuamente exclusivos.

Tipo do valor: BOOL

Intervalo de valor: false ou true

Não

pass

Especifica a lista de cabeçalhos de HTTP a serem passados.

Tipo: list

Intervalo de valor: um máximo de 10 listas. O comprimento de cada lista varia de 1 a 63 caracteres. A tecla pode conter apenas letras (maiúsculas e minúsculas), dígitos, hífens (-) e sublinhados (_).

Não

remove

Lista de cabeçalhos de HTTP que não podem ser passados.

A operação remove tem precedência sobre as operações pass e passAll.

Tipo: list

Intervalo de valor: um máximo de 10 listas. O comprimento de cada lista varia de 1 a 63 caracteres. A tecla pode conter apenas letras (maiúsculas e minúsculas), dígitos, hífens (-) e sublinhados (_).

Não

set

Configuração da lista de cabeçalhos HTTP a serem passados.

A operação set tem uma prioridade mais alta do que as operações remove, pass, e passAll.

Se o cabeçalho definido pelo usuário contém Referer, redirectWithoutReferer deve ser definido como true. Caso contrário, Referer será sobrescrito.

Tipo: container list

Intervalo de valor: um máximo de 10 listas

Não

key

Palavra-chave do cabeçalho de HTTP que precisa ser passado.

Cada chave é única.

Tipo: string

Intervalo de valor: uma string de 1 a 63 caracteres. Somente letras (maiúsculas e minúsculas), dígitos, hífens (-) e sublinhados (_) são permitidos.

Não

value

Valor do cabeçalho de HTTP que precisa ser passado.

Tipo: string

Intervalo de valor: uma string de 0 a 2048 caracteres

Não

replaceKeyWith

Adicionar prefixo ou sufixo. Se você precisar adicionar um prefixo ou sufixo ao baixar objetos do site de origem, defina esse parâmetro como prefix${key}suffix. Se nenhum prefixo ou sufixo precisar ser adicionado, defina este parâmetro como ${key}.

Tipo: string

Intervalo de valor: prefix${key}suffix

${key} é a palavra-chave, prefixo e sufixo são os que devem ser adicionados. Comprimento total do prefixo e sufixo. O valor varia de 0 a 1023 caracteres.

Não

replaceKeyPrefixWith

Cadeia de caracteres usada para substituir o prefixo objectKeyPrefixEquals. Se você precisar substituir o prefixo do nome do objeto atual ao fazer o download de objetos do site de origem, modifique esse item de configuração.

Se ambos replaceKeyWith e ReplaceKeyPrefixWith estiverem vazios, ReplaceKeyPrefixWith entrará em vigor. A solicitação é inválida se ambos os parâmetros forem especificados.

Tipo: string

Intervalo de valor: uma string de 0 a 1023 caracteres

Não

vpcEndpointURN

URN do serviço VPC Endpoint.

Tipo: string

Intervalo de valor: uma string de 0 a 127 caracteres

Não

redirectWithoutReferer

Indica se a transportar o host original como o cabeçalho de referência para o endereço de destino para redirecionamento. O valor false indica que o host original será transportado, e true indica que o host original não será transportado.

Tipo: BOOL

Valor padrão: false

Não

mirrorAllowHttpMethod

Tipo da solicitação de HTTP que você deseja passar, por exemplo, HEAD. Atualmente, apenas HEAD é suportado.

Tipo: list

Não

Sintaxe de resposta

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

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Elementos de resposta

Esta resposta não envolve elementos.

Respostas de erro

Nenhuma resposta de erro especial é retornada. Para obter detalhes sobre respostas de erro, consulte Tabela 2 e Tabela 3.

Solicitação de exemplo

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"
        }
    }]
}

Resposta de exemplo

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