summaryrefslogtreecommitdiff
path: root/docs/connector/source/inline.md
blob: 0603f889e34ad2430bdff91aabf2eaf922343bad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Inline

> Inline source connector
>
> ## Description
>
> Inline source connector is used to generate data from inline configuration. It is useful for testing.
>
> ## Source Options
>
> Inline source custom properties. The data will be parsed to Map<String, Object> by the specified format.

|       Name       |   Type   | Required | Default |                                                       Description                                                        |
|------------------|----------|----------|---------|--------------------------------------------------------------------------------------------------------------------------|
| data             | String   | Yes      | (none)  | Testing data, support json and protobuf format. If data is json format , it can be parsed multiple events by json array. |
| format           | String   | Yes      | (none)  | Data format.  The Optional values are `json`, `protobuf`.                                                                |
| [format].config  | Map      | No       | (none)  | Data format properties. Please refer to [Format Options](../formats) for details.                                        |
| interval.per.row | Duration | No       | 1s      | Interval time in seconds between each row. If it is 0, it will be generated as fast as possible.                         |
| repeat.count     | Integer  | No       | -1      | Repeat count. If it is -1, it will be generated infinitely.                                                              |
| type             | String   | No       | string  | Data codec type. The Optional values are `string(UTF-8)`, `hex`, `base64`.                                               |

## Example

This example read data of inline test source and print to console.

```yaml
sources: 
  inline_source: # [object] Inline source connector name
    type: inline
    properties:
      data: '[{"tcp_rtt_ms":128,"decoded_as":"HTTP","http_version":"http1","http_request_line":"GET / HTTP/1.1","http_host":"www.ct.cn","http_url":"www.ct.cn/","http_user_agent":"curl/8.0.1","http_status_code":200,"http_response_line":"HTTP/1.1 200 OK","http_response_content_type":"text/html; charset=UTF-8","http_response_latency_ms":31,"http_session_duration_ms":5451,"in_src_mac":"ba:bb:a7:3c:67:1c","in_dest_mac":"86:dd:7a:8f:ae:e2","out_src_mac":"86:dd:7a:8f:ae:e2","out_dest_mac":"ba:bb:a7:3c:67:1c","tcp_client_isn":678677906,"tcp_server_isn":1006700307,"address_type":4,"client_ip":"192.11.22.22","server_ip":"8.8.8.8","client_port":42751,"server_port":80,"in_link_id":65535,"out_link_id":65535,"start_timestamp_ms":1703646546127,"end_timestamp_ms":1703646551702,"duration_ms":5575,"sent_pkts":97,"sent_bytes":5892,"received_pkts":250,"received_bytes":333931},{"tcp_rtt_ms":256,"decoded_as":"HTTP","http_version":"http1","http_request_line":"GET / HTTP/1.1","http_host":"www.abc.cn","http_url":"www.cabc.cn/","http_user_agent":"curl/8.0.1","http_status_code":200,"http_response_line":"HTTP/1.1 200 OK","http_response_content_type":"text/html; charset=UTF-8","http_response_latency_ms":31,"http_session_duration_ms":5451,"in_src_mac":"ba:bb:a7:3c:67:1c","in_dest_mac":"86:dd:7a:8f:ae:e2","out_src_mac":"86:dd:7a:8f:ae:e2","out_dest_mac":"ba:bb:a7:3c:67:1c","tcp_client_isn":678677906,"tcp_server_isn":1006700307,"address_type":4,"client_ip":"192.168.10.198","server_ip":"4.4.4.4","client_port":42751,"server_port":80,"in_link_id":65535,"out_link_id":65535,"start_timestamp_ms":1703646546127,"end_timestamp_ms":1703646551702,"duration_ms":2575,"sent_pkts":197,"sent_bytes":5892,"received_pkts":350,"received_bytes":533931}]'
      format: json
      json.ignore.parse.errors: false
      interval.per.row: 5s
      repeat.count: 10

sinks:
  print_sink:
    type: print
    properties:
      format: json

application:
  env:
    name: example-inline-to-print
    parallelism: 3
    pipeline:
      object-reuse: true
  topology:
    - name: inline_source
      downstream: [print_sink]
    - name: print_sink
      downstream: []
```