map
Utilice la política map para transformar el flujo de ensamblaje y especificar relaciones entre las variables.
Soporte de pasarela
| Pasarela | Versión de política |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 2.1.0 (DataPower API Gateway Versión 10.5.0.0 o posterior) |
En este tema se describe cómo configurar la política en la fuente de datos de « OpenAPI »; para obtener más información sobre cómo configurar la política en la interfaz de usuario de Assembly, consulte «Map ».
Acerca de
Para obtener información sobre el uso y la estructura de la política de mapas, consulte «La estructura de la política de mapas ». Para obtener más información sobre las propiedades de la API que afectan a la política del mapa, consulta Propiedades de la API.
La política map tiene el formato siguiente:
- map
version: version
title: title
description: description
inputs:
- input_1:
variable: context_1
$ref: '#/definitions/definition_1'
- input_2
variable: context_2
type: type_2
content: content_type
outputs:
- output_3
variable: context_3
type: type_3
actions:
- set: output_3.output_property_3
from: input_1.input_property_1
- set: output3.output_property_3
from:
- input1.input_property_1
- input2.input_property_2
value: 'script_A'
default: 'default_A'
- create: output3.output_property_3
from: input1.input_property_1
foreach: input1.input_property_1
actions:
- further_actions
options:
.
.
.
advanced_XML_and_general_configuration_options
.
.
.
Propiedades
| Propiedad | Obligatorio | Descripción | Tipo de datos | Pertenece a |
|---|---|---|---|---|
| version | Sí | El número de versión de la política | serie | N/D |
| title | Nee | Título de la política. | Serie | N/D |
| description | Nee | Una descripción de la política. | Serie | N/D |
| inputs | Nee | Una matriz que lista las entradas de la política map. | Objecto | N/D |
| outputs | Sí | Una matriz que lista las salidas de la política map. | Objecto | N/D |
| variable | Sí | Una referencia a la variable de contexto que es la ubicación de la variable de entrada o de salida. | Serie | inputs o outputs |
| $ref | Sí1 | Una referencia a la definición del tipo de la variable. | Serie | inputs o outputs |
| type | Sí1 | El tipo de la variable. | Serie | inputs o outputs |
| content | Nee | El tipo de contenido de la variable: application/xml o application/json. Si se selecciona Ninguno o el campo no está incluido, el tipo se trata como JSON. | Serie | inputs o outputs |
| actions | Sí | Lista las acciones que debe realizar la política map. | Objecto | N/D |
| set | Sí2 | Especifica por nombre la variable de salida que la acción va a establecer en un valor. | Serie | actions |
| create | Sí2 | Especifica por nombre la variable de salida a la que la acción va a añadir un valor. | Serie | actions |
| from | Nee | Especifica por nombre las variables de entrada utilizadas por la acción. | Serie | actions |
| value | Nee | Contiene un script que correlaciona y transforma variables de entrada en variables de salida. | Serie | actions |
| default | Nee | Contiene un valor estático o una referencia de variable incorporada que se debe aplicar a la salida cuando no se proporciona ningún valor de entrada. Para obtener información sobre las referencias de variables en línea, consulte Referencias en línea. | Serie | actions |
| foreach | Nee | Especifica por nombre una matriz para la que se deben realizar acciones adicionales para cada elemento. | Serie | actions |
| includeEmptyXMLElements | Nee | Si se establece en true, se incluyen elementos XML vacíos en la salida de la política map. Establézcala en false si no
desea que los elementos XML vacíos se incluyan en la salida de la política de correlación.El valor predeterminado es |
Booleano | options |
| namespaceInheritance | Nee | Si se establece en true, los espacios de nombres XML se heredan del elemento padre. Establézcala en false si desea que
la política map utilice espacios de nombres explícitos.El valor predeterminado es |
Booleano | options |
| inlineNamespaces | Nee | Si se establece en true, los espacios de nombres XML se insertarán en el documento donde se utilicen por primera vez. Establézcala en
false si desea que todos los espacios de nombres se definan en el elemento raíz.El valor predeterminado es |
Booleano | options |
| Nee | Si se establece en true, los elementos XML cuyo esquema se ha configurado como de tipo booleano o numérico se convertirán a dicho tipo de datos. Establézcalo en false si desea que los valores de los elementos XML se devuelvan como una serie. |
Booleano | options | |
| Nee | Si se establece en true, la política de correlación escribirá la salida XML en message.body en forma de documento XML analizado. De forma predeterminada, el XML se generará como una serie XML. La salida de XML a cualquier otra variable se escribirá siempre como una serie XML.El valor predeterminado es |
Booleano | options | |
| Nee | Esta propiedad controla cómo la política map maneja la salida de un elemento XML vacío. Especifique uno de los valores siguientes:
|
Serie | options | |
| Nee | Si se establece en true, si se encuentra una matriz en el cruce de la entrada, sólo se utiliza el primer elemento. Establézcala en
false si desea que la política map utilice todos los elementos de matriz.El valor predeterminado es |
Booleano | options | |
| Nee | Si se establece en true, se resuelven las referencias de variable API Connect encontradas en las propiedades de correlación. Establézcalo en false si desea que la política de correlación ignore las referencias de variable API Connect en las políticas de correlación.El valor predeterminado es |
Booleano | options | |
| Nee | Si se establece en true, un valor de propiedad de entrada con un valor nulo se correlaciona con el documento de salida. Establézcala en
false si desea que la política map ignore todos los valores de entrada nulos.El valor predeterminado es |
Booleano | options | |
| Nee | Si se establece en true, la evaluación de tipos de esquema complejos maneja las referencias de tipo circular de forma optimizada. Establézcala en false para evaluar estos tipos de esquema de forma estándar.El valor predeterminado es |
Booleano | options | |
| Nee | Si se establece en true, se generan los valores predeterminados en la salida de las propiedades necesarias que no están correlacionadas o para las que no existen datos de entrada, en los casos específicos siguientes:
De forma predeterminada, estas propiedades necesarias no están presentes en la salida. Si se establece esta propiedad en
Si esta propiedad se establece en El valor predeterminado es |
Booleano | options | |
| Nee | Si se establece en true, se realiza un procesamiento posterior de la salida de JSON correlacionada. El procesamiento posterior de la salida JSON utilizará el esquema de salida para garantizar que los valores de propiedad tienen el mismo tipo de datos que se ha definido en el esquema. También se normalizarán los valores de propiedad de salida que tienen una sintaxis JSON Badgerfish debido a la correlación de objetos de una entrada XML. Establézcala
en false si no desea realizar el proceso posterior de la salida de JSON correlacionada.El valor predeterminado es |
Booleano | options | |
| Nee | Esta propiedad controla cómo maneja la política map la salida de una matriz vacía. Especifique uno de los valores siguientes:
El valor predeterminado es |
Serie | options | |
| Nee | Establezca el valor de esta propiedad en un valor entero que especifique el número máximo permitido de iteraciones de una definición de esquema circular. El valor predeterminado es 1, lo que significa que no se permiten las definiciones de esquema circular. El valor máximo posible es 5. Si especifica un valor mayor que 5, se asume un valor de 5. Si especifica un valor no numérico, se adopta el valor 1. |
Serie | options | |
| messagesInputData | Nee | Esta propiedad define el nivel de gravedad para los mensajes de registro relacionados con los datos de entrada. Especifique uno de los valores siguientes:
|
Serie | options |
| Nee | Si una correlación falla porque su entrada no está presente y no hay ninguna correlación predeterminada configurada, el comportamiento
predeterminado es no realizar ningún cambio en la correlación de salida. Establezca esta propiedad en true para crear un objeto vacío para el padre de la correlación de destino, emulando el comportamiento de IBM® API Management
Version 4.0.
|
Booleano | options |
1 Debe haber como mínimo un $ref o un type en la descripción de una variable.
2 Debe haber como mínimo un set o un create en un campo actions.
Ejemplo
- map:
version: 1.0.0
title: Output mapping
inputs:
Monthly_cost:
schema:
type: double
variable: loan_invoke.body.monthly_payment
content: application/json
Duration:
schema:
type: integer
variable: request.parameters.duration
outputs:
Quote_Output:
schema:
$ref: '#/definitions/Quote_Output'
variable: message.body
content: application/json
actions:
- set: Quote_Output.monthly_repayment
from: Monthly_cost
value: ''
- set: Quote_Output.total_cost
from:
- Duration
- Monthly_cost
value: '$(Duration)*$(Monthly_cost)'
description: Maps and transforms contexts to the operation output.
options:
includeEmptyXMLElements: false
namespaceInheritance: false
inlineNamespaces: false
mapResolveXMLInputDataType: true
mapXMLEmptyElement: null
mapArrayFirstElementValue: false
mapResolveApicVariables: false
mapNullValue: true
mapOptimizeSchemaDefinition: true
mapCreateEmptyArray: parent
mapReferenceLimit: 5
messagesInputData: warn
mapEmulateV4EmptyJSONObject: true