Reutilización de configuraciones de directiva en las definiciones de directiva de API Management

En este artículo se muestra cómo crear y usar fragmentos de directiva en las definiciones de directiva de API Management. Los fragmentos de directiva se administran de forma centralizada y los fragmentos XML reutilizables que contienen una o varias configuraciones de directiva de API Management.

Los fragmentos de directivas le ayudan a configurar directivas de forma coherente y mantener las definiciones de directiva sin necesidad de repetir o volver a escribir código XML.

Un fragmento de directiva:

  • Debe ser UN XML válido que contenga una o varias configuraciones de directiva
  • Puede incluir expresiones de directiva, si una directiva a la que se hace referencia las admite
  • Se inserta tal y como está en una definición de directiva mediante la directiva include-fragment

Limitaciones:

  • Un fragmento de directiva no puede incluir un identificador de sección de directiva (<inbound>, <outbound>, etc.) o el <base/> elemento.
  • Actualmente, un fragmento de directiva no puede anidar otro fragmento de directiva.
  • El tamaño máximo de un fragmento de directiva es de 32 KB.

Requisitos previos

Si aún no tiene una instancia de API Management y una API de back-end, consulte:

Aunque no es necesario, es posible que desee configurar una o varias definiciones de directiva. Puede copiar elementos de directiva de estas definiciones al crear fragmentos de directiva.

Vaya a la instancia de API Management.

  1. En Azure Portal, busque y seleccione Servicios de API Management.

    Select API Management services

  2. En la página de servicios API Management, seleccione la instancia de API Management.

    Select your API Management instance

Crear un fragmento de directiva

  1. En el panel de navegación izquierdo de la instancia de API Management, en API, seleccione Fragmentos de> directiva+ Crear.

  2. En la ventana Crear un nuevo fragmento de directiva, escriba un nombre y una descripción opcional del fragmento de directiva. El nombre debe ser único dentro de la instancia de API Management.

    Nombre de ejemplo: ForwardContext

  3. En el editor de fragmentos de directivas XML, escriba o pegue uno o varios elementos XML de directiva entre las etiquetas <fragment> y </fragment>.

    Screenshot showing the create a new policy fragment form.

    Por ejemplo, el fragmento siguiente contiene una set-header configuración de directiva para reenviar información de contexto a un servicio back-end. Este fragmento se incluiría en una sección de directiva de entrada. Las expresiones de directiva de este ejemplo tienen acceso a la contextvariable integrada.

    <fragment>
        <set-header name="x-request-context-data" exists-action="override">
          <value>@(context.User.Id)</value>
          <value>@(context.Deployment.Region)</value>
        </set-header>
    </fragment>
    
  4. Seleccione Crear. El fragmento se agrega a la lista de fragmentos de directiva.

Incluir un fragmento en una definición de directiva

Configure la include-fragment directiva para insertar un fragmento de directiva en una definición de directiva. Para obtener más información sobre la definiciones de directivas, consulte Establecimiento o edición de directivas.

  • Puede incluir un fragmento en cualquier ámbito y en cualquier sección de directiva, siempre que la directiva o las directivas subyacentes del fragmento admitan ese uso.
  • Puede incluir varios fragmentos de directiva en una definición de directiva.

Por ejemplo, inserte el fragmento de directiva denominado ForwardContext en la sección directiva de entrada:

<policies>
    <inbound>
        <include-fragment fragment-id="ForwardContext" />
        <base />
    </inbound>
[...]

Sugerencia

Para ver el contenido de un fragmento incluido que se muestra en la definición de directiva, seleccione Calcular directiva efectiva en el editor de directivas.

Administración de fragmentos de directiva

Después de crear un fragmento de directiva, puede ver y actualizar las propiedades de un fragmento de directiva o eliminar el fragmento de directiva en cualquier momento.

Para ver propiedades de un fragmento de directiva:

  1. En el panel de navegación izquierdo de la instancia de API Management, en API, seleccione Fragmentos de. Seleccione el nombre del fragmento.
  2. En la página Información general, revise las referencias del documento directiva para ver las definiciones de directiva que incluyen el fragmento.
  3. En la página Propiedades, revise el nombre y la descripción del fragmento de directiva. Este nombre no se podrá modificar.

Para editar un fragmento de directiva:

  1. En el panel de navegación izquierdo de la instancia de API Management, en API, seleccione Fragmentos de. Seleccione el nombre del fragmento.
  2. Seleccione elEditor de directivas.
  3. Actualice las instrucciones en el fragmento y, a continuación, seleccione Aplicar.

Nota

La actualización afecta a todas las definiciones de directiva en las que se incluye el fragmento.

Para eliminar un fragmento de directiva:

  1. En el panel de navegación izquierdo de la instancia de API Management, en API, seleccione Fragmentos de. Seleccione el nombre del fragmento.
  2. Revise las referencias del documento de directiva para las definiciones de directiva que incluyen el fragmento. Para poder eliminar un fragmento, debe quitar las referencias de fragmento de todas las definiciones de directiva.
  3. Una vez quitadas todas las referencias, seleccione Eliminar.

Para más información sobre el trabajo con directivas, vea: