Diagnostic - Create Or Update

Membuat Diagnostik baru atau memperbarui yang sudah ada.

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

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
diagnosticId
path True

string

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

Pengidentifikasi diagnostik. Harus unik dalam instans layanan API Management saat ini.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

Nama grup sumber daya. Nama ini tidak peka huruf besar/kecil.

serviceName
path True

string

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

Nama layanan API Management.

subscriptionId
path True

string (uuid)

ID langganan target. Nilainya harus UUID.

api-version
query True

string

minLength: 1

Versi API yang akan digunakan untuk operasi ini.

Header Permintaan

Nama Diperlukan Jenis Deskripsi
If-Match

string

ETag Entitas. Tidak diperlukan saat membuat entitas, tetapi diperlukan saat memperbarui entitas.

Isi Permintaan

Nama Diperlukan Jenis Deskripsi
properties.loggerId True

string

Id Sumber Daya pencatat target.

properties.alwaysLog

AlwaysLog

Menentukan jenis pengaturan pengambilan sampel pesan apa yang tidak boleh diterapkan.

properties.backend

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Backend

properties.frontend

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Mengatur protokol korelasi yang akan digunakan untuk diagnostik Application Insights.

properties.logClientIp

boolean

Catat ClientIP. Defaultnya adalah false.

properties.metrics

boolean

Keluarkan metrik kustom melalui kebijakan emit-metric. Hanya berlaku untuk pengaturan diagnostik Application Insights.

properties.operationNameFormat

OperationNameFormat

Format telemetri Nama Operasi untuk Application Insights. Defaultnya adalah Nama.

properties.sampling

SamplingSettings

Pengaturan pengambilan sampel untuk Diagnostik.

properties.verbosity

Verbosity

Tingkat verbositas diterapkan pada jejak yang dipancarkan oleh kebijakan pelacakan.

Respons

Nama Jenis Deskripsi
200 OK

DiagnosticContract

Diagnostik berhasil diperbarui

Header

ETag: string

201 Created

DiagnosticContract

Diagnostik berhasil dibuat.

Header

ETag: string

Other Status Codes

ErrorResponse

Respons kesalahan yang menjelaskan mengapa operasi gagal.

Keamanan

azure_auth

Alur OAuth2 Azure Active Directory.

Jenis: oauth2
Alur: implicit
URL Otorisasi: https://login.microsoftonline.com/common/oauth2/authorize

Cakupan

Nama Deskripsi
user_impersonation meniru akun pengguna Anda

Contoh

ApiManagementCreateDiagnostic

Permintaan sampel

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

Respon sampel

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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
        }
      }
    }
  }
}

Definisi

Nama Deskripsi
AlwaysLog

Menentukan jenis pengaturan pengambilan sampel pesan apa yang tidak boleh diterapkan.

BodyDiagnosticSettings

Pengaturan pengelogan isi.

DataMasking
DataMaskingEntity
DataMaskingMode

Mode masking data.

DiagnosticContract

Detail diagnostik.

ErrorAdditionalInfo

Info tambahan kesalahan manajemen sumber daya.

ErrorDetail

Detail kesalahan.

ErrorResponse

Respons kesalahan

HttpCorrelationProtocol

Mengatur protokol korelasi yang akan digunakan untuk diagnostik Application Insights.

HttpMessageDiagnostic

Pengaturan diagnostik pesan http.

OperationNameFormat

Format telemetri Nama Operasi untuk Application Insights. Defaultnya adalah Nama.

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Gateway.

SamplingSettings

Pengaturan pengambilan sampel untuk Diagnostik.

SamplingType

Jenis pengambilan sampel.

Verbosity

Tingkat verbositas diterapkan pada jejak yang dipancarkan oleh kebijakan pelacakan.

AlwaysLog

Menentukan jenis pengaturan pengambilan sampel pesan apa yang tidak boleh diterapkan.

Nilai Deskripsi
allErrors

Selalu catat semua permintaan yang salah terlepas dari pengaturan pengambilan sampel.

BodyDiagnosticSettings

Pengaturan pengelogan isi.

Nama Jenis Deskripsi
bytes

integer (int32)

maximum: 8192

Jumlah byte isi permintaan untuk dicatat.

DataMasking

Nama Jenis Deskripsi
headers

DataMaskingEntity[]

Pengaturan masking untuk header

queryParams

DataMaskingEntity[]

Pengaturan masking untuk parameter kueri Url

DataMaskingEntity

Nama Jenis Deskripsi
mode

DataMaskingMode

Mode masking data.

value

string

Nama entitas yang akan ditutupi (misalnya nama header atau parameter kueri).

DataMaskingMode

Mode masking data.

Nilai Deskripsi
Mask

Menutupi nilai entitas.

Hide

Sembunyikan keberadaan entitas.

DiagnosticContract

Detail diagnostik.

Nama Jenis Deskripsi
id

string

ID sumber daya yang sepenuhnya memenuhi syarat untuk sumber daya. Misalnya - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Nama sumber daya

properties.alwaysLog

AlwaysLog

Menentukan jenis pengaturan pengambilan sampel pesan apa yang tidak boleh diterapkan.

properties.backend

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Backend

properties.frontend

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Mengatur protokol korelasi yang akan digunakan untuk diagnostik Application Insights.

properties.logClientIp

boolean

Catat ClientIP. Defaultnya adalah false.

properties.loggerId

string

Id Sumber Daya pencatat target.

properties.metrics

boolean

Keluarkan metrik kustom melalui kebijakan emit-metric. Hanya berlaku untuk pengaturan diagnostik Application Insights.

properties.operationNameFormat

OperationNameFormat

Format telemetri Nama Operasi untuk Application Insights. Defaultnya adalah Nama.

properties.sampling

SamplingSettings

Pengaturan pengambilan sampel untuk Diagnostik.

properties.verbosity

Verbosity

Tingkat verbositas diterapkan pada jejak yang dipancarkan oleh kebijakan pelacakan.

type

string

Jenis sumber daya. Misalnya, "Microsoft.Compute/virtualMachines" atau "Microsoft.Storage/storageAccounts"

ErrorAdditionalInfo

Info tambahan kesalahan manajemen sumber daya.

Nama Jenis Deskripsi
info

object

Info tambahan.

type

string

Jenis info tambahan.

ErrorDetail

Detail kesalahan.

Nama Jenis Deskripsi
additionalInfo

ErrorAdditionalInfo[]

Info tambahan kesalahan.

code

string

Kode kesalahan.

details

ErrorDetail[]

Detail kesalahan.

message

string

Pesan kesalahan.

target

string

Target kesalahan.

ErrorResponse

Respons kesalahan

Nama Jenis Deskripsi
error

ErrorDetail

Objek kesalahan.

HttpCorrelationProtocol

Mengatur protokol korelasi yang akan digunakan untuk diagnostik Application Insights.

Nilai Deskripsi
None

Jangan membaca dan menyuntikkan header korelasi.

Legacy

Masukkan header Request-Id dan Request-Context dengan data korelasi permintaan. Lihat https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

W3C

Suntik header Konteks Pelacakan. Lihat https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Pengaturan diagnostik pesan http.

Nama Jenis Deskripsi
body

BodyDiagnosticSettings

Pengaturan pengelogan isi.

dataMasking

DataMasking

Pengaturan masking data.

headers

string[]

Array Header HTTP untuk dicatat.

OperationNameFormat

Format telemetri Nama Operasi untuk Application Insights. Defaultnya adalah Nama.

Nilai Deskripsi
Name

API_NAME; rev=API_REVISION - OPERATION_NAME

Url

HTTP_VERB URL

PipelineDiagnosticSettings

Pengaturan diagnostik untuk pesan HTTP masuk/keluar ke Gateway.

Nama Jenis Deskripsi
request

HttpMessageDiagnostic

Pengaturan diagnostik untuk permintaan.

response

HttpMessageDiagnostic

Pengaturan diagnostik untuk respons.

SamplingSettings

Pengaturan pengambilan sampel untuk Diagnostik.

Nama Jenis Deskripsi
percentage

number (double)

minimum: 0
maximum: 100

Tingkat pengambilan sampel untuk pengambilan sampel laju tetap.

samplingType

SamplingType

Jenis pengambilan sampel.

SamplingType

Jenis pengambilan sampel.

Nilai Deskripsi
fixed

Pengambilan sampel laju tetap.

Verbosity

Tingkat verbositas diterapkan pada jejak yang dipancarkan oleh kebijakan pelacakan.

Nilai Deskripsi
verbose

Semua jejak yang dipancarkan oleh kebijakan pelacakan akan dikirim ke pencatat yang dilampirkan ke instans diagnostik ini.

information

Jejak dengan 'tingkat keparahan' yang diatur ke 'informasi' dan 'kesalahan' akan dikirim ke pencatat yang dilampirkan ke instans diagnostik ini.

error

Hanya jejak dengan 'tingkat keparahan' yang diatur ke 'kesalahan' yang akan dikirim ke pencatat yang dilampirkan ke instans diagnostik ini.