Skip to content

Commit 20408ee

Browse files
authored
DOC-5601 Transform functions (#163)
* setup to incorporate transform function docs * source blocks missing quotes * intro sentence * move transform function content from streamlearn * integrate content from stream learn * move sink option to own section * remove collapsibles in prep for migration * remove tabs in prep for migration * fix some issues * typos
1 parent 0de417e commit 20408ee

19 files changed

+256
-407
lines changed

modules/ROOT/nav.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
** xref:ROOT:astream-subscriptions-shared.adoc[]
2020
** xref:ROOT:astream-subscriptions-failover.adoc[]
2121
** xref:ROOT:astream-subscriptions-keyshared.adoc[]
22-
* xref:developing:astream-functions.adoc[]
22+
* {pulsar-short} functions
23+
** xref:developing:astream-functions.adoc[]
24+
** xref:developing:astream-functions-transform.adoc[]
2325
* xref:developing:starlight.adoc[]
2426
* xref:developing:astream-cdc.adoc[]
2527
* xref:developing:gpt-schema-translator.adoc[]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
. In the {astra-ui-link} header, click icon:grip[name="Applications"], and then select *Streaming*.
2+
3+
. Click the name of the tenant where you want to deploy a function.
4+
5+
. On the *Functions* tab, click *Create Function*.
6+
7+
. Enter a function name.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
. Select the namespace and one or more input topics for the function.
2+
3+
. If needed, select an output namespace and topics.
4+
+
5+
Whether you need to specify an output topic depends on the function's logic.
6+
For example, the `cast` xref:developing:astream-functions-transform.adoc[transform function] needs an output topic to receive the transformed messages.
7+
8+
. Optional: Select a log topic.
9+
+
10+
The log topic is a separate output topic for messages containing additional `loglevel`, `fqn`, and `instance` properties.
11+
12+
. Optional: Configure advanced settings:
13+
+
14+
* *Instances*: Enter a number of sink instances to run.
15+
* *Processing Guarantee*: Select one of the following:
16+
** *ATLEAST_ONCE* (default): Each message sent to the function can be processed one or more times.
17+
** *ATMOST_ONCE*: Each message sent to the function is processed 0 or 1 times.
18+
This means there is a change that a message is not processed.
19+
** *EFFECTIVELY_ONCE*: Each message sent to the function has only one output associated with it.
20+
* *Timeout*: Set a timeout limit.
21+
* *Auto Acknowledge*: Enable or disable automatic message acknowledgment.
22+
23+
. If needed, provide a JSON-formatted config key for your function.
24+
This configuration depends on your function code.
25+
26+
. Click *Create*.
27+
28+
. Confirm your function was created on the *Functions* tab.
29+
+
30+
You can also verify the function deployment with the {pulsar-short} CLI:
31+
+
32+
[source,shell]
33+
----
34+
./bin/pulsar-admin functions list --tenant $TENANT
35+
----
36+
37+
Once created, the function starts processing messages from the input topics according to its logic.

0 commit comments

Comments
 (0)