Sdílet prostřednictvím


Diagnostic - Create Or Update

Vytvoří novou diagnostiku nebo aktualizuje existující.

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

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
diagnosticId
path True

string

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

Identifikátor diagnostiky. V aktuální instanci služby API Management musí být jedinečné.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

Název skupiny prostředků. Název nerozlišuje malá a velká písmena.

serviceName
path True

string

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

Název služby API Management.

subscriptionId
path True

string (uuid)

ID cílového předplatného. Hodnota musí být UUID.

api-version
query True

string

minLength: 1

Verze rozhraní API, která se má použít pro tuto operaci.

Hlavička požadavku

Name Vyžadováno Typ Description
If-Match

string

ETag of the Entity. Při vytváření entity se nevyžaduje, ale vyžaduje se při aktualizaci entity.

Text požadavku

Name Vyžadováno Typ Description
properties.loggerId True

string

ID prostředku cílového protokolovacího nástroje

properties.alwaysLog

AlwaysLog

Určuje, jaký typ nastavení vzorkování zpráv se nemá použít.

properties.backend

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP do back-endu

properties.frontend

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP pro bránu

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Nastaví protokol korelace, který se použije pro diagnostiku Application Insights.

properties.logClientIp

boolean

Protokolujte clientIP. Výchozí hodnota je false.

properties.metrics

boolean

Generování vlastních metrik prostřednictvím zásad metrik generování Platí jenom pro nastavení diagnostiky Application Insights.

properties.operationNameFormat

OperationNameFormat

Formát názvu operace pro telemetrie Application Insights Výchozí hodnota je Název.

properties.sampling

SamplingSettings

Nastavení vzorkování pro diagnostiku

properties.verbosity

Verbosity

Úroveň podrobností použitá pro trasování vygenerované zásadami trasování.

Odpovědi

Name Typ Description
200 OK

DiagnosticContract

Diagnostika byla úspěšně aktualizována.

Hlavičky

ETag: string

201 Created

DiagnosticContract

Diagnostika byla úspěšně vytvořena.

Hlavičky

ETag: string

Other Status Codes

ErrorResponse

Chybová odpověď popisující, proč operace selhala.

Zabezpečení

azure_auth

Tok OAuth2 v Azure Active Directory

Typ: oauth2
Tok: implicit
URL autorizace: https://login.microsoftonline.com/common/oauth2/authorize

Rozsahy

Name Description
user_impersonation zosobnění uživatelského účtu

Příklady

ApiManagementCreateDiagnostic

Ukázkový požadavek

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

Ukázková odpověď

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

Definice

Name Description
AlwaysLog

Určuje, jaký typ nastavení vzorkování zpráv se nemá použít.

BodyDiagnosticSettings

Nastavení protokolování textu.

DataMasking
DataMaskingEntity
DataMaskingMode

Režim maskování dat

DiagnosticContract

Podrobnosti diagnostiky

ErrorAdditionalInfo

Další informace o chybě správy prostředků

ErrorDetail

Podrobnosti o chybě.

ErrorResponse

Chybová odpověď

HttpCorrelationProtocol

Nastaví protokol korelace, který se použije pro diagnostiku Application Insights.

HttpMessageDiagnostic

Nastavení diagnostiky zpráv HTTP

OperationNameFormat

Formát názvu operace pro telemetrie Application Insights Výchozí hodnota je Název.

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP pro bránu

SamplingSettings

Nastavení vzorkování pro diagnostiku

SamplingType

Typ vzorkování

Verbosity

Úroveň podrobností použitá pro trasování vygenerované zásadami trasování.

AlwaysLog

Určuje, jaký typ nastavení vzorkování zpráv se nemá použít.

Hodnota Description
allErrors

Vždy protokolujte všechny chybné požadavky bez ohledu na nastavení vzorkování.

BodyDiagnosticSettings

Nastavení protokolování textu.

Name Typ Description
bytes

integer (int32)

maximum: 8192

Počet bajtů textu požadavku, které se mají protokolovat.

DataMasking

Name Typ Description
headers

DataMaskingEntity[]

Nastavení maskování pro záhlaví

queryParams

DataMaskingEntity[]

Nastavení maskování pro parametry dotazu adresy URL

DataMaskingEntity

Name Typ Description
mode

DataMaskingMode

Režim maskování dat

value

string

Název entity, která se má maskovat (např. název hlavičky nebo parametru dotazu).

DataMaskingMode

Režim maskování dat

Hodnota Description
Mask

Maskuje hodnotu entity.

Hide

Skrytí přítomnosti entity

DiagnosticContract

Podrobnosti diagnostiky

Name Typ Description
id

string

Plně kvalifikované ID prostředku pro prostředek. Příklad : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Název prostředku

properties.alwaysLog

AlwaysLog

Určuje, jaký typ nastavení vzorkování zpráv se nemá použít.

properties.backend

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP do back-endu

properties.frontend

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP pro bránu

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Nastaví protokol korelace, který se použije pro diagnostiku Application Insights.

properties.logClientIp

boolean

Protokolujte clientIP. Výchozí hodnota je false.

properties.loggerId

string

ID prostředku cílového protokolovacího nástroje

properties.metrics

boolean

Generování vlastních metrik prostřednictvím zásad metrik generování Platí jenom pro nastavení diagnostiky Application Insights.

properties.operationNameFormat

OperationNameFormat

Formát názvu operace pro telemetrie Application Insights Výchozí hodnota je Název.

properties.sampling

SamplingSettings

Nastavení vzorkování pro diagnostiku

properties.verbosity

Verbosity

Úroveň podrobností použitá pro trasování vygenerované zásadami trasování.

type

string

Typ prostředku. Například Microsoft.Compute/virtualMachines nebo Microsoft.Storage/storageAccounts

ErrorAdditionalInfo

Další informace o chybě správy prostředků

Name Typ Description
info

object

Další informace.

type

string

Další typ informací.

ErrorDetail

Podrobnosti o chybě.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Další informace o chybě.

code

string

Kód chyby.

details

ErrorDetail[]

Podrobnosti o chybě.

message

string

Chybová zpráva.

target

string

Cíl chyby.

ErrorResponse

Chybová odpověď

Name Typ Description
error

ErrorDetail

Objekt chyby.

HttpCorrelationProtocol

Nastaví protokol korelace, který se použije pro diagnostiku Application Insights.

Hodnota Description
None

Nečtěte a nevklikujte hlavičky korelace.

Legacy

Vloží hlavičky Request-Id a Request-Context s daty korelace požadavků. Viz https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

W3C

Vloží hlavičky kontextu trasování. Viz https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Nastavení diagnostiky zpráv HTTP

Name Typ Description
body

BodyDiagnosticSettings

Nastavení protokolování textu.

dataMasking

DataMasking

Nastavení maskování dat

headers

string[]

Pole hlaviček HTTP, které se mají protokolovat.

OperationNameFormat

Formát názvu operace pro telemetrie Application Insights Výchozí hodnota je Název.

Hodnota Description
Name

API_NAME; rev=API_REVISION – OPERATION_NAME

Url

HTTP_VERB URL

PipelineDiagnosticSettings

Nastavení diagnostiky příchozích a odchozích zpráv HTTP pro bránu

Name Typ Description
request

HttpMessageDiagnostic

Nastavení diagnostiky pro požadavek

response

HttpMessageDiagnostic

Nastavení diagnostiky pro odpověď

SamplingSettings

Nastavení vzorkování pro diagnostiku

Name Typ Description
percentage

number (double)

minimum: 0
maximum: 100

Míra vzorkování pro vzorkování s pevnou rychlostí

samplingType

SamplingType

Typ vzorkování

SamplingType

Typ vzorkování

Hodnota Description
fixed

Vzorkování s pevnou rychlostí

Verbosity

Úroveň podrobností použitá pro trasování vygenerované zásadami trasování.

Hodnota Description
verbose

Všechny trasování generované zásadami trasování budou odeslány protokolovacímu nástroji připojenému k této diagnostické instanci.

information

Trasování se závažností nastavenou na informace a chyba se odešle do protokolovacího nástroje připojeného k této diagnostické instanci.

error

Do protokolovacího nástroje připojeného k této diagnostické instanci se odešlou pouze trasování se závažností nastavenou na "error".