Política ResetQuota

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

ícono de política

Qué

Se usa para modificar de forma dinámica la cantidad restante de solicitudes que permite la política Quota de destino. En general, se usa esta política para disminuir la cantidad de cuotas actual de la política Quota de destino en lugar de esperar a que se restablezca la cantidad de cuota.

Por ejemplo, la política Quota de destino limita a un desarrollador a 1,000 solicitudes por semana. En el segundo día de la semana, el desarrollador ya alcanzó este límite. Usa la política Reset Quota a fin de restar 500 solicitudes del contador de cuotas, para permitir 500 solicitudes adicionales durante el resto de la semana. Al final de la semana, se restablece la política Quota y el desarrollador vuelve a tener 1,000 solicitudes para la semana.

Esta política es una política extensible, y el uso de esta política puede tener implicaciones de costo o uso, según tu licencia de Apigee. Para obtener información sobre los tipos de políticas y sus implicaciones de uso, consulta Tipos de políticas.

Consulta la Política Quota para obtener más información sobre esa política. Consulta también esta publicación de la comunidad sobre cómo usar la política Reset Quota.

Ejemplos

En estas muestras de código de políticas, se ilustra cómo restablecer los contadores de cuota:

Restablece un contador predeterminado

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

La política Reset Quota especifica la política Quota de destino con el atributo name de la etiqueta <Quota>. En el ejemplo anterior, la política MyQuotaPolicy es el destino.

Todas las políticas Reset Quota requieren la etiqueta <Identifier> para especificar el recuento en la política Quota que se actualizará. Según la configuración predeterminada, una política Quota tiene un solo contador, a menos que la política también incluya la etiqueta <Identifier>. En este ejemplo, la política Quota de destino no usa la etiqueta <Identifier>, por lo que debes especificar el atributo name como _default.

El elemento <Allow> especifica el valor que se usa para disminuir la cantidad de cuotas actual en la política de destino. En este ejemplo, la cantidad de cuotas disminuye en 100, a fin de permitir 100 solicitudes más para la política Quota de destino. Cuando se restablece la política Quota de destino, este cambio se descarta.

A continuación, se muestra la definición de la política Quota de destino:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Usa una referencia

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

En este ejemplo, pasas el nombre de la política Quota de destino y el cambio en el recuento de cuotas como encabezados en la solicitud. Luego, puedes hacer referencia a las variables de flujo que contienen estos valores en la política Reset Quota.

Especifica el identificador

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Si la política Quota de destino especifica la etiqueta <Identifier>, puedes especificar el mismo valor en la etiqueta <Identifier> de la política Reset Quota para actualizar un recuento de cuotas específico. Observa cómo la etiqueta <Identifier> de la política Quota de destino que se muestra a continuación coincide con el valor especificado en la política Reset Quota:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/>
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Referencia del elemento

La referencia del elemento describe los elementos y atributos de la política Reset Quota.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Atributos de <ResetQuota>

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">

En la siguiente tabla, se describen los atributos que son comunes a todos los elementos principales de las políticas:

Atributo Descripción Predeterminado Presencia
name

El nombre interno de la política. El valor del atributo name puede contener letras, números, espacios, guiones, guiones bajos y puntos. Este valor no puede superar los 255 caracteres.

De forma opcional, usa el elemento <DisplayName> para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

N/A Obligatorio
continueOnError

Configúralo como false para mostrar un error cuando una política falla. Este es el comportamiento previsto para la mayoría de las políticas.

Configúralo como true para continuar con la ejecución del flujo incluso después de que una política falle. También consulta lo siguiente:

falso Opcional
enabled

Configúralo como true para aplicar la política.

Configúralo como false para desactivar la política. La política no se aplicará incluso si permanece adjunta a un flujo.

true Opcional
async

Este atributo dejó de estar disponible.

falso Obsoleta

Elemento <DisplayName>

Se usan además del atributo name para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

<DisplayName>Policy Display Name</DisplayName>
Predeterminada

N/A

Si omites este elemento, se usa el valor del atributo name de la política.

Presencia Opcional
Tipo String

Elemento <Quota>

Identifica la política Quota de destino cuyo contador se debe actualizar.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Predeterminado: N/A
Presencia: Obligatorio
Tipo: N/A

Atributos

Atributo Descripción Predeterminado Presencia
name

Especifica el nombre de la política Quota de destino.

N/A Opcional
ref Una variable de flujo que contiene el nombre de la política Quota de destino. Si se especifican ref y name, entonces, ref tiene prioridad. Si ref no se resuelve en el entorno de ejecución, se usa name. N/A Opcional

Elemento <Quota>/<Identifier>

Es una variable que se usa para identificar de forma única el contador si la política Quota de destino especifica la etiqueta <Identifier>.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Predeterminado: N/A
Presencia: Obligatorio
Tipo: String

Atributos

Atributo Descripción Predeterminado Presencia
name

Especifica el nombre del identificador de recuento en la política Quota de destino. Para una política Quota que no use la etiqueta <Identifier>, especifica _default.

N/A Opcional
ref

Una variable de flujo que contiene el nombre del identificador de recuento en la política Quota de destino. Si se especifican ref y name, entonces, ref tiene prioridad. Si ref no se resuelve en el entorno de ejecución, se usa name.

N/A Opcional

Elemento <Quota>/<Identifier>/<Allow>

Especifica el importe que se reducirá en el contador de cuotas. Debes especificar <Allow>, de lo contrario, la política no modifica la cuota.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
Predeterminado: N/A
Presencia: Obligatorio
Tipo: Entero

Atributos

Atributo Descripción Predeterminado Presencia
ref

Una variable de flujo que contiene el cambio en el recuento de cuotas en la política Quota de destino.

N/A Opcional

Elemento <Quota>/<Identifier>/<Class>

Especifica la clase para la que se actualiza el contador de cuotas. Para obtener más información sobre cómo usar la clase con la política de cuotas, consulta Política de cuotas.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
Predeterminado: N/A
Presencia: Opcional
Tipo: N/A

Atributos

Atributo Descripción Predeterminado Presencia
ref

Referencia a la variable de flujo que contiene la clase de cuota que se actualizará.

N/A Opcional

Referencia de errores

En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Apigee cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.

Errores de entorno de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de falla Estado de HTTP Causa Corregir
policies.resetquota.InvalidRLPolicy 500 La política de Quota especificada en el elemento <Quota> de la política de ResetQuota no se define en el proxy de API y, por lo tanto, no está disponible durante el flujo. El elemento <Quota> es obligatorio e identifica la política de destino Quota cuyo recuento debe actualizarse a través de la política de ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef N/A La referencia a la variable que contiene el recuento permitido en el elemento <Allow> de la política no se puede resolver en un valor. Este elemento es obligatorio y especifica el importe para reducir el recuento de cuotas.
policies.resetquota.FailedToResolveRLPolicy 500 No se puede resolver la variable a la que hace referencia el atributo ref en el elemento <Quota>.

Errores en la implementación

Estos errores pueden generarse cuando implementas un proxy que contiene esta política.

Nombre del error Causa Corregir
InvalidCount Si el valor de recuento especificado en el elemento <Allow> de la política de ResetQuota no es un número entero, fallará la implementación del proxy de API.

Esquemas

Temas relacionados

Política de cuotas