Puedes crear y editar políticas de forma local con tu IDE o editor de texto o adaptado al XML favorito.
En este tema, se usa el tipo de política de cuotas como ejemplo de cómo crear, configurar, adjuntar, implementar y probar políticas.
La mayoría de los proxies de API aplican una cuota. Las cuotas controlan la frecuencia con la que una app cliente puede invocar una API durante un intervalo de tiempo determinado. En el ejemplo siguiente, se configura una política de cuota para limitar las apps a 1 solicitud por minuto. (Si bien es posible que no sea realista, proporciona una forma simple de ver los efectos de una política).
En una configuración de proxy de API, los archivos de política se almacenan como archivos en formato XML en el directorio /apiproxy/policies.
Por ejemplo, una política de tipo Cuota llamada política de cuota se puede crear como un archivo llamado QuotaPolicy.xml con el siguiente contenido:
Puedes crear un archivo de texto a mano o generar la política a partir de un esquema XML. Todas las políticas tienen algunas opciones de configuración que son específicas del tipo de política y otras que son genéricas en todas las políticas.
Cuando adjuntas políticas en la IU de administración, el compilador de proxy de API genera la instancia de política desde el esquema XML para el tipo de política que seleccionaste. Por lo tanto, es posible que veas elementos en la configuración de la política que, para mayor claridad, no siempre se incluyen en la documentación.
Todas las políticas definen los siguientes atributos:
enabled: indica si la política está activada o desactivada. Las políticas se pueden habilitar o inhabilitar en el entorno de ejecución si cambias esta configuración. No se aplica una política que tiene enabled configurado como false.
continueOnError: define si la canalización debe continuar procesando el mensaje si la política falla. Cuando se aplican políticas de cuota, los errores indican que se superó la cuota y, por lo tanto, este atributo se debe configurar como falso.
name: es el nombre que le asignaste a esta política. Este nombre es exclusivo de esta instancia de política y se usa para adjuntar la política al flujo como un paso de procesamiento.
En el ejemplo anterior, los elementos Allow, Interval y TimeUnit son específicos de la política de cuotas. Estos elementos proporcionan una configuración que los servicios de API aplican en nombre de una API. Otros tipos de políticas definen su propia configuración, sobre la que puedes obtener información en la Referencia de políticas.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThis guide focuses on creating, configuring, attaching, deploying, and testing policies within Apigee and Apigee hybrid environments.\u003c/p\u003e\n"],["\u003cp\u003ePolicies, exemplified here by the Quota policy, are stored as XML files in the \u003ccode\u003e/apiproxy/policies\u003c/code\u003e directory within an API proxy configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe Quota policy type allows control over API invocation frequency, as illustrated by an example that limits apps to one request per minute.\u003c/p\u003e\n"],["\u003cp\u003eAll policies, including the Quota policy, have attributes such as \u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003econtinueOnError\u003c/code\u003e, and \u003ccode\u003ename\u003c/code\u003e, which define their behavior and status.\u003c/p\u003e\n"],["\u003cp\u003ePolicy-specific elements like \u003ccode\u003eAllow\u003c/code\u003e, \u003ccode\u003eInterval\u003c/code\u003e, and \u003ccode\u003eTimeUnit\u003c/code\u003e in the Quota policy example provide settings for enforcing API limits.\u003c/p\u003e\n"]]],[],null,["# Attaching and configuring policies in XML files\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\n\n*View [Apigee Edge](https://docs.apigee.com/api-platform/get-started/what-apigee-edge) documentation.*\n\nYou can create and edit policies locally, using your favorite text or XML-aware editor or IDE.\nThis topic uses the Quota policy type as an example of how to create, configure, attach, deploy,\nand test policies.\n\nMost API proxies enforce a quota. Quotas provide control over how often a client app is\npermitted to invoke an API over a given time interval. In the example below, a Quota policy is\nconfigured to limit apps to 1 request per minute. (While this may not be realistic, it does\nprovide a simple way to see the effects of a policy.)\n\nIn an API proxy configuration, Policy files are stored as XML files under\n`/apiproxy/policies` directory.\n\nFor example, a policy of type Quota called Quota Policy could be created as a file called\n`QuotaPolicy.xml` with the following content: \n\n```text\n\u003cQuota enabled=\"true\" continueOnError=\"false\" name=\"QuotaPolicy\"\u003e\n \u003cAllow count=\"1\"/\u003e\n \u003cInterval\u003e1\u003c/Interval\u003e\n \u003cTimeUnit\u003eminute\u003c/TimeUnit\u003e\n\u003c/Quota\u003e\n```\n\nYou can create a text file by hand, or you can generate the policy from an XML schema. All\npolicies have some settings that are specific to the policy type, and some settings that are\ngeneric across all policies. \nWhen you attach policies in the management UI, the API proxy builder generates the policy instance from the XML schema for the policy type you selected. Therefore, you may see elements in the policy configuration that, for clarity, are not always included in documentation.\n\nAll policies define the following attributes:\n\n- `enabled`: Indicates whether the policy is turned *on* or *off* . Policies can be enabled/disabled at runtime by changing this setting. A policy that has `enabled` set to `false` is not enforced.\n- `continueOnError`: Defines whether the pipeline should continue processing the message if the policy fails. When enforcing quota policies, errors likely indicate that the quota has been exceeded, and, therefore, this attribute should be set to false.\n- `name`: The name that you give to this policy. This name is unique to this policy instance, and it is used to attach the policy to the flow as a processing step.\n\n| **Note:** Except for `name`, you rarely need to modify the default settings for these policy attributes. For this reason, and for clarity, they are often excluded from the policy samples in the documentation.\n\nIn the example above, the elements `Allow`, `Interval`, and\n`TimeUnit` are specific to the Quota policy. These elements provide settings that API\nServices enforces on behalf of an API. Other policy types define their own settings, which you\ncan learn about in the [Policy Reference](/apigee/docs/api-platform/reference/policies/reference-overview-policy)."]]