After creating a cluster, set up your environment and develop&package your function, you can use the snctl, pulsarctl, pulsar-admin command, the REST API, or terraform to deploy a Pulsar function to your cluster.You can create a java Pulsar function by using a local JAR/NAR package or an uploaded Pulsar functions package(recommend).
Only Pulsar 4.0.x clusters running version 4.0.10.6 or later, or Pulsar 4.2.x clusters running version 4.2.1.4 or later, support the --sn-service-account flag.You can use --as-service-account instead of --sn-service-account if you are using other versions of Pulsar clusters.
Init the terraform provider in the same dir of your .tf file if you haven’t done it:
terraform init
You should see something like this:
Initializing the backend...Initializing provider plugins...- Finding streamnative/pulsar versions matching "0.2.0"...- Installing streamnative/pulsar v0.2.0...- Installed streamnative/pulsar v0.2.0 (self-signed, key ID 3105E1011F3C3671)Partner and community providers are signed by their developers.If you'd like to know more about provider signing, you can read about it here:https://www.terraform.io/docs/cli/plugins/signing.htmlTerraform has created a lock file .terraform.lock.hcl to record the providerselections it made above. Include this file in your version control repositoryso that Terraform can guarantee to make the same selections by default whenyou run "terraform init" in the future.Terraform has been successfully initialized!You may now begin working with Terraform. Try running "terraform plan" to seeany changes that are required for your infrastructure. All Terraform commandsshould now work.If you ever set or change modules or backend configuration for Terraform,rerun this command to reinitialize your working directory. If you forget, othercommands will detect it and remind you to do so if necessary.
Create the function:
terraform apply
You should see something like:
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + createTerraform will perform the following actions: # pulsar_function.function-1 will be created + resource "pulsar_function" "function-1" { + auto_ack = true + classname = "org.apache.pulsar.functions.api.examples.ExclamationFunction" + cleanup_subscription = true + cpu = 0.5 + custom_runtime_options = jsonencode( { + env = { + HELLO = "WORLD" }, + snServiceAccount = "${SERVICE_ACCOUNT}" } ) + dead_letter_topic = "public/default/dlt" + disk_mb = 128 + forward_source_message_property = true + id = (known after apply) + inputs = [ + "persistent://public/default/test-java-input", ] + jar = "function://public/default/exclamation@v0.1" + log_topic = "public/default/lt" + max_message_retries = 100 + name = "function1" + namespace = "default" + output = "persistent://public/default/test-java-output" + parallelism = 1 + processing_guarantees = "ATLEAST_ONCE" + ram_mb = 128 + retain_key_ordering = true + secrets = jsonencode( { + SECRET1 = { + key = "hello" + path = "sectest" } } ) + skip_to_latest = true + subscription_name = "test-sub" + subscription_position = "Latest" + tenant = "public" + timeout_ms = 6666 }Plan: 1 to add, 0 to change, 0 to destroy.Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
The function is assumed to be already uploaded at this point. If you have not
uploaded the function, change the url parameter to be your local filepath.
This will look something like the following.
-F 'url=file://$YOUR_LCOAL_JAR_OR_NAR_FILE'
You should see something like this:
Created successfully
Replace the placeholder variables with the actual values that you can get when setting up client tools.
WEB_SERVICE_URL: the HTTPS service URL of your Pulsar cluster.
TOKEN: a valid token to interact with your Pulsar cluster.
FUNCTION_NAME: the name of your function.
FUNCTION_VERSION: the version of your function you want to deploy e.g. 1.12.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"StreamNative Documentation","colors":{"primary":"#177bed","light":"#B9D7FA","dark":"#0e4a8e"},"logo":{"light":"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/light.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=a0e61dd3a50e9c0288bf4e3ea0a398be","dark":"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/dark.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=7f1091351e4896879ce3b26d2363e4f4"},"favicon":"https://mintcdn.com/streamnative/_E3AfN6vzMatrPox/favicon.svg?fit=max\u0026auto=format\u0026n=_E3AfN6vzMatrPox\u0026q=85\u0026s=dac7639f549cf27f910111f7ac2d02dd","background":{"color":{"dark":"#0A0B0D"}},"navbar":{"links":[{"href":"/support/get-support","label":"Support"}],"primary":{"type":"button","label":"Console","href":"https://console.streamnative.cloud"}},"footer":{"socials":{"x":"https://x.com/streamnative.io","github":"https://github.com/streamnative","linkedin":"https://linkedin.com/company/streamnative"}},"seo":{"metatags":{"canonical":"https://docs.streamnative.io","og:site_name":"StreamNative Documentation","og:type":"website","og:image":"https://docs.streamnative.io/logo/light.svg","twitter:card":"summary_large_image","twitter:site":"@streamnativeio"},"indexing":"all"},"fonts":{"heading":{"family":"Funnel Display","weight":500},"body":{"family":"Funnel Sans","weight":400}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"streamnative","hasAudioNarration":false,"actualSubdomain":"streamnative","customDomains":["docs.streamnative.io"],"gitSource":{"type":"github","owner":"streamnative","repo":"sn-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae94f2ebe7f1d4ab336d3be","collectionId":"b44ba9f7-b2d3-4628-97c7-2cd8177cbe5d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae94f2ebe7f1d4ab336d3be"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae94f2ebe7f1d4ab336d3be","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"StreamNative Cloud","count":814},{"language":"default","tag":"Pulsar","count":665},{"language":"default","tag":"StreamNative Private Cloud","count":300},{"language":"default","tag":"Pulsar Changelogs","count":273},{"language":"default","tag":"Kafka","count":163},{"language":"default","tag":"References","count":150},{"language":"default","tag":"Resources","count":146},{"language":"default","tag":"Streamnative Pulsar Changelogs","count":117},{"language":"default","tag":"Kafka Clients","count":97},{"language":"default","tag":"Guides","count":83}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@streamnative.io","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* latin-ext */\n@font-face {\n font-family: 'DM Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Funnel Sans';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/funnelsans/v3/OpNfno8Dg9bX6Bsp3Wq69RB-VukSVv3aISFAp3m0d2VMrDw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Funnel Sans';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/funnelsans/v3/OpNfno8Dg9bX6Bsp3Wq69RB-VukSVv3aISFAp3m0eWVM.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\ncode,kbd,pre,samp{font-family:'DM Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:.875rem;line-height:1.6;letter-spacing:0}h1,h2,h3,h4{font-weight:500}h1{font-family:'Funnel Display',sans-serif;font-size:2rem;letter-spacing:-.02em}h2,h3,h4{font-family:'Funnel Sans',sans-serif}h1,h2{line-height:1.2}h2{font-size:1.5rem;letter-spacing:-.01em}h3,h4{letter-spacing:0}h2,h3{margin-top:2rem;margin-bottom:1rem}h3{font-size:1.25rem;line-height:1.3}h4{font-size:1.125rem;line-height:1.4}body{color:#485565}.dark body,.dark main{color:#9aa4b2}.dark h1,.dark h2,.dark h3,.dark h4{color:#fff}div:has(>.nav-dropdown-products-selector-trigger)>:nth-child(2){order:1}"}],"page":{"pagePath":"cloud/process/pulsar-functions/develop-functions/function-develop-java","slug":"/cloud/process/pulsar-functions/develop-functions/function-develop-java","pageMetadata":{"title":"Develop Pulsar Functions in Java","id":"function-develop-java","category":"functions","tags":["cloud","overview","function"],"sidebarTitle":"Develop Java Functions","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-java"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This section introduces how to develop and pacakge Java Pulsar functions to use on StreamNative cloud.`}),`\n`,_jsx(Heading,{level:`2`,id:`develop`,children:`Develop`}),`\n`,_jsxs(_components.p,{children:[`StreamNative supports all features for the Java functions, please refer to: `,_jsx(_components.a,{href:`https://pulsar.apache.org/docs/3.2.x/functions-develop/`,children:`Develop Functions`}),`\nto learn how to develop a Java Function.`]}),`\n`,_jsx(Heading,{level:`2`,id:`package`,children:`Package`}),`\n`,_jsxs(_components.p,{children:[`Please refer to: `,_jsx(_components.a,{href:`https://pulsar.apache.org/docs/3.2.x/functions-package-java/`,children:`Pacakge Java Functions`})]}),`\n`,_jsx(Heading,{level:`2`,id:`deploy`,children:`Deploy`}),`\n`,_jsxs(_components.p,{children:[`After creating a cluster, set up your environment and develop\u0026package your function, you can use the `,_jsx(_components.code,{children:`snctl`}),`, `,_jsx(_components.code,{children:`pulsarctl`}),`, `,_jsx(_components.code,{children:`pulsar-admin`}),` command, the REST API, or `,_jsx(_components.code,{children:`terraform`}),` to deploy a Pulsar function to your cluster.`]}),`\n`,_jsx(_components.p,{children:`You can create a java Pulsar function by using a local JAR/NAR package or an uploaded Pulsar functions package(recommend).`}),`\n`,_jsx(Heading,{level:`3`,id:`optional-upload-your-function-file-to-pulsar`,children:`(Optional) Upload your function file to Pulsar`}),`\n`,_jsx(_components.p,{children:`It’s recommended to upload your function file to Pulsar before you create a function. Since you can add a version suffix to the package.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`snctl`,id:`snctl`,children:[_jsx(_components.p,{children:`Upload packages`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`snctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulsar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` admin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` packages`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upload`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` function://`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`tenant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`namespace`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`package_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"--path ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--description `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`description`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--properties `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`fileName=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see the following output:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`The`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` package`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" 'function://${tenant}/${namespace}/${package_name}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uploaded`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` path`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" '${file_path}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Pulsarctl`,id:`pulsarctl`,children:[_jsx(_components.p,{children:`You need to set the context for Pulsarctl first:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# create a context`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsarctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` context`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`context-name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"--admin-service-url ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`admin-service-url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"--issuer-endpoint ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`issuerUrl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--audience `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`urn:sn:pulsar:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`orgName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`instanceName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"--key-file ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`privateKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# activate oauth2`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsarctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` oauth2`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` activate`})]}),`\n`]})})}),_jsxs(Note,{title:`Note`,children:[_jsxs(_components.p,{children:[`Replace the placeholder variables with the actual values that you can get when `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-setup#set-up-client-tools`,children:`setting up client tools`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`context-name`}),`: any name you want`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`admin-service-url`}),`: the HTTP service URL of your Pulsar cluster.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`privateKey`}),`: the path to the downloaded OAuth2 key file.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`issuerUrl`}),`: the URL of the OAuth2 issuer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`audience`}),`: the `,_jsx(_components.a,{href:`/cloud/references/glossary#uniform-resource-name-urn`,children:`Uniform Resource Name (URN)`}),`, which is a combination of the `,_jsx(_components.code,{children:`urn:sn:pulsar`}),`, your organization name, and your Pulsar instance name.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${orgName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#organization`,children:`organization`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${instanceName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#instance`,children:`instance`}),`.`]}),`\n`]}),`\n`]}),`\n`]})]}),_jsx(_components.p,{children:`Upload packages`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsarctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` packages`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upload`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` function://`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`tenant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`namespace`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`package_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"--path ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--description `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`description`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--properties `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`fileName=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see the following output:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`The`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` package`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" 'function://${tenant}/${namespace}/${package_name}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uploaded`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` path`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" '${file_path}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Pulsar-admin`,id:`pulsar-admin`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./bin/pulsar-admin`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --admin-url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`WEB_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --auth-plugin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --auth-params`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \\'{\"privateKey\":\"file://${privateKey}\",\"issuerUrl\":\"${issuerUrl}\",\"audience\":\"urn:sn:pulsar:${orgName}:${instanceName}}\\''}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` packages`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upload`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` function://`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`tenant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`namespace`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`package_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --description`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`description`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --properties`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` fileName=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`file_name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),_jsxs(Note,{title:`Note`,children:[_jsxs(_components.p,{children:[`Replace the placeholder variables with the actual values that you can get when `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-setup#set-up-client-tools`,children:`setting up client tools`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`admin-url`}),`: the HTTP service URL of your Pulsar cluster.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`privateKey`}),`: the path to the downloaded OAuth2 key file.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`issuerUrl`}),`: the URL of the OAuth2 issuer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`audience`}),`: the `,_jsx(_components.a,{href:`/cloud/references/glossary#uniform-resource-name-urn`,children:`Uniform Resource Name (URN)`}),`, which is a combination of the `,_jsx(_components.code,{children:`urn:sn:pulsar`}),`, your organization name, and your Pulsar instance name.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${orgName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#organization`,children:`organization`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${instanceName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#instance`,children:`instance`}),`.`]}),`\n`]}),`\n`]}),`\n`]})]}),_jsx(_components.p,{children:`You should see the following output:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`The`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` package`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" 'function://${tenant}/${namespace}/${package_name}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uploaded`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` path`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" '${file_path}'\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`create`,children:`Create`}),`\n`,_jsxs(_components.p,{children:[`You need to package your Java function as a `,_jsx(_components.code,{children:`.jar`}),` or `,_jsx(_components.code,{children:`.nar`}),` file (and upload it to Pulsar) first.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`snctl`,id:`snctl-2`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`snctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulsar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` admin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` functions`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--tenant `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--namespace `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`default`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--name `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--inputs `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-input`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--output `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-output`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--classname `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`org.apache.pulsar.functions.api.examples.ExclamationFunction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--jar `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/exclamation@v0.1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--sn-service-account `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SERVICE_ACCOUNT`})]}),`\n`]})})}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[`Only Pulsar 4.0.x clusters running version 4.0.10.6 or later, or Pulsar 4.2.x clusters running version 4.2.1.4 or later, support the `,_jsx(_components.code,{children:`--sn-service-account`}),` flag.`]}),_jsxs(_components.p,{children:[`You can use `,_jsx(_components.code,{children:`--as-service-account`}),` instead of `,_jsx(_components.code,{children:`--sn-service-account`}),` if you are using other versions of Pulsar clusters.`]})]}),_jsx(_components.p,{children:`You should see something like this:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Created`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` function1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Pulsarctl`,id:`pulsarctl-2`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsarctl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` functions`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--tenant `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--namespace `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`default`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--name `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--inputs `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-input`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--output `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-output`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--classname `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`org.apache.pulsar.functions.api.examples.ExclamationFunction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--jar `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/exclamation@v0.1`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see something like this:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Created`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` function1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Pulsar-admin`,id:`pulsar-admin-2`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./bin/pulsar-admin`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--admin-url `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`WEB_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--auth-plugin `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--auth-params `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{\"privateKey\":\"file:///YOUR-KEY-FILE-PATH\",\"issuerUrl\":\"https://auth.streamnative.cloud/\",\"audience\":\"urn:sn:pulsar:\\${orgName}:\\${instanceName}}'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`functions `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`create`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--tenant `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--namespace `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`default`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--name `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--inputs `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-input`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--output `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`persistent://public/default/test-java-output`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--classname `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`org.apache.pulsar.functions.api.examples.ExclamationFunction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--jar `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/exclamation@v0.1`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see something like this:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Created`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Terraform`,id:`terraform`,children:[_jsx(_components.p,{children:`Create your terraform yaml file:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`62`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`62`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`terraform {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` required_providers {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulsar = {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` version = \"0.2.0\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` source = \"registry.terraform.io/streamnative/pulsar\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`provider \"pulsar\" {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` web_service_url = \"{$admin-url}\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api_version = \"3\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' audience = \"urn:sn:pulsar:${orgName}:${instanceName}}\"'})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' issuer_url = \"${issuerUrl}\"'})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' key_file_path = \"${privateKey}\"'})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`// Note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function resource requires v3 api.`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`resource \"pulsar_function\" \"function-1\" {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` provider = pulsar`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` name = \"function1\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tenant = \"public\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` namespace = \"default\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` parallelism = 1`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` processing_guarantees = \"ATLEAST_ONCE\"`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jar = \"function://public/default/exclamation@v0.1\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` classname = \"org.apache.pulsar.functions.api.examples.ExclamationFunction\"`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` inputs = [\"persistent://public/default/test-java-input\"]`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` output = \"persistent://public/default/test-java-output\"`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` subscription_name = \"test-sub\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` subscription_position = \"Latest\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cleanup_subscription = true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` skip_to_latest = true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` forward_source_message_property = true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` retain_key_ordering = true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auto_ack = true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` max_message_retries = 100`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dead_letter_topic = \"public/default/dlt\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` log_topic = \"public/default/lt\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` timeout_ms = 6666`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secrets = jsonencode(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"SECRET1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sectest\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hello\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` custom_runtime_options = jsonencode(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"env\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"HELLO\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"WORLD\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"snServiceAccount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${SERVICE_ACCOUNT}\"'})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Init the terraform provider in the same dir of your `,_jsx(_components.code,{children:`.tf`}),` file if you haven’t done it:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`terraform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` init`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see something like this:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`25`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Initializing`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` backend...`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Initializing`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` provider`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` plugins...`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Finding`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` streamnative/pulsar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` versions`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` matching`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0.2.0\"...`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Installing`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` streamnative/pulsar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` v0.2.0...`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Installed`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` streamnative/pulsar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` v0.2.0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (self-signed, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`key`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 3105E1011F3C3671`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Partner`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` and`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` community`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` providers`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` are`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` signed`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` by`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` their`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` developers.`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`If`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` you'd like to know more about provider signing, you can read about it here:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`https://www.terraform.io/docs/cli/plugins/signing.html`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Terraform has created a lock file .terraform.lock.hcl to record the provider`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`selections it made above. Include this file in your version control repository`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`so that Terraform can guarantee to make the same selections by default when`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`you run \"terraform init\" in the future.`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Terraform has been successfully initialized!`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`You may now begin working with Terraform. Try running \"terraform plan\" to see`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`any changes that are required for your infrastructure. All Terraform commands`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`should now work.`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`If you ever set or change modules or backend configuration for Terraform,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`rerun this command to reinitialize your working directory. If you forget, other`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`commands will detect it and remind you to do so if necessary.`})}),`\n`]})})}),_jsx(_components.p,{children:`Create the function:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`terraform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apply`})]}),`\n`]})})}),_jsx(_components.p,{children:`You should see something like:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`58`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`58`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Terraform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` used`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` selected`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` providers`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generate`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` following`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` execution`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` plan.`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Resource`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` actions`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` are`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` indicated`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` with`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` following`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` symbols:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Terraform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` will`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` perform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` following`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` actions:`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # pulsar_function.function-1 will be created`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` resource`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pulsar_function\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function-1\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auto_ack`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` classname`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"org.apache.pulsar.functions.api.examples.ExclamationFunction\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cleanup_subscription`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cpu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0.5`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` custom_runtime_options`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jsonencode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` env`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` HELLO`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"WORLD\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` snServiceAccount`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SERVICE_ACCOUNT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dead_letter_topic`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"public/default/dlt\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` disk_mb`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 128`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` forward_source_message_property`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (known `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`after`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apply`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` inputs`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"persistent://public/default/test-java-input\",`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jar`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function://public/default/exclamation@v0.1\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` log_topic`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"public/default/lt\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` max_message_retries`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 100`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` name`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function1\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` namespace`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` output`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"persistent://public/default/test-java-output\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` parallelism`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` processing_guarantees`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ATLEAST_ONCE\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ram_mb`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 128`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` retain_key_ordering`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secrets`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jsonencode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` SECRET1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` key`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"hello\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` path`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sectest\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` skip_to_latest`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` subscription_name`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"test-sub\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` subscription_position`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Latest\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tenant`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"public\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` timeout_ms`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 6666`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Plan:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add,`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` change,`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` destroy.`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Do`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` you`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` want`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` perform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` these`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` actions?`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` Terraform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` will`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` perform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` the`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` actions`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` described`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` above.`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` Only`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'yes'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` will`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` be`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` accepted`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` approve.`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` Enter`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` a`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` value:`})]}),`\n`]})})}),_jsx(_components.p,{children:`After enter “yes”, you should see the following:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsar_function.function-1:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Creating...`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulsar_function.function-1:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Creation`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` complete`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` after`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 1s`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [id=public/default/function1]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Apply`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` complete!`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Resources:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` added,`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` changed,`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` destroyed.`})]}),`\n`]})})}),_jsxs(Note,{title:`Note`,children:[_jsxs(_components.p,{children:[`Replace the placeholder variables with the actual values that you can get when `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-setup#set-up-client-tools`,children:`setting up client tools`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`admin-url`}),`: the HTTP service URL of your Pulsar cluster.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`privateKey`}),`: the path to the downloaded OAuth2 key file.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`issuerUrl`}),`: the URL of the OAuth2 issuer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`audience`}),`: the `,_jsx(_components.a,{href:`/cloud/references/glossary#uniform-resource-name-urn`,children:`Uniform Resource Name (URN)`}),`, which is a combination of the `,_jsx(_components.code,{children:`urn:sn:pulsar`}),`, your organization name, and your Pulsar instance name.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${orgName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#organization`,children:`organization`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:\"${instanceName}\"}),`: the name of your `,_jsx(_components.a,{href:`/cloud/references/glossary#instance`,children:`instance`}),`.`]}),`\n`]}),`\n`]}),`\n`]})]})]}),_jsxs(Tab,{title:`REST API`,id:`rest-api`,children:[_jsx(_components.p,{children:`If you would like to create a function configuration using the REST API you can\ndo so using CURL.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`WEB_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/admin/v3/functions/public/default/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`FUNCTION_NAME`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" 'Authorization: Bearer ${TOKEN}'\"}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: multipart/form-data\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \\'functionConfig={\"name\": \"${FUNCTION_NAME}\", \"tenant\": \"public\", \"namespace\": \"default\", \"runtime\": \"JAVA\", \"jar\": \"function://public/default/${PACKAGE_NAME}@${PACKAGE_VERSION}\", \"output\": \"public/default/output-test\", \"inputs\": [\"public/default/input\"], \"className\": \"org.apache.pulsar.functions.api.examples.ExclamationFunction\"};type=application/json\\''}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" 'url=function://public/default/${PACKAGE_NAME}@${PACKAGE_VERSION}'\"})]}),`\n`]})})}),_jsxs(Note,{title:`Note`,children:[_jsxs(_components.p,{children:[`The function is assumed to be already uploaded at this point. If you have not\nuploaded the function, change the `,_jsx(_components.code,{children:`url`}),` parameter to be your local filepath.\nThis will look something like the following.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`-F`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'url=file://$YOUR_LCOAL_JAR_OR_NAR_FILE'`})]}),`\n`]})})})]}),_jsx(_components.p,{children:`You should see something like this:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`Created`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` successfully`})]}),`\n`]})})}),_jsxs(Note,{title:`Note`,children:[_jsxs(_components.p,{children:[`Replace the placeholder variables with the actual values that you can get when `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-setup#set-up-client-tools`,children:`setting up client tools`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WEB_SERVICE_URL`}),`: the HTTPS service URL of your Pulsar cluster.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TOKEN`}),`: a valid token to interact with your Pulsar cluster.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`FUNCTION_NAME`}),`: the name of your function.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`FUNCTION_VERSION`}),`: the version of your function you want to deploy e.g. 1.12.`]}),`\n`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For details about Pulsar function configurations, see `,_jsx(_components.a,{href:`#pulsar-function-configurations`,children:`Pulsar function configurations`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s next?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Learn how to develop `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/develop-functions/function-develop-python`,children:`Python functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to develop `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/develop-functions/function-develop-golang`,children:`Golang functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to develop `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/develop-functions/function-develop-nodejs`,children:`NodeJs functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to develop `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/develop-functions/function-develop-wasm`,children:`WASM functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-manage`,children:`manage functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-state`,children:`configure stateful functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Learn how to `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-monitoring`,children:`monitor functions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Reference `,_jsx(_components.a,{href:`/cloud/process/pulsar-functions/function-config`,children:`common configurations`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Develop Pulsar Functions in Java","id":"function-develop-java","category":"functions","tags":["cloud","overview","function"],"sidebarTitle":"Develop Java Functions","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-java"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Develop","slug":"develop","depth":2,"children":[]},{"title":"Package","slug":"package","depth":2,"children":[]},{"title":"Deploy","slug":"deploy","depth":2,"children":[{"title":"(Optional) Upload your function file to Pulsar","slug":"optional-upload-your-function-file-to-pulsar","depth":3,"children":[]},{"title":"Create","slug":"create","depth":3,"children":[]}]},{"title":"What’s next?","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/streamnative/9e165e8cbf8e8808/scripts/fix-hub-meta.js","/_mintlify/custom/streamnative/c2d281dc3d246a54/scripts/fix-hub-note.js","/_mintlify/custom/streamnative/5855b8c91ee0723b/scripts/fix-hub-tab.js","/_mintlify/custom/streamnative/2ae2ad30d0ad3c68/scripts/import/importDocs.js","/_mintlify/custom/streamnative/a68a187867c1e64a/scripts/hub/fix-hub-meta.js","/_mintlify/custom/streamnative/0f92aab004f53e53/scripts/hub/fix-hub-note.js","/_mintlify/custom/streamnative/ad536b8b4d2d9ba0/scripts/hub/fix-hub-tab.js","/_mintlify/custom/streamnative/d16acfa2fc71d4c8/connect/sync.js","/_mintlify/custom/streamnative/01a1b96abbfd1fe3/scripts/sync-pulsar-release-channels.js","/_mintlify/custom/streamnative/e81c5fd9954b02fe/scripts/validate-docs-nav.js"],"subdomain":"streamnative","siteName":"StreamNative Documentation","title":"Develop Pulsar Functions in Java - StreamNative Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T09:47:14.153Z","originalFileLocation":"cloud/process/pulsar-functions/develop-functions/function-develop-java.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Develop Pulsar Functions in Java - StreamNative Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.streamnative.io/logo/light.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Develop Pulsar Functions in Java - StreamNative Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.streamnative.io/logo/light.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#177bed\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cloud/process/pulsar-functions/develop-functions/function-develop-java.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.streamnative.io/#organization\",\"name\":\"StreamNative Documentation\",\"url\":\"https://docs.streamnative.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/light.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=a0e61dd3a50e9c0288bf4e3ea0a398be\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.streamnative.io#website\",\"name\":\"StreamNative Documentation\",\"url\":\"https://docs.streamnative.io\",\"publisher\":{\"@id\":\"https://docs.streamnative.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java#webpage\",\"url\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java\",\"name\":\"Develop Pulsar Functions in Java\",\"dateModified\":\"2026-11-02T09:47:14.153Z\",\"isPartOf\":{\"@id\":\"https://docs.streamnative.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Process\",\"item\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/functions-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pulsar Functions\",\"item\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/functions-overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Develop Functions\",\"item\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Develop Pulsar Functions in Java\",\"item\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java#article\",\"headline\":\"Develop Pulsar Functions in Java\",\"name\":\"Develop Pulsar Functions in Java\",\"url\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-java#webpage\"},\"image\":\"https://docs.streamnative.io/logo/light.svg\",\"dateModified\":\"2026-11-02T09:47:14.153Z\",\"publisher\":{\"@id\":\"https://docs.streamnative.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.streamnative.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"StreamNative Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"StreamNative Documentation","nav":{"global":null,"products":[{"product":"StreamNative Cloud","icon":"cloud","description":"Serverless, Dedicated, and BYOC","tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":"/home"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/cloud/overview/cloud-overview"}]},{"tab":"Pulsar","groups":[{"group":"Get Started","pages":[{"title":"Quick Start for StreamNative Cloud","sidebarTitle":"Quick Start","href":"/cloud/get-started/quickstart-console"},{"title":"StreamNative Cloud Console Basics","sidebarTitle":"Cloud Console","href":"/cloud/get-started/cloud-console"},{"group":"BYOC Quick Starts","pages":[{"title":"Quick Start for BYOC Latency Optimized Cluster","sidebarTitle":"Latency Optimized Profile","href":"/cloud/get-started/quickstart-byoc-latencyprofile"},{"title":"Quick Start for BYOC Cost Optimized Cluster","sidebarTitle":"Cost Optimized Profile","href":"/cloud/get-started/quickstart-byoc-costprofile"}]}]},{"group":"Clusters","pages":[{"group":"Manage Clusters","pages":[{"title":"Manage StreamNative Clusters","sidebarTitle":"Overview","href":"/cloud/clusters/manage-clusters/cluster"},{"title":"Manage Serverless Clusters on StreamNative Cloud","sidebarTitle":"Serverless Clusters","href":"/cloud/clusters/manage-clusters/manage-serverless-clusters"},{"title":"Manage Dedicated Clusters on StreamNative Cloud","sidebarTitle":"Dedicated Clusters","href":"/cloud/clusters/manage-clusters/manage-dedicated-clusters"},{"title":"Manage BYOC Clusters on StreamNative Cloud","sidebarTitle":"BYOC Clusters","href":"/cloud/clusters/manage-clusters/manage-byoc-clusters"}]},{"group":"Configure Clusters","pages":[{"title":"Cluster Configuration Overview","sidebarTitle":"Cluster Configuration Overview","href":"/cloud/clusters/configure-clusters/cluster-configuration-overview"},{"title":"Configure Cluster Features","sidebarTitle":"Cluster Features","href":"/cloud/clusters/configure-clusters/configure-cluster-features"},{"title":"Configure Protocols","sidebarTitle":"Available Protocols","href":"/cloud/clusters/configure-clusters/configure-protocols"},{"title":"Configure Cluster Settings","sidebarTitle":"Cluster Settings","href":"/cloud/clusters/configure-clusters/configure-cluster-settings"}]},{"group":"Scale Clusters","pages":[{"title":"Resize a Cluster","sidebarTitle":"Resize a Cluster","href":"/cloud/clusters/scale-clusters/resize-a-cluster"},{"title":"Configure Auto-Scaling","sidebarTitle":"Auto Scaling","href":"/cloud/clusters/scale-clusters/cloud-autoscaling"}]},{"title":"Release Channel","sidebarTitle":"Release Channel","href":"/cloud/clusters/cloud-release-channel"},{"title":"Geo Replication on StreamNative Cloud","sidebarTitle":"Geo Replication","href":"/cloud/clusters/cloud-geo-replication"},{"title":"Maintenance Window","sidebarTitle":"Maintenance Window","href":"/cloud/clusters/cloud-maintenance-window"},{"title":"Maintenance Notification","sidebarTitle":"Maintenance Notification","href":"/cloud/clusters/cloud-maintenance-notification"}]},{"group":"Data Streams","pages":[{"title":"Manage Data Streams in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/manage-data-streams/data-streams-overview"},{"title":"Work with Tenants in StreamNative Cloud","sidebarTitle":"Work with Tenants","href":"/cloud/manage-data-streams/tenant"},{"title":"Work with Namespaces in StreamNative Cloud","sidebarTitle":"Work with Namespaces","href":"/cloud/manage-data-streams/namespace"},{"title":"Work with Topics in StreamNative Cloud","sidebarTitle":"Work with Topics","href":"/cloud/manage-data-streams/topic"}]},{"group":"Process","pages":[{"group":"Pulsar Functions","pages":[{"title":"Pulsar Functions Overview","sidebarTitle":"Overview","href":"/cloud/process/pulsar-functions/functions-overview"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/process/pulsar-functions/function-setup"},{"group":"Develop Functions","pages":[{"title":"Develop Pulsar Functions","sidebarTitle":"Overview","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-overview"},{"title":"Develop Pulsar Functions in Java","sidebarTitle":"Develop Java Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-java"},{"title":"Develop Pulsar Functions in Python","sidebarTitle":"Develop Python Functions","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-python"},{"title":"Develop Pulsar Functions in Golang(Private Preview)","sidebarTitle":"Develop Golang Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-golang"},{"title":"Develop Pulsar Functions in NodeJs(Private Preview)","sidebarTitle":"Develop NodeJs Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-nodejs"},{"title":"Develop Pulsar Functions in WASM(Private Preview)","sidebarTitle":"Develop WASM Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-wasm"},{"title":"Custom Runner Images for BYOC Pro","sidebarTitle":"Custom Runner Images","href":"/cloud/process/pulsar-functions/develop-functions/function-custom-images"}]},{"title":"Manage Functions","sidebarTitle":"Manage Functions","href":"/cloud/process/pulsar-functions/function-manage"},{"title":"Configure state storage (Private Preview)","sidebarTitle":"Configure state storage","href":"/cloud/process/pulsar-functions/function-state"},{"title":"Monitor and Troubleshoot Functions","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/process/pulsar-functions/function-monitoring"},{"title":"Configuration Reference","sidebarTitle":"Configuration Reference","href":"/cloud/process/pulsar-functions/function-config"}]},{"group":"Pfsql","pages":[{"title":"pfSQL (Alpha) Overview","sidebarTitle":"Overview","href":"/cloud/process/pfsql/pfsql-overview"},{"title":"Work with pfSQL on Cloud Console","sidebarTitle":"Work with Cloud Console","href":"/cloud/process/pfsql/pfsql-work-with-cloud-console"},{"title":"Work with pfSQL CLI","sidebarTitle":"Work With pfSQL CLI","href":"/cloud/process/pfsql/pfsql-work-with-cli"},{"title":"Get started with pfSQL","sidebarTitle":"Get Started","href":"/cloud/process/pfsql/pfsql-get-started"},{"title":"Understand pfSQL","sidebarTitle":"Understand pfSQL","href":"/cloud/process/pfsql/pfsql-understand"},{"title":"Built-in UDFs","sidebarTitle":"Built-in UDFs","href":"/cloud/process/pfsql/pfsql-built-in-udfs"}]}]},{"group":"Connect","pages":[{"title":"Pulsar IO Connectors","sidebarTitle":"Overview","href":"/cloud/connect/connector-index"},{"group":"Pulsar IO","pages":[{"title":"Connector Overview","sidebarTitle":"Overview","href":"/cloud/connect/pulsar-io/connector-overview"},{"group":"Deploy Connectors","pages":[{"title":"Deploy connectors","sidebarTitle":"Overview","href":"/cloud/connect/pulsar-io/deploy-connectors/deploy-connector-index"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-setup"},{"title":"Check Connector Availability","sidebarTitle":"Check Connector Availability","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-check"},{"title":"Create Connectors","sidebarTitle":"Create Connectors","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-create"}]},{"title":"Manage Connectors","sidebarTitle":"Manage Connectors","href":"/cloud/connect/pulsar-io/connector-manage"},{"title":"Monitor and Troubleshoot Connectors","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/connect/pulsar-io/connector-monitoring"},{"title":"Configuration Reference","sidebarTitle":"Configuration Reference","href":"/cloud/connect/pulsar-io/connector-config"}]},{"group":"Kafka Connect","pages":[{"title":"Kafka Connect Overview","sidebarTitle":"Overview","href":"/cloud/connect/kafka-connect/kafka-connect-overview"},{"group":"Deploy Kafka Connectors","pages":[{"title":"Deploy kafka connectors","sidebarTitle":"Overview","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/deploy-kafka-connect-index"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-setup"},{"title":"Check Kafka Connect Availability","sidebarTitle":"Check Kafka Connect Availability","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-check"},{"title":"Create Kafka Connectors","sidebarTitle":"Create Kafka Connects","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-create"}]},{"title":"Manage Kafka Connectors","sidebarTitle":"Manage Kafka Connectors","href":"/cloud/connect/kafka-connect/kafka-connect-manage"},{"title":"Monitor and Troubleshoot Kafka Connectors","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/connect/kafka-connect/kafka-connect-monitoring"},{"title":"Kafka Connect SMTs(Single Message Transformations)","sidebarTitle":"SMTs(Single Message Transforms)","href":"/cloud/connect/kafka-connect/kafka-connect-smt"}]},{"group":"Self Host Connectors","pages":[{"title":"Connect to your cluster using Kafka Connect","sidebarTitle":"Kafka Connect Quick Start","href":"/cloud/connect/self-host-connectors/cloud-connect-elasticsearch"}]}]},{"group":"Lakehouse","pages":[{"title":"Overview - Lakehouse Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-tables-overview"},{"title":"Lakehouse Table Overview","sidebarTitle":"Lakehouse Table Overview","href":"/cloud/lakehouse/lakehouse-table-overview"},{"title":"Enable Lakehouse Table","sidebarTitle":"Enable Lakehouse Table","href":"/cloud/lakehouse/enable-lakehouse-integration"},{"group":"Lakehouse Features","pages":[{"title":"Lakehouse Features Overview","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-features"},{"title":"Schema Evolution","sidebarTitle":"Schema Evolution","href":"/cloud/lakehouse/features/schema-evolution"},{"title":"Variant Type","sidebarTitle":"Variant Type","href":"/cloud/lakehouse/features/variant-type"},{"title":"Partition Key","sidebarTitle":"Partition Key","href":"/cloud/lakehouse/features/iceberg-partition-key"},{"title":"Upsert","sidebarTitle":"Upsert","href":"/cloud/lakehouse/features/iceberg-upsert"},{"title":"Persist Key","sidebarTitle":"Persist Key","href":"/cloud/lakehouse/features/persist-key"},{"title":"Persist Extra Metadata","sidebarTitle":"Persist Extra Metadata","href":"/cloud/lakehouse/features/persist-extra-metadata"},{"title":"Data Lineage","sidebarTitle":"Data Lineage","href":"/cloud/lakehouse/features/lineage"}]},{"group":"Internal Tables","pages":[{"title":"Overview - Internal Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/internal-tables/internal-tables-overview"}]},{"group":"External Tables","pages":[{"title":"Overview - External Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/external-tables/external-tables-overview"}]},{"group":"Catalogs","pages":[{"title":"Overview of StreamNative Catalogs","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/catalog-overview"},{"group":"Prepare Catalogs","pages":[{"title":"Prepare Lakehouse Catalogs","sidebarTitle":"Prepare Lakehouse Catalogs","href":"/cloud/lakehouse/prepare-lakehouse-catalogs"},{"title":"BigLake for Iceberg","sidebarTitle":"BigLake for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/biglake/iceberg"},{"title":"Horizon Catalog for Iceberg on AWS","sidebarTitle":"Horizon Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/horizon-catalog/iceberg/aws"},{"group":"Open Catalog (Iceberg)","pages":[{"title":"Open Catalog for Iceberg on AWS","sidebarTitle":"Open Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/aws"},{"title":"Open Catalog for Iceberg on Azure","sidebarTitle":"Open Catalog for Iceberg on Azure","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/azure"},{"title":"Open Catalog for Iceberg on GCP","sidebarTitle":"Open Catalog for Iceberg on GCP","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/gcp"}]},{"title":"S3Table for Iceberg","sidebarTitle":"S3Table for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/s3table/iceberg"},{"group":"Unity Catalog (Iceberg)","pages":[{"title":"Unity Catalog Managed Iceberg Table on AWS","sidebarTitle":"Unity Catalog Managed Iceberg Table on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/aws"},{"title":"Unity Catalog Managed Iceberg Table on Azure","sidebarTitle":"Unity Catalog Managed Iceberg Table on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/azure"},{"title":"Unity Catalog Managed Iceberg Table on GCP","sidebarTitle":"Unity Catalog Managed Iceberg Table on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/gcp"}]},{"group":"Unity Catalog (Delta Lake)","pages":[{"title":"Unity Catalog for Delta Lake on AWS","sidebarTitle":"Unity Catalog for Delta Lake on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/aws"},{"title":"Unity Catalog for Delta Lake on Azure","sidebarTitle":"Unity Catalog for Delta Lake on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/azure"},{"title":"Unity Catalog for Delta Lake on GCP","sidebarTitle":"Unity Catalog for Delta Lake on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/gcp"}]}]},{"title":"Register Catalog","sidebarTitle":"Register catalog","href":"/cloud/lakehouse/catalogs/register-catalog"},{"title":"Manage StreamNative Catalogs","sidebarTitle":"Manage catalogs","href":"/cloud/lakehouse/catalogs/manage-catalogs"},{"group":"Private Networking","pages":[{"title":"Private Networking for Catalog Integration","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/private-networking/overview"},{"title":"Private Networking for Snowflake Open Catalog","sidebarTitle":"Snowflake Open Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-open-catalog"},{"title":"Private Networking for Snowflake Horizon Catalog","sidebarTitle":"Snowflake Horizon Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-horizon-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Delta Lake)","sidebarTitle":"Databricks Delta Lake","href":"/cloud/lakehouse/catalogs/private-networking/databricks-unity-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Iceberg)","sidebarTitle":"Databricks Iceberg","href":"/cloud/lakehouse/catalogs/private-networking/databricks-iceberg"},{"title":"Private Networking for Amazon S3 Tables","sidebarTitle":"Amazon S3 Tables","href":"/cloud/lakehouse/catalogs/private-networking/s3-tables"},{"title":"Private Networking for Google BigLake","sidebarTitle":"Google BigLake","href":"/cloud/lakehouse/catalogs/private-networking/google-biglake"}]}]},{"title":"Lakehouse Observability","sidebarTitle":"Lakehouse Observability","href":"/cloud/lakehouse/lakehouse-observability"},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot duplicate file references in Unity Catalog","sidebarTitle":"Duplicate file references","href":"/cloud/lakehouse/unity-catalog-duplicate-file-references"}]}]},{"group":"Governance","pages":[{"title":"Data Governance on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/governance/governance-overview"},{"group":"Pulsar Schema Registry","pages":[{"title":"Pulsar Schema Registry","sidebarTitle":"Overview","href":"/cloud/governance/sr/pulsar/overview"},{"title":"Pulsar Schema Types","sidebarTitle":"Schema Types","href":"/cloud/governance/sr/pulsar/schema-types"},{"title":"Pulsar Schema Evolution and Compatibility","sidebarTitle":"Compatibility","href":"/cloud/governance/sr/pulsar/compatibility"},{"title":"Manage Pulsar Schemas","sidebarTitle":"Manage Schemas","href":"/cloud/governance/sr/pulsar/manage-schemas"},{"title":"Use Pulsar Schemas with Clients","sidebarTitle":"Use with Clients","href":"/cloud/governance/sr/pulsar/use-with-clients"}]},{"group":"Kafka Schema Registry","pages":[{"title":"Kafka Schema Registry on Pulsar Clusters","sidebarTitle":"Overview","href":"/cloud/governance/sr/kafka-schema-registry"},{"title":"Use External Avro Schema with Pulsar clients","sidebarTitle":"External Avro Schema","href":"/cloud/governance/sr/external-schemas/external-avro-schema"},{"title":"Use External JSON Schema with Pulsar clients","sidebarTitle":"External JSON Schema","href":"/cloud/governance/sr/external-schemas/external-json-schema"},{"title":"Use External Protobuf Schema with Pulsar clients","sidebarTitle":"External Protobuf Schema","href":"/cloud/governance/sr/external-schemas/external-protobuf-schema"},{"title":"Set up active-standby replication for Kafka Schema Registry using Universal Linking","sidebarTitle":"Schema Registry Geo-Replication","href":"/cookbook/kafka-schema-registry-geo-replication"}]}]},{"group":"Pulsar Clients","pages":[{"title":"Build applications using Pulsar clients","sidebarTitle":"Overview","href":"/cloud/build/pulsar-clients/qs-connect"},{"group":"Quick Starts","pages":[{"title":"Connect to your cluster using the Pulsar Java client","sidebarTitle":"Java","href":"/cloud/build/pulsar-clients/cloud-connect-java"},{"title":"Connect to your cluster using the Pulsar Python client","sidebarTitle":"Python","href":"/cloud/build/pulsar-clients/cloud-connect-python"},{"title":"Connect to your cluster using the Pulsar Go client","sidebarTitle":"Go","href":"/cloud/build/pulsar-clients/cloud-connect-go"},{"title":"Connect to your cluster using the Pulsar C++ client","sidebarTitle":"C++","href":"/cloud/build/pulsar-clients/cloud-connect-cpp"},{"title":"Connect to your cluster using the Pulsar Node.js client","sidebarTitle":"Nodejs","href":"/cloud/build/pulsar-clients/cloud-connect-nodejs"},{"title":"Connect to your cluster using the Pulsar C# client","sidebarTitle":"C#","href":"/cloud/build/pulsar-clients/cloud-connect-dotnet"},{"title":"Connect to your cluster using the Pulsar Rust client","sidebarTitle":"Rust","href":"/cloud/build/pulsar-clients/cloud-connect-rust"},{"title":"Connect to your cluster in Spring applications","sidebarTitle":"Spring","href":"/cloud/build/pulsar-clients/cloud-connect-spring"}]},{"title":"Connect to your cluster using the Pulsar WebSocket API","sidebarTitle":"Websocket","href":"/cloud/build/pulsar-clients/cloud-connect-websocket"},{"title":"Message Rest API QuickStart","sidebarTitle":"Message Rest API","href":"/cloud/build/pulsar-clients/connect-restapi"},{"title":"Pulsar Transactions","sidebarTitle":"Transactions","href":"/cloud/build/pulsar-clients/transactions-overview"},{"group":"Guides","pages":[{"title":"Connect to StreamNative Cloud Using Pulsar Clients","sidebarTitle":"Overview","href":"/clients/pulsar-clients/pulsar-clients-overview"},{"group":"Go","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-whats-next"}]}]}]}]},{"group":"MQTT Clients","pages":[{"title":"Build applications using MQTT","sidebarTitle":"Overview","href":"/cloud/build/mqtt-clients/mqtt-on-cloud-overview"}]},{"group":"Tools","pages":[{"group":"pulsarctl","pages":[{"title":"Get Started with Pulsar CLI (pulsarctl)","sidebarTitle":"Get Started","href":"/tools/cli/pulsarctl/pulsarctl-overview"},{"title":"pulsarctl Quick Reference","sidebarTitle":"Quick Reference","href":"/tools/cli/pulsarctl/pulsarctl-quick-reference"},{"title":"Configure Access to Multiple Clusters (snctl)","sidebarTitle":"Manage Multiple Clusters","href":"/tools/cli/pulsarctl/pulsarctl-configure-access-multiple-clusters"},{"title":"Tutorials: Manage Pulsar resources using pulsarctl","sidebarTitle":"pulsarctl Tutorial","href":"/tools/cli/pulsarctl/pulsarctl-tutorial"},{"title":"Extend the Pulsar CLI with Plugins","sidebarTitle":"Plugins","href":"/tools/cli/pulsarctl/pulsarctl-plugins"},{"title":"pulsarctl Command References","sidebarTitle":"Command References","href":"/tools/cli/pulsarctl/pulsarctl-command-references"}]},{"group":"Other Tools","pages":[{"title":"Use Pulsar Tools With StreamNative Cloud","sidebarTitle":"Use Pulsar Tools","href":"/tools/cli/other-tools/use-pulsar-tools-with-streamnative-cloud"},{"title":"Use Kafka Tools With StreamNative Cloud","sidebarTitle":"Use Kafka Tools","href":"/tools/cli/other-tools/use-kafka-tools-with-streamnative-cloud"},{"title":"Use kcat With StreamNative Cloud","sidebarTitle":"Use kcat","href":"/tools/cli/other-tools/use-kcat-with-streamnative-cloud"}]}]},{"group":"Pulsar Changelogs","pages":[{"group":"V5.0","pages":[{"title":null,"href":"/release-notes/pulsar/v5.0/v5.0.0.2"},{"title":null,"href":"/release-notes/pulsar/v5.0/v5.0.0-M1-SNAPSHOT"},{"title":null,"href":"/release-notes/pulsar/v5.0/v5.0.0-SNAPSHOT"}]},{"group":"V4.2","pages":[{"sidebarTitle":"v4.2.5.4 (rapid)","title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.4"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.3"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.2"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.1"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.18"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.17"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.16"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.15"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.14"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.13"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.12"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.11"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.10"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.9"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.8"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.7"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.6"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.5"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.4"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.1"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.1"}]},{"group":"V4.1","pages":[{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.6"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.5"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.4"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.3"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.2"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.1"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.16"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.15"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.14"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.13"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.12"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.11"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.4"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.1"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.0"}]},{"group":"V4.0","pages":[{"sidebarTitle":"v4.0.14.3 (stable)","title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.10"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.11.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.11.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.7.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.7.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.3.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.1"}]},{"group":"V3.3","pages":[{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.14"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.13"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.12"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.11"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.10"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.9"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.8"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.9"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.2"}]},{"group":"V3.2","pages":[{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.2"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.7"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.4"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.0.2"}]},{"group":"V3.1","pages":[{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.7"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.6"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.5"},{"title":"StreamNative Weekly Release Notes v3.1.0.4","sidebarTitle":"v3.1.0.4.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.4"},{"title":"StreamNative Weekly Release Notes v3.1.0.3","sidebarTitle":"v3.1.0.3.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.3"},{"title":"StreamNative Weekly Release Notes v3.1.0.2","sidebarTitle":"v3.1.0.2.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.2"},{"title":"StreamNative Weekly Release Notes v3.1.0.1","sidebarTitle":"v3.1.0.1.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.1"}]},{"group":"V3.0","pages":[{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.9"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.9"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.5"},{"title":"StreamNative Weekly Release Notes v3.0.1.2","sidebarTitle":"v3.0.1.2.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.1.2"},{"title":"StreamNative Weekly Release Notes v3.0.1.1","sidebarTitle":"v3.0.1.1.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.1.1"},{"title":"StreamNative Weekly Release Notes v3.0.0.4","sidebarTitle":"v3.0.0.4.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.4"},{"title":"StreamNative Weekly Release Notes v3.0.0.3","sidebarTitle":"v3.0.0.3.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.3"},{"title":"StreamNative Weekly Release Notes v3.0.0.2","sidebarTitle":"v3.0.0.2.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.2"},{"title":"StreamNative Weekly Release Notes v3.0.0.1","sidebarTitle":"v3.0.0.1.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.1"}]},{"group":"V2.11","pages":[{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.4.1"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.4"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.3"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.2"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.1"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.2.8"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.2.7"},{"title":"StreamNative Weekly Release Notes v2.11.2.6","sidebarTitle":"v2.11.2.6.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.6"},{"title":"StreamNative Weekly Release Notes v2.11.2.5","sidebarTitle":"v2.11.2.5.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.5"},{"title":"StreamNative Weekly Release Notes v2.11.2.4","sidebarTitle":"v2.11.2.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.4"},{"title":"StreamNative Weekly Release Notes v2.11.2.3","sidebarTitle":"v2.11.2.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.3"},{"title":"StreamNative Weekly Release Notes v2.11.2.2","sidebarTitle":"v2.11.2.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.2"},{"title":"StreamNative Weekly Release Notes v2.11.2.1","sidebarTitle":"v2.11.2.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.1"},{"title":"StreamNative Weekly Release Notes v2.11.1.4","sidebarTitle":"v2.11.1.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.4"},{"title":"StreamNative Weekly Release Notes v2.11.1.3","sidebarTitle":"v2.11.1.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.3"},{"title":"StreamNative Weekly Release Notes v2.11.1.2","sidebarTitle":"v2.11.1.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.2"},{"title":"StreamNative Weekly Release Notes v2.11.1.1","sidebarTitle":"v2.11.1.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.1"},{"title":"StreamNative Weekly Release Notes v2.11.1.0","sidebarTitle":"v2.11.1.0.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.0"},{"title":"StreamNative Weekly Release Notes v2.11.0.5","sidebarTitle":"v2.11.0.5.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.5"},{"title":"StreamNative Weekly Release Notes v2.11.0.4","sidebarTitle":"v2.11.0.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.4"},{"title":"StreamNative Weekly Release Notes v2.11.0.3","sidebarTitle":"v2.11.0.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.3"},{"title":"StreamNative Weekly Release Notes v2.11.0.2","sidebarTitle":"v2.11.0.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.2"},{"title":"StreamNative Weekly Release Notes v2.11.0.1","sidebarTitle":"v2.11.0.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.1"}]},{"group":"V2.10","pages":[{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.15"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.14"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.13"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.12"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.11"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.10"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.9"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.8"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.7"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.6"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.5"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.4"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.3"},{"title":"StreamNative Weekly Release Notes v2.10.5.1","sidebarTitle":"v2.10.5.1.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.5.1"},{"title":"StreamNative Weekly Release Notes v2.10.4.8","sidebarTitle":"v2.10.4.8.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.8"},{"title":"StreamNative Weekly Release Notes v2.10.4.7","sidebarTitle":"v2.10.4.7.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.7"},{"title":"StreamNative Weekly Release Notes v2.10.4.6","sidebarTitle":"v2.10.4.6.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.6"},{"title":"StreamNative Weekly Release Notes v2.10.4.5","sidebarTitle":"v2.10.4.5.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.5"},{"title":"StreamNative Weekly Release Notes v2.10.4.4","sidebarTitle":"v2.10.4.4.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.4"},{"title":"StreamNative Weekly Release Notes v2.10.4.3","sidebarTitle":"v2.10.4.3.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.3"},{"title":"StreamNative Weekly Release Notes v2.10.4.2","sidebarTitle":"v2.10.4.2.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.2"},{"title":"StreamNative Weekly Release Notes v2.10.4.1","sidebarTitle":"v2.10.4.1.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.1"},{"title":"StreamNative Weekly Release Notes v2.10.3.7","sidebarTitle":"v2.10.3.7.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.7"},{"title":"StreamNative Weekly Release Notes v2.10.3.6","sidebarTitle":"v2.10.3.6.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.6"},{"title":"StreamNative Weekly Release Notes v2.10.3.5","sidebarTitle":"v2.10.3.5.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.5"},{"title":"StreamNative Weekly Release Notes v2.10.3.4","sidebarTitle":"v2.10.3.4.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.4"},{"title":"StreamNative Weekly Release Notes v2.10.3.3","sidebarTitle":"v2.10.3.3.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.3"},{"title":"StreamNative Weekly Release Notes v2.10.3.2","sidebarTitle":"v2.10.3.2.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.2"}]}]}]},{"tab":"Kafka","pages":[{"title":"Kafka","href":"/kafka/overview"}]},{"tab":"SQL","pages":[{"title":"SQL","href":"/sql/overview/architecture"}]},{"tab":"Agent Engine","pages":[{"title":"Agent Engine","href":"/agent-engine/agents-overview"}]},{"tab":"Admin","pages":[{"title":"Admin","href":"/cloud/clusters/byoc/byoc-overview"}]},{"tab":"Resources","icon":"book-open","menu":[{"item":"API References","icon":"code","pages":[{"title":"API References","href":"/api-references/cloudapi/cloud-api"}]},{"item":"Connectors (Hub)","icon":"puzzle-piece","pages":[{"title":"Connectors (Hub)","href":"/connect/overview"}]},{"item":"Universal Linking","icon":"link","pages":[{"title":"Universal Linking","href":"/cloud/universal-linking/unilink-overview"}]},{"item":"Cookbooks","icon":"utensils-crossed","pages":[{"title":"Cookbooks","href":"/cookbook"}]},{"item":"Release Notes","icon":"list-check","pages":[{"title":"Release Notes","href":"/release-notes/cloud/release-notes"}]},{"item":"Support","icon":"headset","pages":[{"title":"Support","href":"/support/get-support"}]}],"pages":[{"title":"Resources","href":"/api-references/cloudapi/cloud-api"}]}]},{"product":"StreamNative Private Cloud","icon":"server","description":"Self-managed on Kubernetes","pages":[{"title":"StreamNative Private Cloud","href":"/private-cloud/v2/overview/private-cloud-overview"}]}]},"basePath":"","title":"Develop Pulsar Functions in Java - StreamNative Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}