Diagnostic - Create Or Update

Создает новую диагностику или обновляет существующую.

PUT 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.

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

Идентификатор целевой подписки.

api-version
query True

string

Версия API, используемая для данной операции.

Заголовок запроса

Имя Обязательно Тип Описание
If-Match

string

ETag сущности. Не требуется при создании сущности, но требуется при обновлении сущности.

Текст запроса

Имя Обязательно Тип Описание
properties.loggerId True

string

Идентификатор ресурса целевого средства ведения журнала.

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. Значение по умолчанию — Name.

properties.sampling

SamplingSettings

Параметры выборки для диагностики.

properties.verbosity

Verbosity

Уровень детализации, применяемый к трассировкам, создаваемым политиками трассировки.

Ответы

Имя Тип Описание
200 OK

DiagnosticContract

Диагностика успешно обновлена

Headers

ETag: string

201 Created

DiagnosticContract

Диагностика успешно создана.

Headers

ETag: string

Other Status Codes

ErrorResponse

Ответ об ошибке, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 в Azure Active Directory.

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

Scopes

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

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

Определения

Имя Описание
AlwaysLog

Указывает, к какому типу параметров выборки сообщений не следует применять.

BodyDiagnosticSettings

Параметры ведения журнала текста.

DataMasking
DataMaskingEntity
DataMaskingMode

Режим маскирования данных.

DiagnosticContract

Сведения о диагностике.

ErrorFieldContract

Контракт поля ошибки.

ErrorResponse

Ответ об ошибке.

HttpCorrelationProtocol

Задает протокол корреляции, используемый для диагностика Application Insights.

HttpMessageDiagnostic

Параметры диагностики http-сообщений.

OperationNameFormat

Формат имени операции для телеметрии Application Insights. Значение по умолчанию — Name.

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

Полный идентификатор ресурса. Например: /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

Идентификатор ресурса целевого средства ведения журнала.

properties.metrics

boolean

Создание пользовательских метрик с помощью политики отправки метрик. Применимо только к параметрам диагностики Application Insights.

properties.operationNameFormat

OperationNameFormat

Формат имени операции для телеметрии Application Insights. Значение по умолчанию — Name.

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.

Имя Тип Описание
Name

string

API_NAME; rev=API_REVISION — OPERATION_NAME

Url

string

URL-адрес HTTP_VERB

PipelineDiagnosticSettings

Параметры диагностики входящих и исходящих HTTP-сообщений в шлюз.

Имя Тип Описание
request

HttpMessageDiagnostic

Параметры диагностики для запроса.

response

HttpMessageDiagnostic

Параметры диагностики для ответа.

SamplingSettings

Параметры выборки для диагностики.

Имя Тип Описание
percentage

number

Частота выборки для выборки с фиксированной частотой.

samplingType

SamplingType

Тип выборки.

SamplingType

Тип выборки.

Имя Тип Описание
fixed

string

Выборка с фиксированной частотой.

Verbosity

Уровень детализации, применяемый к трассировкам, создаваемым политиками трассировки.

Имя Тип Описание
error

string

В средство ведения журнала, подключенное к этому экземпляру диагностики, будут отправляться только трассировки с уровнем серьезности , равным error.

information

string

Трассировки с "серьезностью" со значением "information" и "error" будут отправляться в средство ведения журнала, подключенное к этому экземпляру диагностики.

verbose

string

Все трассировки, созданные политиками трассировки, будут отправляться в средство ведения журнала, подключенное к этому экземпляру диагностики.