Crée ou met à jour un enregistreur.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}?api-version=2022-08-01
Paramètres URI
Nom |
Dans |
Obligatoire |
Type |
Description |
loggerId
|
path |
True
|
string
|
Identificateur de l’enregistreur d’événements. Doit être unique dans le instance de service Gestion des API.
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.
|
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.loggerType
|
True
|
LoggerType
|
Type d’enregistreur d’événements.
|
properties.credentials
|
|
object
|
Le nom et l’chaîne de connexion SendRule du hub d’événements pour l’enregistreur d’événements azureEventHub.
Clé d’instrumentation pour l’enregistreur d’événements applicationInsights.
|
properties.description
|
|
string
|
Description de l’enregistreur d’événements.
|
properties.isBuffered
|
|
boolean
|
Indique si les enregistrements sont mis en mémoire tampon dans l’enregistreur d’événements avant la publication. La valeur par défaut est supposée être true.
|
properties.resourceId
|
|
string
|
ID de ressource Azure d’une cible de journal (ressource Azure Event Hub ou ressource Azure Application Insights).
|
Réponses
Nom |
Type |
Description |
200 OK
|
LoggerContract
|
L’enregistreur d’événements existant a été correctement mis à jour.
Headers
ETag: string
|
201 Created
|
LoggerContract
|
L’enregistreur d’événements 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
ApiManagementCreateAILogger
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId?api-version=2022-08-01
{
"properties": {
"loggerType": "applicationInsights",
"description": "adding a new logger",
"credentials": {
"instrumentationKey": "11................a1"
}
}
}
import com.azure.resourcemanager.apimanagement.models.LoggerType;
import java.util.HashMap;
import java.util.Map;
/** Samples for Logger CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAILogger.json
*/
/**
* Sample code: ApiManagementCreateAILogger.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateAILogger(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.loggers()
.define("loggerId")
.withExistingService("rg1", "apimService1")
.withLoggerType(LoggerType.APPLICATION_INSIGHTS)
.withDescription("adding a new logger")
.withCredentials(mapOf("instrumentationKey", "fakeTokenPlaceholder"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_ai_logger.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.logger.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
logger_id="loggerId",
parameters={
"properties": {
"credentials": {"instrumentationKey": "11................a1"},
"description": "adding a new logger",
"loggerType": "applicationInsights",
}
},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAILogger.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAILogger.json
func ExampleLoggerClient_CreateOrUpdate_apiManagementCreateAiLogger() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewLoggerClient().CreateOrUpdate(ctx, "rg1", "apimService1", "loggerId", armapimanagement.LoggerContract{
Properties: &armapimanagement.LoggerContractProperties{
Description: to.Ptr("adding a new logger"),
Credentials: map[string]*string{
"instrumentationKey": to.Ptr("11................a1"),
},
LoggerType: to.Ptr(armapimanagement.LoggerTypeApplicationInsights),
},
}, &armapimanagement.LoggerClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoggerContract = armapimanagement.LoggerContract{
// Name: to.Ptr("loggerId"),
// Type: to.Ptr("Microsoft.ApiManagement/service/loggers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId"),
// Properties: &armapimanagement.LoggerContractProperties{
// Credentials: map[string]*string{
// "instrumentationKey": to.Ptr("{{5a.......2a}}"),
// },
// IsBuffered: to.Ptr(false),
// LoggerType: to.Ptr(armapimanagement.LoggerTypeApplicationInsights),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or Updates a logger.
*
* @summary Creates or Updates a logger.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAILogger.json
*/
async function apiManagementCreateAiLogger() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const loggerId = "loggerId";
const parameters = {
description: "adding a new logger",
credentials: { instrumentationKey: "11................a1" },
loggerType: "applicationInsights",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.logger.createOrUpdate(
resourceGroupName,
serviceName,
loggerId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
"type": "Microsoft.ApiManagement/service/loggers",
"name": "loggerId",
"properties": {
"loggerType": "applicationInsights",
"description": null,
"credentials": {
"instrumentationKey": "{{5a.......2a}}"
},
"isBuffered": false,
"resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/microsoft.insights/components/airesource"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
"type": "Microsoft.ApiManagement/service/loggers",
"name": "loggerId",
"properties": {
"loggerType": "applicationInsights",
"description": null,
"credentials": {
"instrumentationKey": "{{5a.......2a}}"
},
"isBuffered": false
}
}
ApiManagementCreateEHLogger
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1?api-version=2022-08-01
{
"properties": {
"loggerType": "azureEventHub",
"description": "adding a new logger",
"credentials": {
"name": "hydraeventhub",
"connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="
}
}
}
import com.azure.resourcemanager.apimanagement.models.LoggerType;
import java.util.HashMap;
import java.util.Map;
/** Samples for Logger CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateEHLogger.json
*/
/**
* Sample code: ApiManagementCreateEHLogger.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateEHLogger(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.loggers()
.define("eh1")
.withExistingService("rg1", "apimService1")
.withLoggerType(LoggerType.AZURE_EVENT_HUB)
.withDescription("adding a new logger")
.withCredentials(
mapOf(
"name",
"hydraeventhub",
"connectionString",
"Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_eh_logger.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.logger.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
logger_id="eh1",
parameters={
"properties": {
"credentials": {
"connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********=",
"name": "hydraeventhub",
},
"description": "adding a new logger",
"loggerType": "azureEventHub",
}
},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateEHLogger.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateEHLogger.json
func ExampleLoggerClient_CreateOrUpdate_apiManagementCreateEhLogger() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewLoggerClient().CreateOrUpdate(ctx, "rg1", "apimService1", "eh1", armapimanagement.LoggerContract{
Properties: &armapimanagement.LoggerContractProperties{
Description: to.Ptr("adding a new logger"),
Credentials: map[string]*string{
"name": to.Ptr("hydraeventhub"),
"connectionString": to.Ptr("Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="),
},
LoggerType: to.Ptr(armapimanagement.LoggerTypeAzureEventHub),
},
}, &armapimanagement.LoggerClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoggerContract = armapimanagement.LoggerContract{
// Name: to.Ptr("eh1"),
// Type: to.Ptr("Microsoft.ApiManagement/service/loggers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1"),
// Properties: &armapimanagement.LoggerContractProperties{
// Description: to.Ptr("adding a new logger"),
// Credentials: map[string]*string{
// "connectionString": to.Ptr("{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"),
// },
// IsBuffered: to.Ptr(true),
// LoggerType: to.Ptr(armapimanagement.LoggerTypeAzureEventHub),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or Updates a logger.
*
* @summary Creates or Updates a logger.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateEHLogger.json
*/
async function apiManagementCreateEhLogger() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const loggerId = "eh1";
const parameters = {
description: "adding a new logger",
credentials: {
name: "hydraeventhub",
connectionString:
"Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********=",
},
loggerType: "azureEventHub",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.logger.createOrUpdate(
resourceGroupName,
serviceName,
loggerId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
"type": "Microsoft.ApiManagement/service/loggers",
"name": "eh1",
"properties": {
"loggerType": "azureEventHub",
"description": "adding a new logger",
"credentials": {
"connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
},
"isBuffered": true
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
"type": "Microsoft.ApiManagement/service/loggers",
"name": "eh1",
"properties": {
"loggerType": "azureEventHub",
"description": "adding a new logger",
"credentials": {
"connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
},
"isBuffered": true
}
}
Définitions
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.
|
LoggerContract
Détails de l’enregistreur d’événements.
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.credentials
|
object
|
Le nom et l’chaîne de connexion SendRule du hub d’événements pour l’enregistreur d’événements azureEventHub.
Clé d’instrumentation pour l’enregistreur d’événements applicationInsights.
|
properties.description
|
string
|
Description de l’enregistreur d’événements.
|
properties.isBuffered
|
boolean
|
Indique si les enregistrements sont mis en mémoire tampon dans l’enregistreur d’événements avant la publication. La valeur par défaut est supposée être true.
|
properties.loggerType
|
LoggerType
|
Type d’enregistreur d’événements.
|
properties.resourceId
|
string
|
ID de ressource Azure d’une cible de journal (ressource Azure Event Hub ou ressource Azure Application Insights).
|
type
|
string
|
Type de la ressource. Par exemple, « Microsoft.Compute/virtualMachines » ou « Microsoft.Storage/storageAccounts »
|
LoggerType
Type d’enregistreur d’événements.
Nom |
Type |
Description |
applicationInsights
|
string
|
Azure Application Insights comme destination du journal.
|
azureEventHub
|
string
|
Azure Event Hub comme destination de journal.
|
azureMonitor
|
string
|
Azure Monitor
|