Diagnostic - Create Or Update

Crée un diagnostic ou met à jour celui qui existe.

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

Paramètres URI

Nom Dans Obligatoire Type Description
diagnosticId
path True

string

Identificateur de diagnostic. Doit être unique dans le instance de service Gestion des API actuel.

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

resourceGroupName
path True

string

Nom du groupe de ressources. Le nom ne respecte pas la casse.

serviceName
path True

string

Nom du service Gestion des API.

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

subscriptionId
path True

string

ID de l’abonnement cible.

api-version
query True

string

Version de l’API à utiliser pour cette opération.

En-tête de la demande

Nom Obligatoire Type Description
If-Match

string

ETag de l’entité. Non obligatoire lors de la création d’une entité, mais obligatoire lors de la mise à jour d’une entité.

Corps de la demande

Nom Obligatoire Type Description
properties.loggerId True

string

ID de ressource d’un enregistreur d’événements cible.

properties.alwaysLog

AlwaysLog

Spécifie le type de paramètres d’échantillonnage des messages qui ne doivent pas s’appliquer.

properties.backend

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers le serveur principal

properties.frontend

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers la passerelle.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Définit le protocole de corrélation à utiliser pour les diagnostics Application Insights.

properties.logClientIp

boolean

Consignez le ClientIP. La valeur par défaut est false.

properties.metrics

boolean

Émettre des métriques personnalisées via une stratégie de métrique d’émission. Applicable uniquement aux paramètres de diagnostic Application Insights.

properties.operationNameFormat

OperationNameFormat

Format du nom de l’opération pour les télémetries Application Insights. La valeur par défaut est Name.

properties.sampling

SamplingSettings

Paramètres d’échantillonnage pour diagnostic.

properties.verbosity

Verbosity

Niveau de détail appliqué aux traces émises par les stratégies de suivi.

Réponses

Nom Type Description
200 OK

DiagnosticContract

Diagnostic correctement mis à jour

Headers

ETag: string

201 Created

DiagnosticContract

Le diagnostic a été créé avec succès.

Headers

ETag: string

Other Status Codes

ErrorResponse

Réponse d’erreur décrivant la raison de l’échec de l’opération.

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory.

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

Scopes

Nom Description
user_impersonation Emprunter l’identité de votre compte d’utilisateur

Exemples

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

Définitions

Nom Description
AlwaysLog

Spécifie le type de paramètres d’échantillonnage des messages qui ne doivent pas s’appliquer.

BodyDiagnosticSettings

Paramètres de journalisation du corps.

DataMasking
DataMaskingEntity
DataMaskingMode

Mode masquage des données.

DiagnosticContract

Détails du diagnostic.

ErrorFieldContract

Contrat champ d’erreur.

ErrorResponse

Réponse d’erreur.

HttpCorrelationProtocol

Définit le protocole de corrélation à utiliser pour les diagnostics Application Insights.

HttpMessageDiagnostic

Paramètres de diagnostic des messages Http.

OperationNameFormat

Format du nom de l’opération pour les télémetries Application Insights. La valeur par défaut est Name.

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers la passerelle.

SamplingSettings

Paramètres d’échantillonnage pour diagnostic.

SamplingType

Type d’échantillonnage.

Verbosity

Niveau de détail appliqué aux traces émises par les stratégies de suivi.

AlwaysLog

Spécifie le type de paramètres d’échantillonnage des messages qui ne doivent pas s’appliquer.

Nom Type Description
allErrors

string

Consignez toujours toutes les demandes erronées, quels que soient les paramètres d’échantillonnage.

BodyDiagnosticSettings

Paramètres de journalisation du corps.

Nom Type Description
bytes

integer

Nombre d’octets du corps de la requête à consigner.

DataMasking

Nom Type Description
headers

DataMaskingEntity[]

Paramètres de masquage des en-têtes

queryParams

DataMaskingEntity[]

Paramètres de masquage pour les paramètres de requête d’URL

DataMaskingEntity

Nom Type Description
mode

DataMaskingMode

Mode masquage des données.

value

string

Nom d’une entité à masquer (par exemple, le nom d’un en-tête ou d’un paramètre de requête).

DataMaskingMode

Mode masquage des données.

Nom Type Description
Hide

string

Masquer la présence d’une entité.

Mask

string

Masquez la valeur d’une entité.

DiagnosticContract

Détails du diagnostic.

Nom Type Description
id

string

ID de ressource complet pour la ressource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

nom de la ressource.

properties.alwaysLog

AlwaysLog

Spécifie le type de paramètres d’échantillonnage des messages qui ne doivent pas s’appliquer.

properties.backend

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers le serveur principal

properties.frontend

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers la passerelle.

properties.httpCorrelationProtocol

HttpCorrelationProtocol

Définit le protocole de corrélation à utiliser pour les diagnostics Application Insights.

properties.logClientIp

boolean

Consignez le ClientIP. La valeur par défaut est false.

properties.loggerId

string

ID de ressource d’un enregistreur d’événements cible.

properties.metrics

boolean

Émettre des métriques personnalisées via une stratégie de métrique d’émission. Applicable uniquement aux paramètres de diagnostic Application Insights.

properties.operationNameFormat

OperationNameFormat

Format du nom de l’opération pour les télémetries Application Insights. La valeur par défaut est Name.

properties.sampling

SamplingSettings

Paramètres d’échantillonnage pour diagnostic.

properties.verbosity

Verbosity

Niveau de détail appliqué aux traces émises par les stratégies de suivi.

type

string

Type de la ressource. Par exemple, « Microsoft.Compute/virtualMachines » ou « Microsoft.Storage/storageAccounts »

ErrorFieldContract

Contrat champ d’erreur.

Nom Type Description
code

string

Code d'erreur de niveau propriété.

message

string

Représentation lisible par l’homme de l’erreur au niveau de la propriété.

target

string

Nom de propriété.

ErrorResponse

Réponse d’erreur.

Nom Type Description
error.code

string

Code d'erreur défini par le service. Ce code sert de sous-état pour le code d'erreur HTTP spécifié dans la réponse.

error.details

ErrorFieldContract[]

Liste des champs non valides envoyés dans la demande, en cas d’erreur de validation.

error.message

string

Représentation contrôlable de visu de l’erreur.

HttpCorrelationProtocol

Définit le protocole de corrélation à utiliser pour les diagnostics Application Insights.

Nom Type Description
Legacy

string

Injectez des en-têtes Request-Id et Request-Context avec des données de corrélation de requête. Consultez https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md.

None

string

Ne lisez pas et n’injectez pas d’en-têtes de corrélation.

W3C

string

Injecter des en-têtes de contexte de trace. Consultez https://w3c.github.io/trace-context.

HttpMessageDiagnostic

Paramètres de diagnostic des messages Http.

Nom Type Description
body

BodyDiagnosticSettings

Paramètres de journalisation du corps.

dataMasking

DataMasking

Paramètres de masquage des données.

headers

string[]

Tableau d’en-têtes HTTP à journaliser.

OperationNameFormat

Format du nom de l’opération pour les télémetries Application Insights. La valeur par défaut est Name.

Nom Type Description
Name

string

API_NAME ; rev=API_REVISION - OPERATION_NAME

Url

string

HTTP_VERB URL

PipelineDiagnosticSettings

Paramètres de diagnostic pour les messages HTTP entrants/sortants vers la passerelle.

Nom Type Description
request

HttpMessageDiagnostic

Paramètres de diagnostic pour la demande.

response

HttpMessageDiagnostic

Paramètres de diagnostic pour la réponse.

SamplingSettings

Paramètres d’échantillonnage pour diagnostic.

Nom Type Description
percentage

number

Taux d’échantillonnage pour l’échantillonnage à taux fixe.

samplingType

SamplingType

Type d’échantillonnage.

SamplingType

Type d’échantillonnage.

Nom Type Description
fixed

string

Échantillonnage à taux fixe.

Verbosity

Niveau de détail appliqué aux traces émises par les stratégies de suivi.

Nom Type Description
error

string

Seules les traces dont la valeur « gravité » est définie sur « error » sont envoyées à l’enregistreur d’événements attaché à cette instance de diagnostic.

information

string

Les traces dont la valeur « severity » est définie sur « information » et « error » sont envoyées à l’enregistreur d’événements associé à ce instance de diagnostic.

verbose

string

Toutes les traces émises par les stratégies de suivi seront envoyées au journal attaché à ce instance de diagnostic.