다음을 통해 공유


Diagnostic - Create Or Update

새 진단을 만들거나 기존 진단을 업데이트합니다.

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

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
diagnosticId
path True

string

minLength: 1
maxLength: 80
pattern: ^[^*#&+:<>?]+$

진단 식별자입니다. 현재 API Management 서비스 인스턴스에서 고유해야 합니다.

resourceGroupName
path True

string

리소스 그룹의 이름입니다.

serviceName
path True

string

minLength: 1
maxLength: 50
pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

API Management 서비스의 이름입니다.

subscriptionId
path True

string

Microsoft Azure 구독을 고유하게 식별하는 구독 자격 증명입니다. 구독 ID는 모든 서비스 호출에 대한 URI의 일부를 형성합니다.

api-version
query True

string

클라이언트 요청과 함께 사용할 API의 버전입니다.

요청 헤더

Name 필수 형식 Description
If-Match

string

엔터티의 ETag입니다. 엔터티를 만들 때는 필요하지 않지만 엔터티를 업데이트할 때 필요합니다.

요청 본문

Name 필수 형식 Description
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 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다.

properties.sampling

SamplingSettings

진단에 대한 샘플링 설정입니다.

properties.verbosity

Verbosity

추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다.

응답

Name 형식 Description
200 OK

DiagnosticContract

진단이 성공적으로 업데이트됨

헤더

ETag: string

201 Created

DiagnosticContract

진단이 성공적으로 생성되었습니다.

헤더

ETag: string

Other Status Codes

ErrorResponse

작업이 실패한 이유를 설명하는 오류 응답입니다.

보안

azure_auth

Azure Active Directory OAuth2 Flow.

형식: oauth2
Flow: implicit
권한 부여 URL: https://login.microsoftonline.com/common/oauth2/authorize

범위

Name Description
user_impersonation 사용자 계정 가장

예제

ApiManagementCreateDiagnostic

샘플 요청

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights?api-version=2021-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
        }
      }
    }
  }
}

샘플 응답

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

정의

Name Description
AlwaysLog

적용할 메시지 샘플링 설정 유형을 지정합니다.

BodyDiagnosticSettings

본문 로깅 설정입니다.

DataMasking
DataMaskingEntity
DataMaskingMode

데이터 마스킹 모드입니다.

DiagnosticContract

진단 세부 정보입니다.

ErrorFieldContract

오류 필드 계약입니다.

ErrorResponse

오류 응답입니다.

HttpCorrelationProtocol

Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다.

HttpMessageDiagnostic

Http 메시지 진단 설정입니다.

OperationNameFormat

Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다.

PipelineDiagnosticSettings

게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다.

SamplingSettings

진단에 대한 샘플링 설정입니다.

SamplingType

샘플링 유형입니다.

Verbosity

추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다.

AlwaysLog

적용할 메시지 샘플링 설정 유형을 지정합니다.

Description
allErrors

샘플링 설정에 관계없이 항상 모든 잘못된 요청을 기록합니다.

BodyDiagnosticSettings

본문 로깅 설정입니다.

Name 형식 Description
bytes

integer (int32)

maximum: 8192

기록할 요청 본문 바이트 수입니다.

DataMasking

Name 형식 Description
headers

DataMaskingEntity[]

헤더에 대한 마스킹 설정

queryParams

DataMaskingEntity[]

Url 쿼리 매개 변수에 대한 마스킹 설정

DataMaskingEntity

Name 형식 Description
mode

DataMaskingMode

데이터 마스킹 모드입니다.

value

string

마스킹할 엔터티의 이름(예: 헤더 또는 쿼리 매개 변수의 이름)입니다.

DataMaskingMode

데이터 마스킹 모드입니다.

Description
Hide

엔터티의 존재를 숨깁니다.

Mask

엔터티 값을 마스킹합니다.

DiagnosticContract

진단 세부 정보입니다.

Name 형식 Description
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 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다.

properties.sampling

SamplingSettings

진단에 대한 샘플링 설정입니다.

properties.verbosity

Verbosity

추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다.

type

string

리소스의 형식입니다. 예: "Microsoft.Compute/virtualMachines" 또는 "Microsoft.Storage/storageAccounts"

ErrorFieldContract

오류 필드 계약입니다.

Name 형식 Description
code

string

속성 수준 오류 코드입니다.

message

string

사람이 읽을 수 있는 속성 수준 오류 표현입니다.

target

string

속성 이름입니다.

ErrorResponse

오류 응답입니다.

Name 형식 Description
error.code

string

서비스 정의 오류 코드입니다. 이 코드는 응답에 지정된 HTTP 오류 코드의 하위 상태로 사용됩니다.

error.details

ErrorFieldContract[]

유효성 검사 오류가 발생한 경우 요청에 잘못된 필드 보내기 목록입니다.

error.message

string

사람이 읽을 수 있는 오류 표현입니다.

HttpCorrelationProtocol

Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다.

Description
Legacy

요청 상관 관계 데이터를 사용하여 Request-Id 및 Request-Context 헤더를 삽입합니다. https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md참조하세요.

None

상관 관계 헤더를 읽고 삽입하지 마세요.

W3C

추적 컨텍스트 헤더를 삽입합니다. https://w3c.github.io/trace-context참조하세요.

HttpMessageDiagnostic

Http 메시지 진단 설정입니다.

Name 형식 Description
body

BodyDiagnosticSettings

본문 로깅 설정입니다.

dataMasking

DataMasking

데이터 마스킹 설정입니다.

headers

string[]

기록할 HTTP 헤더의 배열입니다.

OperationNameFormat

Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다.

Description
Name

API_NAME; rev=API_REVISION - OPERATION_NAME

Url

HTTP_VERB URL

PipelineDiagnosticSettings

게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다.

Name 형식 Description
request

HttpMessageDiagnostic

요청에 대한 진단 설정입니다.

response

HttpMessageDiagnostic

응답에 대한 진단 설정입니다.

SamplingSettings

진단에 대한 샘플링 설정입니다.

Name 형식 Description
percentage

number (double)

minimum: 0
maximum: 100

고정 비율 샘플링에 대한 샘플링 비율입니다.

samplingType

SamplingType

샘플링 유형입니다.

SamplingType

샘플링 유형입니다.

Description
fixed

고정 비율 샘플링.

Verbosity

추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다.

Description
error

'심각도'가 'error'로 설정된 추적만 이 진단 인스턴스에 연결된 로거로 전송됩니다.

information

'심각도'가 'information' 및 'error'로 설정된 추적은 이 진단 인스턴스에 연결된 로거로 전송됩니다.

verbose

추적 정책에서 내보낸 모든 추적은 이 진단 인스턴스에 연결된 로거로 전송됩니다.