Crea o actualiza un registrador
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}?api-version=2022-08-01
Parámetros de identificador URI
Nombre |
En |
Requerido |
Tipo |
Description |
loggerId
|
path |
True
|
string
|
Identificador del registrador. Debe ser único en la instancia de servicio API Management.
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
Nombre del grupo de recursos. El nombre distingue mayúsculas de minúsculas.
|
serviceName
|
path |
True
|
string
|
Nombre del servicio API Management.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
Identificador de la suscripción de destino.
|
api-version
|
query |
True
|
string
|
Versión de API que se usará para la operación.
|
Nombre |
Requerido |
Tipo |
Description |
If-Match
|
|
string
|
ETag de la entidad. No es necesario al crear una entidad, pero es necesario al actualizar una entidad.
|
Cuerpo de la solicitud
Nombre |
Requerido |
Tipo |
Description |
properties.loggerType
|
True
|
LoggerType
|
Tipo de registrador.
|
properties.credentials
|
|
object
|
El nombre y sendRule cadena de conexión del centro de eventos para el registrador azureEventHub.
Clave de instrumentación para el registrador applicationInsights.
|
properties.description
|
|
string
|
Descripción del registrador.
|
properties.isBuffered
|
|
boolean
|
Si los registros se almacenan en búfer en el registrador antes de publicarlos. Se supone que el valor predeterminado es true.
|
properties.resourceId
|
|
string
|
Identificador de recurso de Azure de un destino de registro (recurso de Azure Event Hubs o Aplicación de Azure recurso de Insights).
|
Respuestas
Nombre |
Tipo |
Description |
200 OK
|
LoggerContract
|
El registrador existente se actualizó correctamente.
Headers
ETag: string
|
201 Created
|
LoggerContract
|
El registrador se creó correctamente.
Headers
ETag: string
|
Other Status Codes
|
ErrorResponse
|
Respuesta de error que describe el motivo del error de la operación.
|
Seguridad
azure_auth
Flujo de OAuth2 de Azure Active Directory.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nombre |
Description |
user_impersonation
|
suplantación de su cuenta de usuario
|
Ejemplos
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
}
}
Definiciones
ErrorFieldContract
Contrato de campo de error.
Nombre |
Tipo |
Description |
code
|
string
|
Código de error de nivel de propiedad.
|
message
|
string
|
Representación legible del error de nivel de propiedad.
|
target
|
string
|
Nombre de propiedad.
|
ErrorResponse
Respuesta de error.
Nombre |
Tipo |
Description |
error.code
|
string
|
Código del error definido por el servicio. Este código funciona como estado secundario del código de error HTTP especificado en la respuesta.
|
error.details
|
ErrorFieldContract[]
|
La lista de campos no válidos que se envían en la solicitud, en caso de error de validación.
|
error.message
|
string
|
Representación legible del error.
|
LoggerContract
Detalles del registrador.
Nombre |
Tipo |
Description |
id
|
string
|
Identificador de recurso completo del recurso. Por ejemplo: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Nombre del recurso.
|
properties.credentials
|
object
|
El nombre y sendRule cadena de conexión del centro de eventos para el registrador azureEventHub.
Clave de instrumentación para el registrador applicationInsights.
|
properties.description
|
string
|
Descripción del registrador.
|
properties.isBuffered
|
boolean
|
Si los registros se almacenan en búfer en el registrador antes de publicarlos. Se supone que el valor predeterminado es true.
|
properties.loggerType
|
LoggerType
|
Tipo de registrador.
|
properties.resourceId
|
string
|
Identificador de recurso de Azure de un destino de registro (recurso de Azure Event Hubs o Aplicación de Azure recurso de Insights).
|
type
|
string
|
Tipo de recurso. Por ejemplo, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"
|
LoggerType
Tipo de registrador.
Nombre |
Tipo |
Description |
applicationInsights
|
string
|
Aplicación de Azure Insights como destino del registro.
|
azureEventHub
|
string
|
Centro de eventos de Azure como destino del registro.
|
azureMonitor
|
string
|
Azure Monitor
|