你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Diagnostic - Update

汇报标识符指定的诊断的详细信息。

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

URI 参数

名称 必需 类型 说明
diagnosticId
path True

string

诊断标识符。 在当前API 管理服务实例中必须是唯一的。

正则表达式模式: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

资源组的名称。 此名称不区分大小写。

serviceName
path True

string

API 管理服务的名称。

正则表达式模式: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

目标订阅的 ID。

api-version
query True

string

要用于此操作的 API 版本。

请求头

名称 必需 类型 说明
If-Match True

string

实体的 ETag。 ETag 应与 GET 请求标头响应中的当前实体状态匹配,或者对于无条件更新,ETag 应为 *。

请求正文

名称 必需 类型 说明
properties.loggerId True

string

目标记录器的资源 ID。

properties.alwaysLog

AlwaysLog

指定不应应用哪些类型的消息采样设置。

properties.backend

PipelineDiagnosticSettings

传入/传出 HTTP 消息到后端的诊断设置

properties.frontend

PipelineDiagnosticSettings

传入/传出 HTTP 消息到网关的诊断设置。

properties.httpCorrelationProtocol

HttpCorrelationProtocol

设置要用于 Application Insights 诊断的相关协议。

properties.logClientIp

boolean

记录 ClientIP。 默认值为 false。

properties.metrics

boolean

通过发出指标策略发出自定义指标。 仅适用于 Application Insights 诊断设置。

properties.operationNameFormat

OperationNameFormat

Application Insights 遥测的操作名称的格式。 默认值为“名称”。

properties.sampling

SamplingSettings

诊断的采样设置。

properties.verbosity

Verbosity

应用于跟踪策略发出的跟踪的详细级别。

响应

名称 类型 说明
200 OK

DiagnosticContract

已成功更新诊断

标头

ETag: string

Other Status Codes

ErrorResponse

描述操作失败原因的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

ApiManagementUpdateDiagnostic

示例请求

PATCH 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/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/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/diagnostics",
  "name": "applicationinsights",
  "properties": {
    "alwaysLog": "allErrors",
    "httpCorrelationProtocol": "Legacy",
    "logClientIp": true,
    "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
    "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
        }
      }
    }
  }
}

定义

名称 说明
AlwaysLog

指定不应应用哪些类型的消息采样设置。

BodyDiagnosticSettings

正文日志记录设置。

DataMasking
DataMaskingEntity
DataMaskingMode

数据掩码模式。

DiagnosticContract

诊断详细信息。

ErrorFieldContract

错误字段协定。

ErrorResponse

错误响应。

HttpCorrelationProtocol

设置要用于 Application Insights 诊断的相关协议。

HttpMessageDiagnostic

Http 消息诊断设置。

OperationNameFormat

Application Insights 遥测的操作名称的格式。 默认值为“名称”。

PipelineDiagnosticSettings

传入/传出 HTTP 消息到网关的诊断设置。

SamplingSettings

诊断的采样设置。

SamplingType

采样类型。

Verbosity

应用于跟踪策略发出的跟踪的详细级别。

AlwaysLog

指定不应应用哪些类型的消息采样设置。

名称 类型 说明
allErrors

string

无论采样设置如何,始终记录所有错误请求。

BodyDiagnosticSettings

正文日志记录设置。

名称 类型 说明
bytes

integer

要记录的请求正文字节数。

DataMasking

名称 类型 说明
headers

DataMaskingEntity[]

标头的掩码设置

queryParams

DataMaskingEntity[]

URL 查询参数的掩码设置

DataMaskingEntity

名称 类型 说明
mode

DataMaskingMode

数据掩码模式。

value

string

要屏蔽的实体的名称 (例如标头的名称或查询参数) 。

DataMaskingMode

数据掩码模式。

名称 类型 说明
Hide

string

隐藏实体的存在。

Mask

string

屏蔽实体的值。

DiagnosticContract

诊断详细信息。

名称 类型 说明
id

string

资源的完全限定的资源 ID。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

资源的名称

properties.alwaysLog

AlwaysLog

指定不应应用哪些类型的消息采样设置。

properties.backend

PipelineDiagnosticSettings

传入/传出 HTTP 消息到后端的诊断设置

properties.frontend

PipelineDiagnosticSettings

传入/传出 HTTP 消息到网关的诊断设置。

properties.httpCorrelationProtocol

HttpCorrelationProtocol

设置要用于 Application Insights 诊断的相关协议。

properties.logClientIp

boolean

记录 ClientIP。 默认值为 false。

properties.loggerId

string

目标记录器的资源 ID。

properties.metrics

boolean

通过发出指标策略发出自定义指标。 仅适用于 Application Insights 诊断设置。

properties.operationNameFormat

OperationNameFormat

Application Insights 遥测的操作名称的格式。 默认值为“名称”。

properties.sampling

SamplingSettings

诊断的采样设置。

properties.verbosity

Verbosity

应用于跟踪策略发出的跟踪的详细级别。

type

string

资源类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts”

ErrorFieldContract

错误字段协定。

名称 类型 说明
code

string

属性级错误代码。

message

string

属性级错误的可读表示形式。

target

string

属性名称。

ErrorResponse

错误响应。

名称 类型 说明
error.code

string

服务定义的错误代码。 此代码用作响应中指定的 HTTP 错误代码的子状态。

error.details

ErrorFieldContract[]

在发生验证错误的情况下,在请求中发送的无效字段列表。

error.message

string

错误的用户可读表示形式。

HttpCorrelationProtocol

设置要用于 Application Insights 诊断的相关协议。

名称 类型 说明
Legacy

string

使用请求关联数据注入 Request-Id 和 Request-Context 标头。 请参阅 https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md

None

string

不要读取和注入相关标头。

W3C

string

注入跟踪上下文标头。 请参阅 https://w3c.github.io/trace-context

HttpMessageDiagnostic

Http 消息诊断设置。

名称 类型 说明
body

BodyDiagnosticSettings

正文日志记录设置。

dataMasking

DataMasking

数据掩码设置。

headers

string[]

要记录的 HTTP 标头数组。

OperationNameFormat

Application Insights 遥测的操作名称的格式。 默认值为“名称”。

名称 类型 说明
Name

string

API_NAME;rev=API_REVISION - OPERATION_NAME

Url

string

HTTP_VERB URL

PipelineDiagnosticSettings

传入/传出 HTTP 消息到网关的诊断设置。

名称 类型 说明
request

HttpMessageDiagnostic

请求的诊断设置。

response

HttpMessageDiagnostic

响应的诊断设置。

SamplingSettings

诊断的采样设置。

名称 类型 说明
percentage

number

固定速率采样的采样率。

samplingType

SamplingType

采样类型。

SamplingType

采样类型。

名称 类型 说明
fixed

string

固定速率采样。

Verbosity

应用于跟踪策略发出的跟踪的详细级别。

名称 类型 说明
error

string

只有将“严重性”设置为“error”的跟踪才会发送到附加到此诊断实例的记录器。

information

string

将“严重性”设置为“information”和“error”的跟踪将发送到附加到此诊断实例的记录器。

verbose

string

跟踪策略发出的所有跟踪都将发送到附加到此诊断实例的记录器。