HTTP Source
Provided by: "Apache Software Foundation"
Support Level for this Kamelet is: "Stable"
Periodically fetches an HTTP resource and provides the content as output.
Configuration Options
The following table summarizes the configuration options available for the http-source
Kamelet:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
URL | Required The URL to fetch for data. | string | https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json | ||
Content Type | The content type accepted for the resource. | string | application/json | ||
Period between Updates | The interval between fetches in milliseconds. | integer | 10000 |
Dependencies
At runtime, the http-source
Kamelet relies upon the presence of the following dependencies:
-
camel:http
-
camel:kamelet
-
camel:core
-
camel:timer
Camel JBang usage
Prerequisites
-
You’ve installed JBang.
-
You have executed the following command:
jbang app install camel@apache/camel
Supposing you have a file named route.yaml with this content:
- route:
from:
uri: "kamelet:http-source"
parameters:
.
.
.
steps:
- to:
uri: "kamelet:log-sink"
You can now run it directly through the following command
camel run route.yaml
HTTP Source Kamelet Description
Configuration
The HTTP Source Kamelet periodically fetches data from an HTTP endpoint. It supports the following configurations:
-
URL: The HTTP endpoint to fetch data from (required, must start with http:// or https://)
-
Period: The interval between fetches in milliseconds (default: 10000)
-
Content Type: The Accept header content type for the request (default: "application/json")
Authentication
This is the basic HTTP source kamelet without authentication. For secured HTTP endpoints requiring authentication, use the HTTP Secured Source kamelet instead.
Output Format
The Kamelet outputs the HTTP response body and preserves any HTTP headers from the response.
Usage Example
- route:
from:
uri: "kamelet:http-source"
parameters:
url: "https://api.example.com/data"
period: 30000
contentType: "application/json"
steps:
- to:
uri: "kamelet:log-sink"
Example with XML Content
- route:
from:
uri: "kamelet:http-source"
parameters:
url: "https://api.example.com/xml-feed"
period: 60000
contentType: "application/xml"
steps:
- to:
uri: "kamelet:log-sink"