es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo purgar el punto de conexión de Front Door Standard/Premium (Vista previa) usando código

En la suscripción (nombre: test-subscription) en el grupo de recursos (nombre: test-resource-group), creé un perfil de Front Door Standard/Premium (Preview) (nombre: test-front-door-profile) con el punto de conexión test-front-door-profile-endpoint.z01.azurefd.net y agregué un nuevo punto de enlace (nombre del punto de enlace: test-endpoint.z01.azurefd.net).

Por ejemplo: Creé una solicitud: https://test-endpoint.z01.azurefd.net/test/pictures/abcdefghi.jpeg`. ¿Cómo puedo purgartest-endpoint.z01.azurefd.net/test/pictures/*` utilizando código?

Intenté con este código y diferentes variantes de contentPaths

using Microsoft.Azure.Management.FrontDoor;
using Microsoft.Azure.Management.FrontDoor.Models;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.Rest;
...

public async Task PurgeContentAsync()
{
    var authContext = new AuthenticationContext(Authority);
    var credential = new ClientCredential(ClientId, ClientSecret);
    var authResult = await authContext.AcquireTokenAsync(_resource, credential);

    var frontDoor = new FrontDoorManagementClient(new TokenCredentials(authResult.AccessToken)) { SubscriptionId = _subscriptionId };

    var contentPaths = new List<string> { "/test-endpoint.z01.azurefd.net/test/pictures/*" };
    var contentFilePaths = new PurgeParameters(contentPaths);

    await frontDoor.Endpoints.BeginPurgeContentAsync("test-resource-group", "test-front-door-profile", contentFilePaths);
}

pero siempre obtengo una excepción:
La excepción Microsoft.Azure.Management.FrontDoor.Models.ErrorResponseException no se pudo controlar en el servicio y no se pudo serializar para su transferencia al cliente.
Información detallada de la excepción remota: Microsoft.Azure.Management.FrontDoor.Models.ErrorResponseException: La operación devolvió un código de estado no válido ‘NotFound’
“`
Intenté con la librería Microsoft.Azure.Management.Cdn pero sigo obteniendo la misma excepción.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para purgar test-endpoint.z01.azurefd.net/test/pictures/* utilizando código, puedes usar el siguiente fragmento de código:

    using Microsoft.Azure.Management.FrontDoor;
    using Microsoft.Azure.Management.FrontDoor.Models;
    using Microsoft.IdentityModel.Clients.ActiveDirectory;
    using Microsoft.Rest;
    
    ...
    
    public async Task PurgeContentAsync()
    {
        var authContext = new AuthenticationContext(Authority);
        var credential = new ClientCredential(ClientId, ClientSecret);
        var authResult = await authContext.AcquireTokenAsync(_resource, credential);
    
        var frontDoor = new FrontDoorManagementClient(new TokenCredentials(authResult.AccessToken)) { SubscriptionId = _subscriptionId };
    
        var contentPaths = new List<string> { "/test/pictures/*" };
        var parameters = new PurgeParameters(contentPaths);
    
        await frontDoor.Endpoints.BeginPurgeContentAsync("test-resource-group", "test-front-door-profile", parameters, "test-endpoint.z01.azurefd.net");
    }
    

    En este código, hemos creado una instancia de FrontDoorManagementClient utilizando el token de autenticación adquirido de Azure AD. Luego, creamos una lista de contentPaths a purgar y creamos un objeto PurgeParameters con la lista de contentPaths. Finalmente, llamamos al método BeginPurgeContentAsync de la propiedad Endpoints de FrontDoorManagementClient con el nombre del grupo de recursos, el nombre del perfil de Front Door, el objeto PurgeParameters y el nombre del punto de conexión. El nombre del punto de conexión es necesario en caso de que tengas varios puntos de conexión en tu perfil de Front Door. Este código debería purgar todos los elementos en la ruta ‘/test/pictures/’ de la caché del punto de conexión especificado.

Comments are closed.