Transform
Modifies or restructures payload content.
Use the Transform policy to modify or restructure a payload by setting, renaming, or computing values based on runtime data.
For more information on the policy parameter descriptions, see DataPower Nano Gateway documentation.
Example of a Transform policy in code view.
kind: Transform
apiVersion: api.ibm.com/v1
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
messageBody:
messageName: 'request'
jsonataTransforms:
- capture: "$.books[0].author"
transform: "$variable('my-author-var')"
- capture: "$.books[0].title"
transform: "$variable('my-title-var')"
- capture: "$.books[0].price"
transform: "$variable('my-price-var')"
---
apiVersion: api.ibm.com/v1
kind: Transform
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
variable:
name: "my-author-var"
jsonataTransforms:
- capture: "$.books[0].author"
transform: "$variable('my-author-var')"
- capture: "$.books[0].title"
transform: "$variable('my-title-var')"
---
apiVersion: api.ibm.com/v1
kind: Transform
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
distributedVariable:
expireIn: 5 # in seconds
name: "my-author-var"
jsonataTransforms:
- capture: "$.books[0].author"
transform: "$variable('my-author-var')"
---
apiVersion: api.ibm.com/v1
kind: Transform
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
messageHeader:
messageName: "my-message-name"
jsonataTransforms:
- headerNames:
- "Content-Type"
- "Content-Length"
transform: "$variable('my-author-var')"
---
apiVersion: api.ibm.com/v1
kind: Transform
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
messageUriQuery:
messageName: "my-message-name"
jsonataTransforms:
- queryNames:
- "author"
- "title"
action: "add" # add | update | set
transform: "$variable('my-author-var')"
---
apiVersion: api.ibm.com/v1
kind: Transform
metadata:
name: "transform-request"
version: 1.0
namespace: sample
spec:
messageUriPath:
messageName: "my-message-name"
jsonataTransforms: "$variable('custom-uri-path')"
---
kind: Transform
apiVersion: api.ibm.com/v1
metadata:
name: "transform-request"
namespace: sample
version: 1.0
spec:
telemetry:
keys:
keyLiterals:
- "sample-telemetry-key"
span: "rootSpan"
# # (2/3) policySpan
# span:
# policySpan: ""
# # (3/3) httpSpan
# span:
# httpSpan: ""
jsonataTransforms:
- capture: "doc.key.password"
transform: "$variable('my-password-var')"