Python
Since Camel 3.19
Camel allows Python to be used as an Expression or Predicate in Camel routes.
For example, you can use Python in a Predicate with the Content Based Router EIP.
Variables
Variable | Type | Description |
---|---|---|
this |
Exchange |
the Exchange is the root object |
context |
CamelContext |
the CamelContext |
exchange |
Exchange |
the Exchange |
exchangeId |
String |
the exchange id |
message |
Message |
the message |
body |
Message |
the message body |
headers |
Map |
the message headers |
properties |
Map |
the exchange properties |
Dependencies
To use Python in your camel routes you need to add the dependency on camel-python which implements the Python language.
If you use maven you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-python</artifactId>
<version>x.x.x</version>
</dependency>
Spring Boot Auto-Configuration
When using python with Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-python-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
The component supports 2 options, which are listed below.