Develop Pulsar Functions in Golang(Private Preview)
This section introduces how to develop and pacakge Golang Pulsar functions to use on StreamNative cloud.We provide a different Golang runtime other than the community one, and it’s still in private preview stage, If you want to try it out or have any questions, please submit a ticket to the support team.
We provide a GO SDK for developing Golang Pulsar Functions.The following examples use Pulsar Functions SDK for the Golang language.
package mainimport ( "context" "fmt" "strings" "github.com/streamnative/pulsar-function-go/pf" "github.com/sirupsen/logrus")func HandleExclamation(ctx context.Context, in []byte) ([]byte, error) { // 1. unmarshal []byte to your struct, use any schema you want payload := string(in) // 2. do your logic if fc, ok := pf.FromContext(ctx); ok { for _, word := range strings.Split(payload, " ") { // 2.1 Incr and Get Counter from state store _ = fc.IncrCounter(word, 1) count, _ := fc.GetCounter(word) // 2.2 Sending logs to a Pulsar topic logrus.Infof("got word: %s for %d times", word, count) } // 2.3 Get user-defined configurations cfg := fc.GetUserConfValue("configKey") // 2.4 Get secret configurations sec, err := fc.GetSecret("secretKey") if err == nil { msg := fmt.Sprintf("config: %v, secret: %s", cfg, *sec) // 2.5 Publish to any topic _, _ = fc.Publish("persistent://public/default/test-exec-package-serde-extra", []byte(msg)) } } data := payload + "!" // 3. marshal your struct to []byte return []byte(data), nil}func main() { pf.Start(HandleExclamation)}
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 Golang Pulsar function by using a local compiled Golang file or an uploaded Pulsar functions package(recommend).
We are using a different Golang runtime, need to specify the --custom-runtime-options '{"genericKind": "executable"}' to make it work.
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 = "exclamation.ExclamationFunction" + cleanup_subscription = true + cpu = 0.5 + custom_runtime_options = jsonencode( { + genericKind = "executable", + 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-go-input", ] + go = "function://public/default/go-exclamation@v0.1" + log_topic = "public/default/lt" + max_message_retries = 100 + name = "function1" + namespace = "default" + output = "persistent://public/default/test-go-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:
We are using a different Golang runtime, need to specify the --custom-runtime-options '{"genericKind": "executable"}' to make it work.
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_FUNCTION_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":[],"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-golang","slug":"/cloud/process/pulsar-functions/develop-functions/function-develop-golang","pageMetadata":{"title":"Develop Pulsar Functions in Golang(Private Preview)","id":"function-develop-golang","category":"functions","tags":["cloud","overview","function"],"sidebarTitle":"Develop Golang Functions","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-golang"},"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`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Tab,Table,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This section introduces how to develop and pacakge Golang Pulsar functions to use on StreamNative cloud.`}),`\n`,_jsxs(_components.p,{children:[`We provide a different Golang runtime other than the community one, and it’s still in private preview stage, If you want to try it out or have any questions, please `,_jsx(_components.a,{href:`/support/get-support`,children:`submit a ticket`}),` to the support team.`]}),`\n`,_jsx(Heading,{level:`2`,id:`develop`,children:`Develop`}),`\n`,_jsxs(_components.p,{children:[`We provide a GO `,_jsx(_components.a,{href:`https://github.com/streamnative/pulsar-function-go`,children:`SDK`}),` for developing Golang Pulsar Functions.`]}),`\n`,_jsx(_components.p,{children:`The following examples use Pulsar Functions SDK for the Golang language.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`43`,language:`go`,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:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`43`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`package`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` main`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_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:`\t\"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`context`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\t\"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`fmt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\t\"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`strings`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\t\"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`github.com/streamnative/pulsar-function-go/pf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\t\"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`github.com/sirupsen/logrus`}),_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`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` HandleExclamation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) ([]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t// 1. unmarshal []byte to your struct, use any schema you want`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\tpayload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`in`}),_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:`\t// 2. do your logic`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\tif`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ok`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` pf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`FromContext`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ok`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\t\tfor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` _`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`word`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` range`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` strings`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Split`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`payload`}),_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:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t\t// 2.1 Incr and Get Counter from state store`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\t_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`IncrCounter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`word`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_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\":`#9CDCFE`},children:`\t\t\tcount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetCounter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`word`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t\t// 2.2 Sending logs to a Pulsar topic`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tlogrus`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Infof`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"got word: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#9CDCFE`},children:`%s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` for `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#9CDCFE`},children:`%d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` times\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`word`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`count`}),_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:`\t\t}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 2.3 Get user-defined configurations`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` cfg`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetUserConfValue`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"configKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t// 2.4 Get secret configurations`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` sec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`GetSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"secretKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ==`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`}),_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\":`#9CDCFE`},children:` msg`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fmt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Sprintf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"config: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#9CDCFE`},children:`%v`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`, secret: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#9CDCFE`},children:`%s`}),_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:`cfg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`*`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`sec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t\t// 2.5 Publish to any topic`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` _`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` fc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Publish`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"persistent://public/default/test-exec-package-serde-extra\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, []`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`msg`}),_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:`\t}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\tdata`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` payload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"!\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t// 3. marshal your struct to []byte`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\treturn`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`nil`})]}),`\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:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` main`}),_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\":`#9CDCFE`},children:`\tpf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Start`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HandleExclamation`}),_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`]})})}),`\n`,_jsxs(_components.p,{children:[`To get more examples, please refer to `,_jsx(_components.a,{href:`https://github.com/streamnative/pulsar-function-go/tree/master/examples`,children:`examples`})]}),`\n`,_jsx(Heading,{level:`3`,id:`feature-matrix`,children:`Feature Matrix`}),`\n`,_jsx(_components.p,{children:`The StreamNative’s Golang runtime doesn’t support full features comparing to Java runtime, and it’s still in developing, below is the matrix:`}),`\n`,_jsx(Heading,{level:`4`,id:`input-arguments`,children:`Input Arguments`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Input`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Java`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(Pulsar)`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Python`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(StreamNative)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Custom SerDe`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - Avro`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - JSON`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - Protobuf`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - KeyValue`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - AutoSchema`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Scehma - Protobuf Native`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`e-2-e encryption`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`maxMessageRetries`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`dead-letter policy`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`SubscriptionName`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`SubscriptionType`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`SubscriptionInitialPosition`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AutoAck`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]})]})]}),`\n`,_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`Users can implement the Schema themselves since we are passing and expecting []byte to/from the users’ function, so leave `,_jsx(_components.strong,{children:`?`}),` here.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`output-arguments`,children:`Output Arguments`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Output`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Java`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(Pulsar)`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Python`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(StreamNative)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Custom SerDe`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - Avro`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - JSON`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - Protobuf`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - KeyValue`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - AutoSchema`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Schema - Protobuf Native`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`?`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`useThreadLocalProducers`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Key-based Batcher`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`e-2-e encryption`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Compression`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`context`,children:`Context`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Context`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Java`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(Pulsar)`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Python`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(StreamNative)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`InputTopics`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`OutputTopic`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`CurrentRecord`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`OutputSchemaType`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Tenant`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Namespace`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`FunctionName`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`FunctionId`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`InstanceId`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`NumInstances`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`FunctionVersion`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`PulsarAdminClient`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GetLogger`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`RecordMetrics`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`UserConfig`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Secrets`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`State`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Publish`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`ConsumerBuilder`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Seek / Pause / Resume`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`PulsarClient`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`other`,children:`Other`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Other`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Java`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(Pulsar)`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Python`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Go(StreamNative)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Resources`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`At-most-once`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`At-least-once`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Effectively-once`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`}),_jsx(_components.td,{style:{textAlign:`left`},children:`✅`}),_jsx(_components.td,{style:{textAlign:`left`},children:`❌`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`package`,children:`Package`}),`\n`,_jsx(_components.p,{children:`For Golang, we need to compile the function file to an executable one:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Prepare your function file:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`go`,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:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`package`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` main`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_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:` \"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`context`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`github.com/streamnative/pulsar-function-go/pf`}),_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`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` HandleExclamation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) ([]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` []`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`byte`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`nil`})]}),`\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:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` main`}),_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\":`#9CDCFE`},children:` pf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Start`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HandleExclamation`}),_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`]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Compile`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`go`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mod`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` init`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` func`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`go`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mod`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tidy`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`GO_ENABLED`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` GOOS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`linux`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` GOARCH`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`amd64`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` GO111MODULE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`on`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` go`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` build`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` exclamation`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` exclamation.go`})]}),`\n`]})})}),`\n`]}),`\n`]}),`\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 Golang Pulsar function by using a local compiled Golang file 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(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-go-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-go-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:`exclamation`}),_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:`--go `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/go-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:`--custom-runtime-options `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{\"genericKind\": \"executable\"}'`})]}),`\n`]})})}),_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`We are using a different Golang runtime, need to specify the `,_jsx(_components.code,{children:`--custom-runtime-options '{\"genericKind\": \"executable\"}'`}),` to make it work.`]})}),_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:`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:`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-go-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-go-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:`exclamation`}),_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:`--go `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/go-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:`--custom-runtime-options `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{\"genericKind\": \"executable\"}'`})]}),`\n`]})})}),_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`We are using a different Golang runtime, need to specify the `,_jsx(_components.code,{children:`--custom-runtime-options '{\"genericKind\": \"executable\"}'`}),` to make it work.`]})}),_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:`13`,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:`13`,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-go-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-go-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:`exclamation`}),_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:`--go `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`function://public/default/go-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:`--custom-runtime-options `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{\"genericKind\": \"executable\"}'`})]}),`\n`]})})}),_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`We are using a different Golang runtime, need to specify the `,_jsx(_components.code,{children:`--custom-runtime-options '{\"genericKind\": \"executable\"}'`}),` to make it work.`]})}),_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:`63`,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:`63`,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:` go = \"function://public/default/go-exclamation@v0.1\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` classname = \"exclamation.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-go-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-go-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:` \"genericKind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"executable\"`}),_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`]})})}),_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`We are using a different Golang runtime, need to specify the `,_jsx(_components.code,{children:`--custom-runtime-options '{\"genericKind\": \"executable\"}'`}),` to make it work.`]})}),_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:`59`,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:`59`,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:` \"exclamation.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:` genericKind`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"executable\",`})]}),`\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-go-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:` go`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"function://public/default/go-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-go-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\": \"GO\", \"go\": \"function://public/default/${PACKAGE_NAME}@${PACKAGE_VERSION}\", \"output\": \"public/default/output-test\", \"inputs\": [\"public/default/input\"], \"className\": \"exclamation\", \"customRuntimeOptions\": \"{\\\\\"genericKind\\\\\": \\\\\"executable\\\\\"}\"};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`]})})}),_jsx(Note,{title:`Note`,children:_jsxs(_components.p,{children:[`We are using a different Golang runtime, need to specify the `,_jsx(_components.code,{children:`--custom-runtime-options '{\"genericKind\": \"executable\"}'`}),` to make it work.`]})}),_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_FUNCTION_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:`/cloud/process/pulsar-functions/function-config`,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-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 Golang(Private Preview)","id":"function-develop-golang","category":"functions","tags":["cloud","overview","function"],"sidebarTitle":"Develop Golang Functions","description":null,"href":"/cloud/process/pulsar-functions/develop-functions/function-develop-golang"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Develop","slug":"develop","depth":2,"children":[{"title":"Feature Matrix","slug":"feature-matrix","depth":3,"children":[]},{"title":"Input Arguments","slug":"input-arguments","depth":4,"children":[]},{"title":"Output Arguments","slug":"output-arguments","depth":4,"children":[]},{"title":"Context","slug":"context","depth":4,"children":[]},{"title":"Other","slug":"other","depth":4,"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 Golang(Private Preview) - StreamNative Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T09:47:14.156Z","originalFileLocation":"cloud/process/pulsar-functions/develop-functions/function-develop-golang.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 Golang(Private Preview) - 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-golang\">\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 Golang(Private Preview) - 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-golang\">\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-golang.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-golang#webpage\",\"url\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang\",\"name\":\"Develop Pulsar Functions in Golang(Private Preview)\",\"dateModified\":\"2026-11-02T09:47:14.156Z\",\"isPartOf\":{\"@id\":\"https://docs.streamnative.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang#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 Golang(Private Preview)\",\"item\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang#article\",\"headline\":\"Develop Pulsar Functions in Golang(Private Preview)\",\"name\":\"Develop Pulsar Functions in Golang(Private Preview)\",\"url\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streamnative.io/cloud/process/pulsar-functions/develop-functions/function-develop-golang#webpage\"},\"image\":\"https://docs.streamnative.io/logo/light.svg\",\"dateModified\":\"2026-11-02T09:47:14.156Z\",\"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","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","description":null,"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 Golang(Private Preview) - StreamNative Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}