Rules Engines - Create Or Update
Crea una nueva configuración del motor de reglas con el nombre especificado dentro de Front Door especificado.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}?api-version=2021-06-01
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
front
|
path | True |
string minLength: 5maxLength: 64 pattern: ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ |
Nombre de Front Door que es único globalmente. |
resource
|
path | True |
string minLength: 1maxLength: 80 pattern: ^[a-zA-Z0-9_\-\(\)\.]*[^\.]$ |
Nombre del grupo de recursos dentro de la suscripción de Azure. |
rules
|
path | True |
string minLength: 1maxLength: 90 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ |
Nombre del motor de reglas que es único dentro de Front Door. |
subscription
|
path | True |
string |
Credenciales de suscripción que identifican de forma única la suscripción de Microsoft Azure. El identificador de suscripción forma parte del URI de cada llamada de servicio. |
api-version
|
query | True |
string |
Versión de la API de cliente. |
Cuerpo de la solicitud
Nombre | Tipo | Description |
---|---|---|
properties.rules |
Lista de reglas que definen una configuración concreta del motor de reglas. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
De acuerdo |
|
201 Created |
Creado |
|
202 Accepted |
Aceptado |
|
Other Status Codes |
Respuesta de error de Front Door que describe por qué se produjo un error en la operación. |
Seguridad
azure_auth
Flujo de OAuth2 de Azure Active Directory
Tipo:
oauth2
Flujo:
implicit
Dirección URL de autorización:
https://login.microsoftonline.com/common/oauth2/authorize
Ámbitos
Nombre | Description |
---|---|
user_impersonation | suplantar la cuenta de usuario |
Ejemplos
Create or update a specific Rules Engine Configuration
Solicitud de ejemplo
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1?api-version=2021-06-01
{
"properties": {
"rules": [
{
"name": "Rule1",
"priority": 1,
"action": {
"routeConfigurationOverride": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
"redirectType": "Moved",
"redirectProtocol": "HttpsOnly",
"customHost": "www.bing.com",
"customPath": "/api",
"customFragment": "fragment",
"customQueryString": "a=b"
}
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RemoteAddr",
"rulesEngineOperator": "GeoMatch",
"rulesEngineMatchValue": [
"CH"
]
}
],
"matchProcessingBehavior": "Stop"
},
{
"name": "Rule2",
"priority": 2,
"action": {
"responseHeaderActions": [
{
"headerActionType": "Overwrite",
"headerName": "Cache-Control",
"value": "public, max-age=31536000"
}
]
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RequestFilenameExtension",
"rulesEngineOperator": "Equal",
"rulesEngineMatchValue": [
"jpg"
],
"transforms": [
"Lowercase"
]
}
]
},
{
"name": "Rule3",
"priority": 3,
"action": {
"routeConfigurationOverride": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
"customForwardingPath": null,
"forwardingProtocol": "HttpsOnly",
"cacheConfiguration": {
"queryParameterStripDirective": "StripOnly",
"queryParameters": "a=b,p=q",
"dynamicCompression": "Disabled",
"cacheDuration": "P1DT12H20M30S"
},
"backendPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
}
}
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RequestHeader",
"rulesEngineOperator": "Equal",
"rulesEngineMatchValue": [
"allowoverride"
],
"transforms": [
"Lowercase"
],
"negateCondition": false,
"selector": "Rules-Engine-Route-Forward"
}
]
}
]
}
}
Respuesta de muestra
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1",
"name": "rulesEngine1",
"properties": {
"rules": [
{
"name": "Rule1",
"priority": 1,
"action": {
"routeConfigurationOverride": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
"redirectType": "Moved",
"redirectProtocol": "HttpsOnly",
"customHost": "www.bing.com",
"customPath": "/api",
"customFragment": "fragment",
"customQueryString": "a=b"
}
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RemoteAddr",
"rulesEngineOperator": "GeoMatch",
"rulesEngineMatchValue": [
"CH"
]
}
],
"matchProcessingBehavior": "Stop"
},
{
"name": "Rule2",
"priority": 2,
"action": {
"responseHeaderActions": [
{
"headerActionType": "Overwrite",
"headerName": "Cache-Control",
"value": "public, max-age=31536000"
}
]
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RequestFilenameExtension",
"rulesEngineOperator": "Equal",
"rulesEngineMatchValue": [
"jpg"
],
"transforms": [
"Lowercase"
]
}
]
}
]
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1",
"name": "rulesEngine1",
"properties": {
"rules": [
{
"name": "Rule1",
"priority": 1,
"action": {
"routeConfigurationOverride": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
"redirectType": "Moved",
"redirectProtocol": "HttpsOnly",
"customHost": "www.bing.com",
"customPath": "/api",
"customFragment": "fragment",
"customQueryString": "a=b"
}
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RemoteAddr",
"rulesEngineOperator": "GeoMatch",
"rulesEngineMatchValue": [
"CH"
]
}
],
"matchProcessingBehavior": "Stop"
},
{
"name": "Rule2",
"priority": 2,
"action": {
"responseHeaderActions": [
{
"headerActionType": "Overwrite",
"headerName": "Cache-Control",
"value": "public, max-age=31536000"
}
]
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RequestFilenameExtension",
"rulesEngineOperator": "Equal",
"rulesEngineMatchValue": [
"jpg"
],
"transforms": [
"Lowercase"
]
}
]
}
]
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1",
"name": "rulesEngine1",
"properties": {
"rules": [
{
"name": "Rule1",
"priority": 1,
"action": {
"routeConfigurationOverride": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
"redirectType": "Moved",
"redirectProtocol": "HttpsOnly",
"customHost": "www.bing.com",
"customPath": "/api",
"customFragment": "fragment",
"customQueryString": "a=b"
}
},
"matchConditions": [
{
"rulesEngineMatchVariable": "RemoteAddr",
"rulesEngineOperator": "GeoMatch",
"rulesEngineMatchValue": [
"CH"
]
}
],
"matchProcessingBehavior": "Stop"
},
{
"name": "Rule2",
"priority": 2,
"action": {
"responseHeaderActions": [
{
"headerActionType": "Overwrite",
"headerName": "Cache-Control",
"value": "public, max-age=31536000"
}
]
},
"matchConditions": [
{
"rulesEngineMatchVariable": "FilenameExtension",
"rulesEngineOperator": "Equal",
"rulesEngineMatchValue": [
"jpg"
],
"transforms": [
"Lowercase"
]
}
]
}
]
}
}
Definiciones
Nombre | Description |
---|---|
Cache |
Configuración de almacenamiento en caché para una ruta de tipo de almacenamiento en caché. Para deshabilitar el almacenamiento en caché, no proporcione un objeto cacheConfiguration. |
Dynamic |
Si se debe usar la compresión dinámica para el contenido almacenado en caché |
Error |
La respuesta de error indica que el servicio Front Door no puede procesar la solicitud entrante. El motivo se proporciona en el mensaje de error. |
Forwarding |
Describe la ruta de reenvío. |
Front |
Protocolo que usará esta regla al reenviar el tráfico a los back-end. |
Front |
Tratamiento de los términos de consulta url al formar la clave de caché. |
Front |
Protocolo del destino al que se redirige el tráfico. |
Front |
El tipo de redireccionamiento que usará la regla al redirigir el tráfico. |
Front |
Estado del recurso de Front Door o SubResource de Front Door. |
Header |
Acción que puede manipular un encabezado HTTP. |
header |
Tipo de manipulación que se va a aplicar al encabezado. |
Match |
Si esta regla es una coincidencia, el motor de reglas seguirá ejecutando las reglas restantes o deténgase. Si no está presente, el valor predeterminado es Continuar. |
Redirect |
Describe la ruta de redirección. |
Rules |
Una configuración del motor de reglas que contiene una lista de reglas que se ejecutarán para modificar el comportamiento en tiempo de ejecución de la solicitud y la respuesta. |
Rules |
Una o varias acciones que se ejecutarán, modificando la solicitud o la respuesta. |
Rules |
Definición de una condición de coincidencia |
Rules |
Coincidencia de variable |
Rules |
Describe el operador que se va a aplicar a la condición de coincidencia. |
Rules |
Contiene una lista de condiciones de coincidencia y una acción sobre cómo modificar la solicitud o respuesta. Si coinciden varias reglas, las acciones de una regla que entran en conflicto con una regla anterior sobrescriben una acción singular o anexan en el caso de la manipulación de encabezados. |
Sub |
Referencia a otro subrecurso. |
transform |
Describe qué transformaciones se aplican antes de que coincidan. |
CacheConfiguration
Configuración de almacenamiento en caché para una ruta de tipo de almacenamiento en caché. Para deshabilitar el almacenamiento en caché, no proporcione un objeto cacheConfiguration.
Nombre | Tipo | Description |
---|---|---|
cacheDuration |
string (duration) |
Duración durante la que se debe almacenar en caché el contenido. El formato permitido está en formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requiere que el valor no sea superior a un año. |
dynamicCompression |
Si se debe usar la compresión dinámica para el contenido almacenado en caché |
|
queryParameterStripDirective |
Tratamiento de los términos de consulta url al formar la clave de caché. |
|
queryParameters |
string |
parámetros de consulta para incluir o excluir (separados por comas). |
DynamicCompressionEnabled
Si se debe usar la compresión dinámica para el contenido almacenado en caché
Valor | Description |
---|---|
Disabled | |
Enabled |
ErrorResponse
La respuesta de error indica que el servicio Front Door no puede procesar la solicitud entrante. El motivo se proporciona en el mensaje de error.
Nombre | Tipo | Description |
---|---|---|
code |
string |
Código de error. |
message |
string |
Mensaje de error que indica por qué se produjo un error en la operación. |
ForwardingConfiguration
Describe la ruta de reenvío.
Nombre | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
|
backendPool |
Referencia a backendPool a la que se enruta esta regla. |
|
cacheConfiguration |
Configuración de almacenamiento en caché asociada a esta regla. |
|
customForwardingPath |
string |
Ruta de acceso personalizada que se usa para reescribir las rutas de acceso de recursos coincidentes con esta regla. Deje vacío para usar la ruta de acceso entrante. |
forwardingProtocol |
Protocolo que usará esta regla al reenviar el tráfico a los back-end. |
FrontDoorForwardingProtocol
Protocolo que usará esta regla al reenviar el tráfico a los back-end.
Valor | Description |
---|---|
HttpOnly | |
HttpsOnly | |
MatchRequest |
FrontDoorQuery
Tratamiento de los términos de consulta url al formar la clave de caché.
Valor | Description |
---|---|
StripAll | |
StripAllExcept | |
StripNone | |
StripOnly |
FrontDoorRedirectProtocol
Protocolo del destino al que se redirige el tráfico.
Valor | Description |
---|---|
HttpOnly | |
HttpsOnly | |
MatchRequest |
FrontDoorRedirectType
El tipo de redireccionamiento que usará la regla al redirigir el tráfico.
Valor | Description |
---|---|
Found | |
Moved | |
PermanentRedirect | |
TemporaryRedirect |
FrontDoorResourceState
Estado del recurso de Front Door o SubResource de Front Door.
Valor | Description |
---|---|
Creating | |
Deleting | |
Disabled | |
Disabling | |
Enabled | |
Enabling | |
Migrated | |
Migrating |
HeaderAction
Acción que puede manipular un encabezado HTTP.
Nombre | Tipo | Description |
---|---|---|
headerActionType |
Tipo de manipulación que se va a aplicar al encabezado. |
|
headerName |
string |
Nombre del encabezado al que se aplicará esta acción. |
value |
string |
Valor con el que se va a actualizar el nombre de encabezado especificado. Este valor no se usa si actionType es Delete. |
headerActionType
Tipo de manipulación que se va a aplicar al encabezado.
Valor | Description |
---|---|
Append | |
Delete | |
Overwrite |
MatchProcessingBehavior
Si esta regla es una coincidencia, el motor de reglas seguirá ejecutando las reglas restantes o deténgase. Si no está presente, el valor predeterminado es Continuar.
Valor | Description |
---|---|
Continue | |
Stop |
RedirectConfiguration
Describe la ruta de redirección.
Nombre | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
|
customFragment |
string |
Fragmento que se va a agregar a la dirección URL de redireccionamiento. El fragmento es la parte de la dirección URL que viene después de #. No incluya #. |
customHost |
string |
Host para redirigir. Deje vacío para usar el host entrante como host de destino. |
customPath |
string |
Ruta de acceso completa que se va a redirigir. La ruta de acceso no puede estar vacía y debe comenzar con /. Deje vacío para usar la ruta de acceso entrante como ruta de acceso de destino. |
customQueryString |
string |
Conjunto de cadenas de consulta que se colocarán en la dirección URL de redireccionamiento. Establecer este valor reemplazaría cualquier cadena de consulta existente; deje vacío para conservar la cadena de consulta entrante. La cadena de consulta debe estar en formato = . ¿La primera? y & se agregarán automáticamente, por lo que no los incluyan en el frente, pero separe varias cadenas de consulta con &. |
redirectProtocol |
Protocolo del destino al que se redirige el tráfico. |
|
redirectType |
El tipo de redireccionamiento que usará la regla al redirigir el tráfico. |
RulesEngine
Una configuración del motor de reglas que contiene una lista de reglas que se ejecutarán para modificar el comportamiento en tiempo de ejecución de la solicitud y la respuesta.
Nombre | Tipo | Description |
---|---|---|
id |
string |
Identificador de recurso. |
name |
string |
Nombre del recurso. |
properties.resourceState |
Estado del recurso de Front Door o SubResource de Front Door. |
|
properties.rules |
Lista de reglas que definen una configuración concreta del motor de reglas. |
|
type |
string |
Tipo de recurso. |
RulesEngineAction
Una o varias acciones que se ejecutarán, modificando la solicitud o la respuesta.
Nombre | Tipo | Description |
---|---|---|
requestHeaderActions |
Lista de acciones de encabezado que se van a aplicar desde la solicitud de AFD al origen. |
|
responseHeaderActions |
Lista de acciones de encabezado que se van a aplicar desde la respuesta de AFD al cliente. |
|
routeConfigurationOverride | RouteConfiguration: |
Invalide la configuración de ruta. |
RulesEngineMatchCondition
Definición de una condición de coincidencia
Nombre | Tipo | Description |
---|---|---|
negateCondition |
boolean |
Describe si se trata de una condición negada o no |
rulesEngineMatchValue |
string[] |
Coincide con los valores con los que buscar coincidencias. El operador se aplicará a cada valor de aquí con semántica OR. Si alguno de ellos coincide con la variable con el operador especificado, esta condición de coincidencia se considera una coincidencia. |
rulesEngineMatchVariable |
Coincidencia de variable |
|
rulesEngineOperator |
Describe el operador que se va a aplicar a la condición de coincidencia. |
|
selector |
string |
Nombre del selector en RequestHeader o RequestBody que se va a buscar coincidencia |
transforms |
Lista de transformaciones |
RulesEngineMatchVariable
Coincidencia de variable
Valor | Description |
---|---|
IsMobile | |
PostArgs | |
QueryString | |
RemoteAddr | |
RequestBody | |
RequestFilename | |
RequestFilenameExtension | |
RequestHeader | |
RequestMethod | |
RequestPath | |
RequestScheme | |
RequestUri |
RulesEngineOperator
Describe el operador que se va a aplicar a la condición de coincidencia.
Valor | Description |
---|---|
Any | |
BeginsWith | |
Contains | |
EndsWith | |
Equal | |
GeoMatch | |
GreaterThan | |
GreaterThanOrEqual | |
IPMatch | |
LessThan | |
LessThanOrEqual |
RulesEngineRule
Contiene una lista de condiciones de coincidencia y una acción sobre cómo modificar la solicitud o respuesta. Si coinciden varias reglas, las acciones de una regla que entran en conflicto con una regla anterior sobrescriben una acción singular o anexan en el caso de la manipulación de encabezados.
Nombre | Tipo | Description |
---|---|---|
action |
Acciones que se deben realizar en la solicitud y respuesta si se cumplen todas las condiciones de coincidencia. |
|
matchConditions |
Lista de condiciones de coincidencia que deben cumplirse para que se ejecuten las acciones de esta regla. No tener condiciones de coincidencia significa que las acciones siempre se ejecutarán. |
|
matchProcessingBehavior |
Si esta regla es una coincidencia, el motor de reglas seguirá ejecutando las reglas restantes o deténgase. Si no está presente, el valor predeterminado es Continuar. |
|
name |
string |
Un nombre para hacer referencia a esta regla específica. |
priority |
integer |
Prioridad asignada a esta regla. |
SubResource
Referencia a otro subrecurso.
Nombre | Tipo | Description |
---|---|---|
id |
string |
Identificador de recurso. |
transform
Describe qué transformaciones se aplican antes de que coincidan.
Valor | Description |
---|---|
Lowercase | |
RemoveNulls | |
Trim | |
Uppercase | |
UrlDecode | |
UrlEncode |