Configure campos personalizados no elemento user_defined_log_fields dos logs em tempo real do bucket para capturar cabeçalhos de requisição e parâmetros de consulta específicos para análise.
Observações de uso
A operação PutUserDefinedLogFieldsConfig exige a permissão
oss:PutUserDefinedLogFieldsConfig. Para mais informações, consulte Conceder uma política personalizada.Os dados registrados são armazenados como JSON codificado em Base64 no campo
user_defined_log_fields. O JSON contém três chaves: "truncated" (indica se os dados foram truncados), "headers" (cabeçalhos da requisição) e "querys" (parâmetros de consulta).Cada configuração de log aceita no máximo seis campos personalizados no total, somando cabeçalhos de requisição e parâmetros de consulta.
O comprimento combinado de chave e valor de todos os campos personalizados de cabeçalho de requisição e parâmetro de consulta em uma configuração de log não pode exceder 1.024 bytes. Caracteres além desse limite são truncados.
Chaves de cabeçalho de requisição aceitam hifens (-), mas não sublinhados (_). Chaves de parâmetro de consulta aceitam sublinhados (_).
Chaves de cabeçalho de requisição devem conter apenas caracteres ASCII imprimíveis (33–126), exceto sublinhados (_) e dois-pontos (:).
Sintaxe da requisição
PUT /?userDefinedLogFieldsConfig HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<UserDefinedLogFieldsConfiguration>
<HeaderSet>
<header>header1</header>
<header>header2</header>
<header>header3</header>
</HeaderSet>
<ParamSet>
<parameter>param1</parameter>
<parameter>param2</parameter>
</ParamSet>
</UserDefinedLogFieldsConfiguration>
Cabeçalhos da requisição
Requisições PutUserDefinedLogFieldsConfig utilizam apenas cabeçalhos comuns. Para mais informações, consulte Cabeçalhos de requisição comuns.
Elementos da requisição
|
Elemento |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
UserDefinedLogFieldsConfiguration |
Contêiner |
Sim |
N/A |
Contêiner da configuração de log definida pelo usuário. Elementos filhos: HeaderSet e ParamSet Elementos pai: nenhum |
|
HeaderSet |
Contêiner |
Não |
N/A |
Contêiner para cabeçalhos de requisição personalizados. Elementos filhos: header Elementos pai: UserDefinedLogFieldsConfiguration |
|
header |
String |
Não |
header1 |
Cabeçalho de requisição personalizado. Elementos filhos: nenhum Elementos pai: HeaderSet |
|
ParamSet |
Contêiner |
Não |
N/A |
Contêiner para parâmetros de consulta personalizados. Elementos filhos: parameter Elementos pai: UserDefinedLogFieldsConfiguration |
|
parameter |
String |
Não |
param1 |
Parâmetro de consulta personalizado. Elementos filhos: nenhum Elementos pai: ParamSet |
Cabeçalhos da resposta
Respostas a requisições PutUserDefinedLogFieldsConfig utilizam apenas cabeçalhos comuns. Para mais informações, consulte Cabeçalhos de resposta comuns.
Exemplos
Exemplo de requisição
PUT /?userDefinedLogFieldsConfig HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<UserDefinedLogFieldsConfiguration>
<HeaderSet>
<header>header1</header>
<header>header2</header>
<header>header3</header>
</HeaderSet>
<ParamSet>
<parameter>param1</parameter>
<parameter>param2</parameter>
</ParamSet>
</UserDefinedLogFieldsConfiguration>
Exemplo de resposta
HTTP/1.1 200 OK
x-oss-request-id: 534B371674125A4D8906008B
Date: Date
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
SDKs do OSS
Use os SDKs do OSS nas linguagens a seguir para chamar a operação PutUserDefinedLogFieldsConfig:
ossutil
Para obter informações sobre o comando do ossutil correspondente à operação PutUserDefinedLogFieldsConfig, consulte put-user-defined-log-fields-config.