Partager via


Diagnostic - Create Or Update

Crée un diagnostic ou met à jour un diagnostic existant.

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

Paramètres URI

Nom Dans Obligatoire Type Description
diagnosticId
path True

string

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

Identificateur de diagnostic. Doit être unique dans l’instance actuelle du service Gestion des API.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

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

serviceName
path True

string

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

Nom du service Gestion des API.

subscriptionId
path True

string (uuid)

ID de l’abonnement cible. La valeur doit être un UUID.

api-version
query True

string

minLength: 1

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

Journaliser Le ClientIP. La valeur par défaut est false.

properties.metrics

boolean

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

properties.operationNameFormat

OperationNameFormat

Format du nom de l’opération pour les télémétries 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 trace.

Réponses

Nom Type Description
200 OK

DiagnosticContract

Diagnostic correctement mis à jour

En-têtes

ETag: string

201 Created

DiagnosticContract

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

En-têtes

ETag: string

Other Status Codes

ErrorResponse

Réponse d’erreur décrivant pourquoi l’opération a échoué.

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory.

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

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

Exemples

ApiManagementCreateDiagnostic

Exemple de requête

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

Exemple de réponse

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

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 de masquage des données.

DiagnosticContract

Détails du diagnostic.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

ErrorDetail

Détail de l’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émétries 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 trace.

AlwaysLog

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

Valeur Description
allErrors

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 (int32)

maximum: 8192

Nombre d’octets du corps de la demande à consigner.

DataMasking

Nom Type Description
headers

DataMaskingEntity[]

Paramètres de masquage des en-têtes

queryParams

DataMaskingEntity[]

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

DataMaskingEntity

Nom Type Description
mode

DataMaskingMode

Mode de masquage des données.

value

string

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

DataMaskingMode

Mode de masquage des données.

Valeur Description
Mask

Masquez la valeur d’une entité.

Hide

Masquez la présence 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

Journaliser 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 d’émission de métriques. Applicable uniquement aux paramètres de diagnostic Application Insights.

properties.operationNameFormat

OperationNameFormat

Format du nom de l’opération pour les télémétries 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 trace.

type

string

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

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

Nom Type Description
info

object

Informations supplémentaires.

type

string

Type d’informations supplémentaire.

ErrorDetail

Détail de l’erreur.

Nom Type Description
additionalInfo

ErrorAdditionalInfo[]

Informations supplémentaires sur l’erreur.

code

string

Code d’erreur.

details

ErrorDetail[]

Détails de l’erreur.

message

string

Message d’erreur.

target

string

Cible d’erreur.

ErrorResponse

Réponse d’erreur

Nom Type Description
error

ErrorDetail

Objet d’erreur.

HttpCorrelationProtocol

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

Valeur Description
None

Ne lisez pas et injectez des en-têtes de corrélation.

Legacy

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

W3C

Injecter des en-têtes de contexte de trace. Voir 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émétries Application Insights. La valeur par défaut est Name.

Valeur Description
Name

API_NAME ; rev=API_REVISION - OPERATION_NAME

Url

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 (double)

minimum: 0
maximum: 100

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

samplingType

SamplingType

Type d’échantillonnage.

SamplingType

Type d’échantillonnage.

Valeur Description
fixed

Échantillonnage à taux fixe.

Verbosity

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

Valeur Description
verbose

Toutes les traces émises par les stratégies de trace sont envoyées à l’enregistreur d’événements attaché à cette instance de diagnostic.

information

Les traces avec la valeur « gravité » définie sur « information » et « error » sont envoyées à l’enregistreur d’événements attaché à cette instance de diagnostic.

error

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