Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.このコンテンツは選択した言語では利用できません。
Chapter 24. Python
Overview リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to Tcl, Perl, Ruby, Scheme or Java. The Python support is part of the
camel-script
module.
Adding the script module リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
To use Python in your routes you need to add a dependency on
camel-script
to your project as shown in Example 24.1, “Adding the camel-script dependency”.
Example 24.1. Adding the camel-script dependency
Static import リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
To use the
python()
static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.builder.camel.script.ScriptBuilder.*;
import static org.apache.camel.builder.camel.script.ScriptBuilder.*;
Built-in attributes リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Table 24.1, “Python attributes” lists the built-in attributes that are accessible when using Python.
Attribute | Type | Value |
---|---|---|
context | org.apache.camel.CamelContext | The Camel Context |
exchange | org.apache.camel.Exchange | The current Exchange |
request | org.apache.camel.Message | The IN message |
response | org.apache.camel.Message | The OUT message |
properties | org.apache.camel.builder.script.PropertiesFunction | Function with a resolve method to make it easier to use the properties component inside scripts. |
The attributes all set at
ENGINE_SCOPE
.
Example リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Example 24.2, “Route using Python” shows a route that uses Python.
Example 24.2. Route using Python
Using the properties component リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
To access a property value from the properties component, invoke the
resolve
method on the built-in properties
attribute, as follows:
.setHeader("myHeader").python("properties.resolve(PropKey)")
.setHeader("myHeader").python("properties.resolve(PropKey)")
Where PropKey is the key of the property you want to resolve, where the key value is of
String
type.