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

Diagnostic - Create Or Update

创建新的诊断,或更新现有的诊断。

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

URI 参数

Name In Required Type Description
diagnosticId
path True
  • string

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

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

resourceGroupName
path True
  • string

资源组的名称。

serviceName
path True
  • string

API 管理服务的名称。

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

subscriptionId
path True
  • string

唯一标识 Microsoft Azure 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。

api-version
query True
  • string

要与客户端请求一起使用的 API 版本。

请求头

Name Required Type Description
If-Match
  • string

实体的 ETag。 创建实体时不需要,但在更新实体时是必需的。

请求正文

Name Required Type Description
properties.loggerId True
  • string

目标记录器的资源 ID。

properties.alwaysLog

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

properties.backend

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

properties.frontend

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

properties.httpCorrelationProtocol

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

properties.logClientIp
  • boolean

记录 ClientIP。 默认值为 false。

properties.metrics
  • boolean

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

properties.operationNameFormat

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

properties.sampling

诊断的采样设置。

properties.verbosity

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

响应

Name Type Description
200 OK

诊断已成功更新

Headers

  • ETag: string
201 Created

已成功创建诊断。

Headers

  • ETag: string
Other Status Codes

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

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

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

Scopes

Name Description
user_impersonation 模拟用户帐户

示例

ApiManagementCreateDiagnostic

Sample Request

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

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

定义

AlwaysLog

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

BodyDiagnosticSettings

正文日志记录设置。

DataMasking
DataMaskingEntity
DataMaskingMode

数据掩码模式。

DiagnosticContract

诊断详细信息。

ErrorFieldContract

错误字段协定。

ErrorResponse

错误响应。

HttpCorrelationProtocol

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

HttpMessageDiagnostic

Http 消息诊断设置。

OperationNameFormat

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

PipelineDiagnosticSettings

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

SamplingSettings

诊断的采样设置。

SamplingType

采样类型。

Verbosity

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

AlwaysLog

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

Name Type Description
allErrors
  • string

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

BodyDiagnosticSettings

正文日志记录设置。

Name Type Description
bytes
  • integer

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

DataMasking

Name Type Description
headers

标头的掩码设置

queryParams

Url 查询参数的掩码设置

DataMaskingEntity

Name Type Description
mode

数据掩码模式。

value
  • string

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

DataMaskingMode

数据掩码模式。

Name Type Description
Hide
  • string

隐藏实体的存在。

Mask
  • string

屏蔽实体的值。

DiagnosticContract

诊断详细信息。

Name Type Description
id
  • string

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

name
  • string

资源的名称

properties.alwaysLog

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

properties.backend

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

properties.frontend

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

properties.httpCorrelationProtocol

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

properties.logClientIp
  • boolean

记录 ClientIP。 默认值为 false。

properties.loggerId
  • string

目标记录器的资源 ID。

properties.metrics
  • boolean

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

properties.operationNameFormat

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

properties.sampling

诊断的采样设置。

properties.verbosity

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

type
  • string

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

ErrorFieldContract

错误字段协定。

Name Type Description
code
  • string

属性级错误代码。

message
  • string

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

target
  • string

属性名称。

ErrorResponse

错误响应。

Name Type Description
error.code
  • string

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

error.details

请求中发送的无效字段列表(如果出现验证错误)。

error.message
  • string

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

HttpCorrelationProtocol

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

Name Type Description
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 消息诊断设置。

Name Type Description
body

正文日志记录设置。

dataMasking

数据掩码设置。

headers
  • string[]

要记录的 HTTP 标头数组。

OperationNameFormat

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

Name Type Description
Name
  • string

API_NAME;rev=API_REVISION - OPERATION_NAME

Url
  • string

HTTP_VERB URL

PipelineDiagnosticSettings

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

Name Type Description
request

请求的诊断设置。

response

响应的诊断设置。

SamplingSettings

诊断的采样设置。

Name Type Description
percentage
  • number

固定速率采样的采样率。

samplingType

采样类型。

SamplingType

采样类型。

Name Type Description
fixed
  • string

固定速率采样。

Verbosity

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

Name Type Description
error
  • string

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

information
  • string

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

verbose
  • string

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