Diagnostic - Create Or Update

Crea una nuova diagnostica o aggiorna una esistente.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
diagnosticId
path True

string

Identificatore di diagnostica. Deve essere univoco nell'istanza corrente del servizio Gestione API.

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

resourceGroupName
path True

string

Nome del gruppo di risorse. Per il nome non viene fatta distinzione tra maiuscole e minuscole.

serviceName
path True

string

Nome del servizio Gestione API.

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

subscriptionId
path True

string

ID della sottoscrizione di destinazione.

api-version
query True

string

Versione dell'API da usare per questa operazione.

Intestazione della richiesta

Nome Necessario Tipo Descrizione
If-Match

string

ETag dell'entità. Non richiesto durante la creazione di un'entità, ma necessario quando si aggiorna un'entità.

Corpo della richiesta

Nome Necessario Tipo Descrizione
properties.loggerId True

string

ID risorsa di un logger di destinazione.

properties.alwaysLog

AlwaysLog

Specifica il tipo di impostazioni di campionamento dei messaggi che non devono essere applicate.

properties.backend

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel back-end

properties.frontend

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Imposta il protocollo di correlazione da usare per la diagnostica di Application Insights.

properties.logClientIp

boolean

Registrare clientIP. L'impostazione predefinita è false.

properties.metrics

boolean

Generare metriche personalizzate tramite criteri di metrica di emissione. Applicabile solo alle impostazioni di diagnostica di Application Insights.

properties.operationNameFormat

OperationNameFormat

Formato dei dati di telemetri di Operation Name per Application Insights. Il valore predefinito è Name.

properties.sampling

SamplingSettings

Impostazioni di campionamento per Diagnostica.

properties.verbosity

Verbosity

Livello di verbosità applicato alle tracce generate dai criteri di traccia.

Risposte

Nome Tipo Descrizione
200 OK

DiagnosticContract

Diagnostica aggiornata correttamente

Headers

ETag: string

201 Created

DiagnosticContract

La diagnostica è stata creata correttamente.

Headers

ETag: string

Other Status Codes

ErrorResponse

Risposta di errore che descrive perché l'operazione non è riuscita.

Sicurezza

azure_auth

Flusso OAuth2 di Azure Active Directory.

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

Scopes

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

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

Definizioni

Nome Descrizione
AlwaysLog

Specifica il tipo di impostazioni di campionamento dei messaggi che non devono essere applicate.

BodyDiagnosticSettings

Impostazioni di registrazione del corpo.

DataMasking
DataMaskingEntity
DataMaskingMode

Modalità maschera dati.

DiagnosticContract

Dettagli di diagnostica.

ErrorFieldContract

Contratto campo errore.

ErrorResponse

Risposta errore.

HttpCorrelationProtocol

Imposta il protocollo di correlazione da usare per la diagnostica di Application Insights.

HttpMessageDiagnostic

Impostazioni di diagnostica dei messaggi Http.

OperationNameFormat

Formato dei dati di telemetri di Operation Name per Application Insights. Il valore predefinito è Name.

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel gateway.

SamplingSettings

Impostazioni di campionamento per Diagnostica.

SamplingType

Tipo di campionamento.

Verbosity

Livello di verbosità applicato alle tracce generate dai criteri di traccia.

AlwaysLog

Specifica il tipo di impostazioni di campionamento dei messaggi che non devono essere applicate.

Nome Tipo Descrizione
allErrors

string

Registra sempre tutte le richieste non corrette indipendentemente dalle impostazioni di campionamento.

BodyDiagnosticSettings

Impostazioni di registrazione del corpo.

Nome Tipo Descrizione
bytes

integer

Numero di byte del corpo della richiesta da registrare.

DataMasking

Nome Tipo Descrizione
headers

DataMaskingEntity[]

Impostazioni di maschera per le intestazioni

queryParams

DataMaskingEntity[]

Mascherare le impostazioni per i parametri di query url

DataMaskingEntity

Nome Tipo Descrizione
mode

DataMaskingMode

Modalità maschera dati.

value

string

Nome di un'entità da mascherare, ad esempio un nome di un'intestazione o di un parametro di query.

DataMaskingMode

Modalità maschera dati.

Nome Tipo Descrizione
Hide

string

Nascondere la presenza di un'entità.

Mask

string

Mascherare il valore di un'entità.

DiagnosticContract

Dettagli di diagnostica.

Nome Tipo Descrizione
id

string

ID di risorsa completo per la risorsa. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

nome della risorsa.

properties.alwaysLog

AlwaysLog

Specifica il tipo di impostazioni di campionamento dei messaggi che non devono essere applicate.

properties.backend

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel back-end

properties.frontend

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel gateway.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Imposta il protocollo di correlazione da usare per la diagnostica di Application Insights.

properties.logClientIp

boolean

Registrare clientIP. L'impostazione predefinita è false.

properties.loggerId

string

ID risorsa di un logger di destinazione.

properties.metrics

boolean

Generare metriche personalizzate tramite criteri di metrica di emissione. Applicabile solo alle impostazioni di diagnostica di Application Insights.

properties.operationNameFormat

OperationNameFormat

Formato dei dati di telemetri di Operation Name per Application Insights. Il valore predefinito è Name.

properties.sampling

SamplingSettings

Impostazioni di campionamento per Diagnostica.

properties.verbosity

Verbosity

Livello di verbosità applicato alle tracce generate dai criteri di traccia.

type

string

Tipo di risorsa. Ad esempio, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"

ErrorFieldContract

Contratto campo errore.

Nome Tipo Descrizione
code

string

Codice di errore a livello di proprietà.

message

string

Rappresentazione leggibile dell'errore a livello di proprietà.

target

string

Nome della proprietà.

ErrorResponse

Risposta errore.

Nome Tipo Descrizione
error.code

string

Codice di errore definito dal servizio. Questo codice svolge la funzione di stato secondario per il codice di errore HTTP specificato nella risposta.

error.details

ErrorFieldContract[]

Elenco di campi non validi inviati nella richiesta, in caso di errore di convalida.

error.message

string

Rappresentazione leggibile dell'errore.

HttpCorrelationProtocol

Imposta il protocollo di correlazione da usare per la diagnostica di Application Insights.

Nome Tipo Descrizione
Legacy

string

Inserire Request-Id e intestazioni di Request-Context con i dati di correlazione delle richieste. Vedere https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

None

string

Non leggere e inserire intestazioni di correlazione.

W3C

string

Inserire intestazioni di contesto di traccia. Vedere https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Impostazioni di diagnostica dei messaggi Http.

Nome Tipo Descrizione
body

BodyDiagnosticSettings

Impostazioni di registrazione del corpo.

dataMasking

DataMasking

Impostazioni di maschera dei dati.

headers

string[]

Matrice di intestazioni HTTP da registrare.

OperationNameFormat

Formato dei dati di telemetri di Operation Name per Application Insights. Il valore predefinito è Name.

Nome Tipo Descrizione
Name

string

API_NAME; rev=API_REVISION - OPERATION_NAME

Url

string

HTTP_VERB URL

PipelineDiagnosticSettings

Impostazioni di diagnostica per i messaggi HTTP in ingresso/in uscita nel gateway.

Nome Tipo Descrizione
request

HttpMessageDiagnostic

Impostazioni di diagnostica per la richiesta.

response

HttpMessageDiagnostic

Impostazioni di diagnostica per la risposta.

SamplingSettings

Impostazioni di campionamento per Diagnostica.

Nome Tipo Descrizione
percentage

number

Frequenza di campionamento per il campionamento a frequenza fissa.

samplingType

SamplingType

Tipo di campionamento.

SamplingType

Tipo di campionamento.

Nome Tipo Descrizione
fixed

string

Campionamento a frequenza fissa.

Verbosity

Livello di verbosità applicato alle tracce generate dai criteri di traccia.

Nome Tipo Descrizione
error

string

Solo le tracce con 'gravità' impostate su 'error' verranno inviate al logger collegato a questa istanza di diagnostica.

information

string

Le tracce con 'gravità' impostate su 'information' e 'error' verranno inviate al logger collegato a questa istanza di diagnostica.

verbose

string

Tutte le tracce generate dai criteri di traccia verranno inviate al logger collegato a questa istanza di diagnostica.