Api Diagnostic - Create Or Update

Crea un nuevo diagnóstico para una API o actualiza uno ya existente

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
apiId
path True

string

Identificador de API. Debe ser único en la instancia de servicio API Management actual.

diagnosticId
path True

string

Identificador de diagnóstico. Debe ser único en la instancia de servicio API Management actual.

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

resourceGroupName
path True

string

Nombre del grupo de recursos. El nombre distingue mayúsculas de minúsculas.

serviceName
path True

string

Nombre del servicio API Management.

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

subscriptionId
path True

string

Identificador de la suscripción de destino.

api-version
query True

string

Versión de API que se usará para la operación.

Encabezado de la solicitud

Nombre Requerido Tipo Description
If-Match

string

ETag de la entidad. No es necesario al crear una entidad, pero es necesario al actualizar una entidad.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
properties.loggerId True

string

Identificador de recurso de un registrador de destino.

properties.alwaysLog

AlwaysLog

Especifica para qué tipo de configuración de muestreo de mensajes no se debe aplicar.

properties.backend

PipelineDiagnosticSettings

Configuración de diagnóstico para mensajes HTTP entrantes o salientes en el back-end

properties.frontend

PipelineDiagnosticSettings

Configuración de diagnóstico para los mensajes HTTP entrantes o salientes en la puerta de enlace.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Establece el protocolo de correlación que se va a usar para el diagnóstico de Application Insights.

properties.logClientIp

boolean

Registre clientIP. El valor predeterminado es False.

properties.metrics

boolean

Emita métricas personalizadas a través de la directiva de métrica de emisión. Solo se aplica a la configuración de diagnóstico de Application Insights.

properties.operationNameFormat

OperationNameFormat

Formato del nombre de la operación para los datos de telemetría de Application Insights. El valor predeterminado es Name.

properties.sampling

SamplingSettings

Configuración de muestreo para Diagnóstico.

properties.verbosity

Verbosity

Nivel de detalle aplicado a los seguimientos emitidos por las directivas de seguimiento.

Respuestas

Nombre Tipo Description
200 OK

DiagnosticContract

El diagnóstico se actualizó correctamente.

Headers

ETag: string

201 Created

DiagnosticContract

El diagnóstico se creó correctamente.

Headers

ETag: string

Other Status Codes

ErrorResponse

Respuesta de error que describe el motivo del error de la operación.

Seguridad

azure_auth

Flujo de OAuth2 de Azure Active Directory.

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

Scopes

Nombre Description
user_impersonation suplantación de su cuenta de usuario

Ejemplos

ApiManagementCreateApiDiagnostic

Sample Request

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

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

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/apis/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
        }
      }
    }
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/apis/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
        }
      }
    }
  }
}

Definiciones

Nombre Description
AlwaysLog

Especifica para qué tipo de configuración de muestreo de mensajes no se debe aplicar.

BodyDiagnosticSettings

Configuración de registro del cuerpo.

DataMasking
DataMaskingEntity
DataMaskingMode

Modo de enmascaramiento de datos.

DiagnosticContract

Detalles de diagnóstico.

ErrorFieldContract

Contrato de campo de error.

ErrorResponse

Respuesta de error.

HttpCorrelationProtocol

Establece el protocolo de correlación que se va a usar para el diagnóstico de Application Insights.

HttpMessageDiagnostic

Configuración de diagnóstico de mensajes HTTP.

OperationNameFormat

Formato del nombre de la operación para los datos de telemetría de Application Insights. El valor predeterminado es Name.

PipelineDiagnosticSettings

Configuración de diagnóstico para los mensajes HTTP entrantes o salientes en la puerta de enlace.

SamplingSettings

Configuración de muestreo para Diagnóstico.

SamplingType

Tipo de muestreo.

Verbosity

Nivel de detalle aplicado a los seguimientos emitidos por las directivas de seguimiento.

AlwaysLog

Especifica para qué tipo de configuración de muestreo de mensajes no se debe aplicar.

Nombre Tipo Description
allErrors

string

Registre siempre todas las solicitudes erróneas independientemente de la configuración de muestreo.

BodyDiagnosticSettings

Configuración de registro del cuerpo.

Nombre Tipo Description
bytes

integer

Número de bytes del cuerpo de la solicitud que se van a registrar.

DataMasking

Nombre Tipo Description
headers

DataMaskingEntity[]

Configuración de enmascaramiento de encabezados

queryParams

DataMaskingEntity[]

Configuración de enmascaramiento para parámetros de consulta url

DataMaskingEntity

Nombre Tipo Description
mode

DataMaskingMode

Modo de enmascaramiento de datos.

value

string

Nombre de una entidad que se va a enmascarar (por ejemplo, un nombre de un encabezado o un parámetro de consulta).

DataMaskingMode

Modo de enmascaramiento de datos.

Nombre Tipo Description
Hide

string

Ocultar la presencia de una entidad.

Mask

string

Enmascarar el valor de una entidad.

DiagnosticContract

Detalles de diagnóstico.

Nombre Tipo Description
id

string

Identificador de recurso completo del recurso. Por ejemplo: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Nombre del recurso.

properties.alwaysLog

AlwaysLog

Especifica para qué tipo de configuración de muestreo de mensajes no se debe aplicar.

properties.backend

PipelineDiagnosticSettings

Configuración de diagnóstico para mensajes HTTP entrantes o salientes en el back-end

properties.frontend

PipelineDiagnosticSettings

Configuración de diagnóstico para los mensajes HTTP entrantes o salientes en la puerta de enlace.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Establece el protocolo de correlación que se va a usar para el diagnóstico de Application Insights.

properties.logClientIp

boolean

Registre clientIP. El valor predeterminado es False.

properties.loggerId

string

Identificador de recurso de un registrador de destino.

properties.metrics

boolean

Emita métricas personalizadas a través de la directiva de métrica de emisión. Solo se aplica a la configuración de diagnóstico de Application Insights.

properties.operationNameFormat

OperationNameFormat

Formato del nombre de la operación para los datos de telemetría de Application Insights. El valor predeterminado es Name.

properties.sampling

SamplingSettings

Configuración de muestreo para Diagnóstico.

properties.verbosity

Verbosity

Nivel de detalle aplicado a los seguimientos emitidos por las directivas de seguimiento.

type

string

Tipo de recurso. Por ejemplo, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"

ErrorFieldContract

Contrato de campo de error.

Nombre Tipo Description
code

string

Código de error de nivel de propiedad.

message

string

Representación legible del error de nivel de propiedad.

target

string

Nombre de propiedad.

ErrorResponse

Respuesta de error.

Nombre Tipo Description
error.code

string

Código del error definido por el servicio. Este código funciona como estado secundario del código de error HTTP especificado en la respuesta.

error.details

ErrorFieldContract[]

La lista de campos no válidos que se envían en la solicitud, en caso de error de validación.

error.message

string

Representación legible del error.

HttpCorrelationProtocol

Establece el protocolo de correlación que se va a usar para el diagnóstico de Application Insights.

Nombre Tipo Description
Legacy

string

Inserte encabezados Request-Id y Request-Context con datos de correlación de solicitudes. Vea https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

None

string

No lea e inserte encabezados de correlación.

W3C

string

Insertar encabezados de contexto de seguimiento. Vea https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Configuración de diagnóstico de mensajes HTTP.

Nombre Tipo Description
body

BodyDiagnosticSettings

Configuración de registro del cuerpo.

dataMasking

DataMasking

Configuración de enmascaramiento de datos.

headers

string[]

Matriz de encabezados HTTP que se van a registrar.

OperationNameFormat

Formato del nombre de la operación para los datos de telemetría de Application Insights. El valor predeterminado es Name.

Nombre Tipo Description
Name

string

API_NAME; rev=API_REVISION: OPERATION_NAME

Url

string

HTTP_VERB URL

PipelineDiagnosticSettings

Configuración de diagnóstico para los mensajes HTTP entrantes o salientes en la puerta de enlace.

Nombre Tipo Description
request

HttpMessageDiagnostic

Configuración de diagnóstico para la solicitud.

response

HttpMessageDiagnostic

Configuración de diagnóstico para la respuesta.

SamplingSettings

Configuración de muestreo para Diagnóstico.

Nombre Tipo Description
percentage

number

Frecuencia de muestreo para muestreo de frecuencia fija.

samplingType

SamplingType

Tipo de muestreo.

SamplingType

Tipo de muestreo.

Nombre Tipo Description
fixed

string

Muestreo de frecuencia fija.

Verbosity

Nivel de detalle aplicado a los seguimientos emitidos por las directivas de seguimiento.

Nombre Tipo Description
error

string

Solo los seguimientos con "gravedad" establecido en "error" se enviarán al registrador asociado a esta instancia de diagnóstico.

information

string

Los seguimientos con 'gravedad' establecido en 'information' y 'error' se enviarán al registrador adjunto a esta instancia de diagnóstico.

verbose

string

Todos los seguimientos emitidos por las directivas de seguimiento se enviarán al registrador adjunto a esta instancia de diagnóstico.