Share via


Diagnostic - Create Or Update

Cria um novo Diagnóstico ou atualiza um existente.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}?api-version=2022-08-01

Parâmetros do URI

Name Em Necessário Tipo Description
diagnosticId
path True

string

Identificador de diagnóstico. Tem de ser exclusivo na instância de serviço de Gestão de API atual.

Regex pattern: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

O nome do grupo de recursos. O nome não é sensível a maiúsculas e minúsculas.

serviceName
path True

string

O nome do serviço Gestão de API.

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

O ID da subscrição de destino.

api-version
query True

string

A versão da API a utilizar para esta operação.

Cabeçalho do Pedido

Name Necessário Tipo Description
If-Match

string

ETag da Entidade. Não é necessário ao criar uma entidade, mas é necessário ao atualizar uma entidade.

Corpo do Pedido

Name Necessário Tipo Description
properties.loggerId True

string

ID de recurso de um logger de destino.

properties.alwaysLog

AlwaysLog

Especifica o tipo de definições de amostragem de mensagens que não devem ser aplicadas.

properties.backend

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Back-end

properties.frontend

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Define o protocolo de correlação a utilizar para diagnósticos do Application Insights.

properties.logClientIp

boolean

Registe o ClientIP. A predefinição é falso.

properties.metrics

boolean

Emita métricas personalizadas através da política de emit-metric. Aplicável apenas às definições de diagnóstico do Application Insights.

properties.operationNameFormat

OperationNameFormat

O formato do Nome da Operação para telemetrias do Application Insights. A predefinição é Nome.

properties.sampling

SamplingSettings

Definições de amostragem para Diagnóstico.

properties.verbosity

Verbosity

O nível de verbosidade aplicado aos rastreios emitidos pelas políticas de rastreio.

Respostas

Name Tipo Description
200 OK

DiagnosticContract

Diagnóstico atualizado com êxito

Headers

ETag: string

201 Created

DiagnosticContract

O diagnóstico foi criado com êxito.

Headers

ETag: string

Other Status Codes

ErrorResponse

Resposta de erro que descreve a razão pela qual a operação falhou.

Segurança

azure_auth

Fluxo OAuth2 do Azure Active Directory.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation representar a sua conta de utilizador

Exemplos

ApiManagementCreateDiagnostic

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights?api-version=2022-08-01

{
  "properties": {
    "alwaysLog": "allErrors",
    "loggerId": "/loggers/azuremonitor",
    "sampling": {
      "samplingType": "fixed",
      "percentage": 50
    },
    "frontend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    },
    "backend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    }
  }
}

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/diagnostics",
  "name": "applicationinsights",
  "properties": {
    "alwaysLog": "allErrors",
    "loggerId": "/loggers/azuremonitor",
    "sampling": {
      "samplingType": "fixed",
      "percentage": 50
    },
    "frontend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    },
    "backend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    }
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/diagnostics",
  "name": "applicationinsights",
  "properties": {
    "alwaysLog": "allErrors",
    "loggerId": "/loggers/applicationinsights",
    "sampling": {
      "samplingType": "fixed",
      "percentage": 50
    },
    "frontend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    },
    "backend": {
      "request": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      },
      "response": {
        "headers": [
          "Content-type"
        ],
        "body": {
          "bytes": 512
        }
      }
    }
  }
}

Definições

Name Description
AlwaysLog

Especifica o tipo de definições de amostragem de mensagens que não devem ser aplicadas.

BodyDiagnosticSettings

Definições de registo do corpo.

DataMasking
DataMaskingEntity
DataMaskingMode

Modo de máscara de dados.

DiagnosticContract

Detalhes do diagnóstico.

ErrorFieldContract

Contrato de campo de erro.

ErrorResponse

Resposta a Erros.

HttpCorrelationProtocol

Define o protocolo de correlação a utilizar para diagnósticos do Application Insights.

HttpMessageDiagnostic

Definições de diagnóstico de mensagens http.

OperationNameFormat

O formato do Nome da Operação para telemetrias do Application Insights. A predefinição é Nome.

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Gateway.

SamplingSettings

Definições de amostragem para Diagnóstico.

SamplingType

Tipo de amostragem.

Verbosity

O nível de verbosidade aplicado aos rastreios emitidos pelas políticas de rastreio.

AlwaysLog

Especifica o tipo de definições de amostragem de mensagens que não devem ser aplicadas.

Name Tipo Description
allErrors

string

Registe sempre todos os pedidos erróneos, independentemente das definições de amostragem.

BodyDiagnosticSettings

Definições de registo do corpo.

Name Tipo Description
bytes

integer

Número de bytes do corpo do pedido a registar.

DataMasking

Name Tipo Description
headers

DataMaskingEntity[]

Definições de máscara para cabeçalhos

queryParams

DataMaskingEntity[]

Definições de máscara para parâmetros de consulta url

DataMaskingEntity

Name Tipo Description
mode

DataMaskingMode

Modo de máscara de dados.

value

string

O nome de uma entidade a mascarar (por exemplo, um nome de um cabeçalho ou um parâmetro de consulta).

DataMaskingMode

Modo de máscara de dados.

Name Tipo Description
Hide

string

Ocultar a presença de uma entidade.

Mask

string

Mascarar o valor de uma entidade.

DiagnosticContract

Detalhes do diagnóstico.

Name Tipo Description
id

string

ID de recurso completamente qualificado para o recurso. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

O nome do recurso

properties.alwaysLog

AlwaysLog

Especifica o tipo de definições de amostragem de mensagens que não devem ser aplicadas.

properties.backend

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Back-end

properties.frontend

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Define o protocolo de correlação a utilizar para diagnósticos do Application Insights.

properties.logClientIp

boolean

Registe o ClientIP. A predefinição é falso.

properties.loggerId

string

ID de recurso de um logger de destino.

properties.metrics

boolean

Emita métricas personalizadas através da política de emit-metric. Aplicável apenas às definições de diagnóstico do Application Insights.

properties.operationNameFormat

OperationNameFormat

O formato do Nome da Operação para telemetrias do Application Insights. A predefinição é Nome.

properties.sampling

SamplingSettings

Definições de amostragem para Diagnóstico.

properties.verbosity

Verbosity

O nível de verbosidade aplicado aos rastreios emitidos pelas políticas de rastreio.

type

string

O tipo de recurso. Por exemplo, "Microsoft.Compute/virtualMachines" ou "Microsoft.Storage/storageAccounts"

ErrorFieldContract

Contrato de campo de erro.

Name Tipo Description
code

string

Código de erro ao nível da propriedade.

message

string

Representação legível por humanos do erro ao nível da propriedade.

target

string

Nome da propriedade.

ErrorResponse

Resposta a Erros.

Name Tipo Description
error.code

string

Código de erro definido pelo serviço. Este código serve como um sub-estado para o código de erro HTTP especificado na resposta.

error.details

ErrorFieldContract[]

A lista de campos inválidos enviados a pedido, em caso de erro de validação.

error.message

string

Representação legível por humanos do erro.

HttpCorrelationProtocol

Define o protocolo de correlação a utilizar para diagnósticos do Application Insights.

Name Tipo Description
Legacy

string

Injetar cabeçalhos de Request-Id e Request-Context com dados de correlação de pedidos. Consulte https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

None

string

Não leia nem injete cabeçalhos de correlação.

W3C

string

Injetar cabeçalhos de Contexto de Rastreio. Consulte https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Definições de diagnóstico de mensagens http.

Name Tipo Description
body

BodyDiagnosticSettings

Definições de registo do corpo.

dataMasking

DataMasking

Definições de mascaramento de dados.

headers

string[]

Matriz de Cabeçalhos HTTP a registar.

OperationNameFormat

O formato do Nome da Operação para telemetrias do Application Insights. A predefinição é Nome.

Name Tipo Description
Name

string

API_NAME; rev=API_REVISION - OPERATION_NAME

Url

string

HTTP_VERB URL

PipelineDiagnosticSettings

Definições de diagnóstico para mensagens HTTP recebidas/enviadas para o Gateway.

Name Tipo Description
request

HttpMessageDiagnostic

Definições de diagnóstico para pedido.

response

HttpMessageDiagnostic

Definições de diagnóstico para resposta.

SamplingSettings

Definições de amostragem para Diagnóstico.

Name Tipo Description
percentage

number

Taxa de amostragem para amostragem de taxa fixa.

samplingType

SamplingType

Tipo de amostragem.

SamplingType

Tipo de amostragem.

Name Tipo Description
fixed

string

Amostragem de taxa fixa.

Verbosity

O nível de verbosidade aplicado aos rastreios emitidos pelas políticas de rastreio.

Name Tipo Description
error

string

Apenas os rastreios com "gravidade" definido como "erro" serão enviados para o logger anexado a esta instância de diagnóstico.

information

string

Os rastreios com "gravidade" definidos como "informações" e "erro" serão enviados para o logger anexado a esta instância de diagnóstico.

verbose

string

Todos os rastreios emitidos pelas políticas de rastreio serão enviados para o logger anexado a esta instância de diagnóstico.