| <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Google Sheets Stream :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/components/4.18.x/google-sheets-stream-component.html"> <meta name="description" content="Poll for changes in Google Sheets."> <meta name="generator" content="Antora 3.1.7"> <link rel="stylesheet" href="../../_/css/site-5c323c41e9.css"> <meta name="application-name" content="Apache Camel"> <meta property="og:title" content="Google Sheets Stream"> <meta property="og:site_name" content="Apache Camel"> <meta property="og:url" content="https://camel.apache.org"> <meta property="og:description" content="Apache Camel is an open source integration framework with 350+ connectors for databases, APIs, message brokers, and cloud services. Write routes in Java, YAML, or XML. Run on Spring Boot, Quarkus, or standalone with the Camel CLI. In production since 2007. Apache License 2.0."> <meta property="og:type" content="website"> <meta property="og:image" content="https://camel.apache.org/_/img/logo-d-a567cee6fa.svg"> <link rel="manifest" href="../../site.webmanifest"> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="../../apple-touch-icon-57x57.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../apple-touch-icon-114x114.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../apple-touch-icon-72x72.png"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../apple-touch-icon-144x144.png"> <link rel="apple-touch-icon-precomposed" sizes="60x60" href="../../apple-touch-icon-60x60.png"> <link rel="apple-touch-icon-precomposed" sizes="120x120" href="../../apple-touch-icon-120x120.png"> <link rel="apple-touch-icon-precomposed" sizes="76x76" href="../../apple-touch-icon-76x76.png"> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../apple-touch-icon-152x152.png"> <link rel="icon" type="image/png" href="../../favicon-196x196.png" sizes="196x196"> <link rel="icon" type="image/png" href="../../favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="../../favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="../../favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="../../favicon-128.png" sizes="128x128"> </head> <body class="article"> <header class="header"> <nav class="navbar" aria-label="Main menu"> <div class="navbar-brand"> <a class="nav-logo" href="../.."></a> <div id="topbar-nav" class="navbar-menu"> <div class="navbar-end"> <a class="navbar-item-section navbar-item navbar-topics" href="../../blog/"> <img alt="Blog" src="/_/img/blog-4c7fa4cb60.svg"> Blog </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../docs/"> <img alt="Documentation" src="/_/img/documentation-abb1b7f8b1.svg"> Documentation </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../community/"> <img alt="Community" src="/_/img/community-2ec8a3dc8b.svg"> Community </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../tooling/"> <img alt="Tooling" src="/_/img/tooling-f5e235c238.svg"> Tooling </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../download/"> <img alt="Download" src="/_/img/download-63cdd75074.svg"> Download </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../security/"> <img alt="Security" src="/_/img/security-06abe157b3.svg"> Security </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../trust/"> <img alt="Trust" src="/_/img/security-06abe157b3.svg"> Trust </a> </div> </div> <div class="navbar-fill"></div> <div class="break-row"></div> <div class="navbar-search results-hidden"> <input id="search" class="search" placeholder="Search" autocomplete="off" maxlength="200"> <img src="../../_/img/cancel-1ed239489b.svg" alt="Clear" id="search-cancel"> <div id="search_results"></div> </div> <div class="navbar-tools"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg focusable="false" class="brand-icon"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg focusable="false" class="brand-icon"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg focusable="false" class="brand-icon"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg focusable="false" class="brand-icon"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#linkedin"/></svg></a> </div> <button class="navbar-burger" data-target="topbar-nav" type="button" aria-label="Menu"> <span></span> <span></span> <span></span> </button> </div> </nav> </header> <a id="top"></a> <div class="body"> <div class="nav-container" data-component="components" data-version="next"> <aside class="nav" aria-label="Side menu"> <div class="panels"> <div class="nav-panel-menu is-active"> <input class="search" placeholder="Quick lookup"> <nav class="nav-menu" data-panel="menu" aria-label="Topics"> <h3 class="title"><a href="index.html">Camel Components</a></h3> <ul class="nav-list"> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="index.html">Components</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="activemq-component.html">ActiveMQ 5.x</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="activemq6-component.html">ActiveMQ 6.x</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="ai-summary.html">AI</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="a2a-component.html">A2A</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ai-tool-component.html">AI Tool</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="chatscript-component.html">ChatScript</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="djl-component.html">Deep Java Library</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="docling-component.html">Docling</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="huggingface-component.html">Hugging Face</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kserve-component.html">KServe</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-agent-component.html">LangChain4j Agent</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-chat-component.html">LangChain4j Chat</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-embeddingstore-component.html">LangChain4j Embedding Store</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-embeddings-component.html">LangChain4j Embeddings</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-tools-component.html">LangChain4j Tools</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-web-search-component.html">LangChain4j Web Search</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="milvus-component.html">Milvus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="neo4j-component.html">Neo4j</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openai-component.html">OpenAI</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pgvector-component.html">PGVector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pinecone-component.html">Pinecone</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="qdrant-component.html">Qdrant</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ai-chat-component.html">Spring AI Chat</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ai-embeddings-component.html">Spring AI Embeddings</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ai-image-component.html">Spring AI Image</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ai-tools-component.html">Spring AI Tools</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ai-vector-store-component.html">Spring AI Vector Store</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="tensorflow-serving-component.html">TensorFlow Serving</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="weaviate-component.html">weaviate</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="amqp-component.html">AMQP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="arangodb-component.html">ArangoDb</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="as2-component.html">AS2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="asterisk-component.html">Asterisk</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="atmosphere-websocket-component.html">Atmosphere Websocket</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="atom-component.html">Atom</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="avro-component.html">Avro RPC</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="aws-summary.html">AWS</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-athena-component.html">AWS Athena</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-bedrock-component.html">AWS Bedrock</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-bedrock-agent-component.html">AWS Bedrock Agent</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-bedrock-agent-runtime-component.html">AWS Bedrock Agent Runtime</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-cloudtrail-component.html">AWS CloudTrail</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-cw-component.html">AWS CloudWatch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-comprehend-component.html">AWS Comprehend</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-config-component.html">AWS Config Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ddb-component.html">AWS DynamoDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ddbstream-component.html">AWS DynamoDB Streams</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ec2-component.html">AWS Elastic Compute Cloud (EC2)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ecs-component.html">AWS Elastic Container Service (ECS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-eks-component.html">AWS Elastic Kubernetes Service (EKS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-eventbridge-component.html">AWS Eventbridge</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-iam-component.html">AWS Identity and Access Management (IAM)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-kms-component.html">AWS Key Management Service (KMS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-kinesis-component.html">AWS Kinesis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-kinesis-firehose-component.html">AWS Kinesis Firehose</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-lambda-component.html">AWS Lambda</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-msk-component.html">AWS Managed Streaming for Apache Kafka (MSK)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-mq-component.html">AWS MQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-parameter-store-component.html">AWS Parameter Store</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-polly-component.html">AWS Polly</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-redshift-data-component.html">AWS RedshiftData</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-rekognition-component.html">AWS Rekognition</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-s3-component.html">AWS S3 Storage Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-s3-vectors-component.html">AWS S3 Vectors</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-secrets-manager-component.html">AWS Secrets Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-security-hub-component.html">AWS Security Hub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sts-component.html">AWS Security Token Service (STS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ses-component.html">AWS Simple Email Service (SES)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sns-component.html">AWS Simple Notification System (SNS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sqs-component.html">AWS Simple Queue Service (SQS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-step-functions-component.html">AWS StepFunctions</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-textract-component.html">AWS Textract</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-timestream-component.html">AWS Timestream</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-transcribe-component.html">AWS Transcribe</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-translate-component.html">AWS Translate</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="azure-summary.html">Azure</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-cosmosdb-component.html">Azure CosmosDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-eventgrid-component.html">Azure Event Grid</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-eventhubs-component.html">Azure Event Hubs</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-files-component.html">Azure Files</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-functions-component.html">Azure Functions</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-key-vault-component.html">Azure Key Vault</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-servicebus-component.html">Azure ServiceBus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-blob-component.html">Azure Storage Blob Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-datalake-component.html">Azure Storage Data Lake Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-queue-component.html">Azure Storage Queue Service</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="bean-component.html">Bean</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="bean-validator-component.html">Bean Validator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="bonita-component.html">Bonita</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="box-component.html">Box</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="braintree-component.html">Braintree</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="browse-component.html">Browse</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="caffeine-cache-component.html">Caffeine Cache</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="caffeine-loadcache-component.html">Caffeine LoadCache</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="camunda-component.html">Camunda</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cql-component.html">Cassandra CQL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="chunk-component.html">Chunk</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="class-component.html">Class</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="clickhouse-component.html">ClickHouse</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="clickup-component.html">ClickUp</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cm-sms-component.html">CM SMS Gateway</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="coap-component.html">CoAP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cometd-component.html">CometD</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="consul-component.html">Consul</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="controlbus-component.html">Control Bus</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="couchbase-component.html">Couchbase</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="couchdb-component.html">CouchDB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cron-component.html">Cron</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="crypto-component.html">Crypto (JCE)</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cxf-component.html">CXF</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cxfrs-component.html">CXF-RS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="cyberark-vault-component.html">CyberArk Vault</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dapr-component.html">Dapr</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformat-component.html">Data Format</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataset-component.html">Dataset</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataset-test-component.html">DataSet Test</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="debezium-summary.html">Debezium</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-db2-component.html">Debezium DB2 Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-mongodb-component.html">Debezium MongoDB Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-mysql-component.html">Debezium MySQL Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-oracle-component.html">Debezium Oracle Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-postgres-component.html">Debezium PostgreSQL Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-sqlserver-component.html">Debezium SQL Server Connector</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dfdl-component.html">DFDL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dhis2-component.html">DHIS2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="digitalocean-component.html">DigitalOcean</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="direct-component.html">Direct</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="disruptor-component.html">Disruptor</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="disruptor-vm-component.html">Disruptor VM</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dns-component.html">DNS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="docker-component.html">Docker</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="drill-component.html">Drill</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dropbox-component.html">Dropbox</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="duckdb-component.html">DuckDB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dynamic-router-component.html">Dynamic Router</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dynamic-router-control-component.html">Dynamic Router Control</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ehcache-component.html">Ehcache</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="elasticsearch-component.html">Elasticsearch</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="elasticsearch-rest-client-component.html">Elasticsearch Low level Rest Client</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="event-component.html">Event</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="exec-component.html">Exec</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="fhir-component.html">FHIR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="file-component.html">File</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="file-watch-component.html">File Watch</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="flatpack-component.html">Flatpack</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="flink-component.html">Flink</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="flowable-component.html">Flowable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="fop-component.html">FOP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="freemarker-component.html">Freemarker</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ftp-component.html">FTP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ftps-component.html">FTPS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="geocoder-component.html">Geocoder</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="git-component.html">Git</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="github2-component.html">GitHub2</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="google-summary.html">Google</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-bigquery-component.html">Google BigQuery</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-bigquery-sql-component.html">Google BigQuery Standard SQL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-calendar-component.html">Google Calendar</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-calendar-stream-component.html">Google Calendar Stream</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-functions-component.html">Google Cloud Functions</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-speech-to-text-component.html">Google Cloud Speech To Text</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-text-to-speech-component.html">Google Cloud Text To Speech</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-vision-component.html">Google Cloud Vision</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-drive-component.html">Google Drive</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-firestore-component.html">Google Firestore</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-mail-component.html">Google Mail</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-mail-stream-component.html">Google Mail Stream</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-pubsub-component.html">Google Pubsub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-secret-manager-component.html">Google Secret Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-sheets-component.html">Google Sheets</a> </li> <li class="nav-item is-current-page" data-depth="3"> <a class="nav-link" href="google-sheets-stream-component.html">Google Sheets Stream</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-storage-component.html">Google Storage</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-vertexai-component.html">Google Vertex AI</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="graphql-component.html">GraphQL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="grpc-component.html">gRPC</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="hashicorp-vault-component.html">HashiCorp Vault</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="hazelcast-summary.html">Hazelcast</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-atomicvalue-component.html">Hazelcast Atomic Number</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-instance-component.html">Hazelcast Instance</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-list-component.html">Hazelcast List</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-map-component.html">Hazelcast Map</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-multimap-component.html">Hazelcast Multimap</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-pncounter-component.html">Hazelcast PN Counter</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-queue-component.html">Hazelcast Queue</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-replicatedmap-component.html">Hazelcast Replicated Map</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-ringbuffer-component.html">Hazelcast Ringbuffer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-seda-component.html">Hazelcast SEDA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-set-component.html">Hazelcast Set</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast-topic-component.html">Hazelcast Topic</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="http-component.html">HTTP</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="hwcloud-summary.html">Huawei Cloud</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-frs-component.html">Huawei Cloud Face Recognition Service (FRS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-imagerecognition-component.html">Huawei Cloud Image Recognition</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-dms-component.html">Huawei Distributed Message Service (DMS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-functiongraph-component.html">Huawei FunctionGraph</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-iam-component.html">Huawei Identity and Access Management (IAM)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-obs-component.html">Huawei Object Storage Service (OBS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hwcloud-smn-component.html">Huawei Simple Message Notification (SMN)</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="ibm-summary.html">IBM</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-cos-component.html">IBM Cloud Object Storage</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-secrets-manager-component.html">IBM Secrets Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watson-discovery-component.html">IBM Watson Discovery</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watson-language-component.html">IBM Watson Language</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watson-speech-to-text-component.html">IBM Watson Speech to Text</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watson-text-to-speech-component.html">IBM Watson Text to Speech</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watsonx-ai-component.html">IBM watsonx.ai</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-watsonx-data-component.html">IBM watsonx.data</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="iec60870-client-component.html">IEC 60870 Client</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="iec60870-server-component.html">IEC 60870 Server</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="iggy-component.html">Iggy</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="ignite-summary.html">Ignite</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-cache-component.html">Ignite Cache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-compute-component.html">Ignite Compute</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-events-component.html">Ignite Events</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-idgen-component.html">Ignite ID Generator</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-messaging-component.html">Ignite Messaging</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-queue-component.html">Ignite Queues</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite-set-component.html">Ignite Sets</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="infinispan-component.html">Infinispan</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="infinispan-embedded-component.html">Infinispan Embedded</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="influxdb-component.html">InfluxDB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="influxdb2-component.html">InfluxDB2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="irc-component.html">IRC</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ironmq-component.html">IronMQ</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jcache-component.html">JCache</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jcr-component.html">JCR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jdbc-component.html">JDBC</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jetty-component.html">Jetty</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jgroups-component.html">JGroups</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jgroups-raft-component.html">JGroups raft</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jira-component.html">Jira</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jms-component.html">JMS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jmx-component.html">JMX</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jolt-component.html">JOLT</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jooq-component.html">JOOQ</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jpa-component.html">JPA</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jslt-component.html">JSLT</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="json-validator-component.html">JSON Schema Validator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jsonata-component.html">JSONata</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="json-patch-component.html">JsonPatch</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jt400-component.html">JT400</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="jte-component.html">JTE</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="kafka-component.html">Kafka</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="kamelet-component.html">Kamelet</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="keycloak-component.html">Keycloak</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="knative-component.html">Knative</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="knative-http-component.html">Knative Http</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="kubernetes-summary.html">Kubernetes</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-config-maps-component.html">Kubernetes ConfigMap</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-cronjob-component.html">Kubernetes Cronjob</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-custom-resources-component.html">Kubernetes Custom Resources</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-deployments-component.html">Kubernetes Deployments</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-events-component.html">Kubernetes Event</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-hpa-component.html">Kubernetes HPA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-job-component.html">Kubernetes Job</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-namespaces-component.html">Kubernetes Namespaces</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-nodes-component.html">Kubernetes Nodes</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-persistent-volumes-component.html">Kubernetes Persistent Volume</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-persistent-volumes-claims-component.html">Kubernetes Persistent Volume Claim</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-pods-component.html">Kubernetes Pods</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-replication-controllers-component.html">Kubernetes Replication Controller</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-resources-quota-component.html">Kubernetes Resources Quota</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-secrets-component.html">Kubernetes Secrets</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-service-accounts-component.html">Kubernetes Service Account</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-services-component.html">Kubernetes Services</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openshift-build-configs-component.html">OpenShift Build Config</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openshift-builds-component.html">OpenShift Builds</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openshift-deploymentconfigs-component.html">OpenShift Deployment Configs</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="kudu-component.html">Kudu</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="language-component.html">Language</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ldap-component.html">LDAP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ldif-component.html">LDIF</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="log-component.html">Log Data</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="lucene-component.html">Lucene</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="lumberjack-component.html">Lumberjack</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mail-component.html">Mail</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mapstruct-component.html">MapStruct</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="master-component.html">Master</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="metrics-component.html">Metrics</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="micrometer-component.html">Micrometer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mina-component.html">Mina</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mina-sftp-component.html">MINA SFTP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="minio-component.html">Minio</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mllp-component.html">MLLP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mock-component.html">Mock</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mongodb-component.html">MongoDB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mongodb-gridfs-component.html">MongoDB GridFS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mustache-component.html">Mustache</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mvel-component.html">MVEL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mybatis-component.html">MyBatis</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="mybatis-bean-component.html">MyBatis Bean</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="nats-component.html">Nats</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="netty-component.html">Netty</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="netty-http-component.html">Netty HTTP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="oaipmh-component.html">OAI-PMH</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="olingo2-component.html">Olingo2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="olingo4-component.html">Olingo4</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="once-component.html">Once</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="milo-browse-component.html">OPC UA Browser</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="milo-client-component.html">OPC UA Client</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="milo-server-component.html">OPC UA Server</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="opensearch-component.html">OpenSearch</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="openstack-summary.html">OpenStack</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-cinder-component.html">OpenStack Cinder</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-glance-component.html">OpenStack Glance</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-keystone-component.html">OpenStack Keystone</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-neutron-component.html">OpenStack Neutron</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-nova-component.html">OpenStack Nova</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack-swift-component.html">OpenStack Swift</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="opentelemetry-metrics-component.html">OpenTelemetry Metrics</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="optaplanner-component.html">OptaPlanner</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="paho-component.html">Paho</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="paho-mqtt5-component.html">Paho MQTT 5</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pdf-component.html">PDF</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="platform-http-component.html">Platform HTTP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="plc4x-component.html">PLC4X</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pgevent-component.html">PostgreSQL Event</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pg-replication-slot-component.html">PostgreSQL Replication Slot</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pqc-component.html">PQC Algorithms</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="lpr-component.html">Printer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="properties-component.html">Properties</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pubnub-component.html">PubNub</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="pulsar-component.html">Pulsar</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="quartz-component.html">Quartz</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="quickfix-component.html">QuickFix</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="reactive-streams-component.html">Reactive Streams</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ref-component.html">Ref</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="rest-component.html">REST</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="rest-api-component.html">REST API</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="rest-openapi-component.html">REST OpenApi</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="robotframework-component.html">Robot Framework</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="rocketmq-component.html">RocketMQ</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="rss-component.html">RSS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="saga-component.html">Saga</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="salesforce-component.html">Salesforce</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sap-netweaver-component.html">SAP NetWeaver</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="scheduler-component.html">Scheduler</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="schematron-component.html">Schematron</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="scp-component.html">SCP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="seda-component.html">SEDA</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="servicenow-component.html">ServiceNow</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="servlet-component.html">Servlet</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sftp-component.html">SFTP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="shell-component.html">Shell</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sjms-component.html">Simple JMS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sjms2-component.html">Simple JMS2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="slack-component.html">Slack</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="smb-component.html">SMB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="smooks-component.html">Smooks</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="smpp-component.html">SMPP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="snmp-component.html">SNMP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="solr-component.html">Solr</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="splunk-component.html">Splunk</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="splunk-hec-component.html">Splunk HEC</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="spring-summary.html">Spring</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-batch-component.html">Spring Batch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-event-component.html">Spring Event</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-jdbc-component.html">Spring JDBC</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ldap-component.html">Spring LDAP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-rabbitmq-component.html">Spring RabbitMQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-redis-component.html">Spring Redis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-ws-component.html">Spring WebService</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sql-component.html">SQL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="sql-stored-component.html">SQL Stored Procedure</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="ssh-component.html">SSH</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="stax-component.html">StAX</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="stitch-component.html">Stitch</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="stream-component.html">Stream</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="string-template-component.html">String Template</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="stripe-component.html">Stripe</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="stub-component.html">Stub</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="tahu-summary.html">Tahu</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="tahu-edge-component.html">Tahu Edge Node / Device</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="tahu-host-component.html">Tahu Host Application</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="telegram-component.html">Telegram</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="thrift-component.html">Thrift</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="thymeleaf-component.html">Thymeleaf</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="tika-component.html">Tika</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="timer-component.html">Timer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="twilio-component.html">Twilio</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="twitter-directmessage-component.html">Twitter Direct Message</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="twitter-search-component.html">Twitter Search</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="twitter-timeline-component.html">Twitter Timeline</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="undertow-component.html">Undertow</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="validator-component.html">Validator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="velocity-component.html">Velocity</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="vertx-component.html">Vert.x</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="vertx-http-component.html">Vert.x HTTP Client</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="vertx-websocket-component.html">Vert.x WebSocket</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="wasm-component.html">Wasm</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="weather-component.html">Weather</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="web3j-component.html">Web3j Ethereum Blockchain</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="webhook-component.html">Webhook</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="whatsapp-component.html">WhatsApp</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="wordpress-component.html">WordPress</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="workday-component.html">Workday</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xchange-component.html">XChange</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xj-component.html">XJ</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xmlsecurity-sign-component.html">XML Security Sign</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xmlsecurity-verify-component.html">XML Security Verify</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xmpp-component.html">XMPP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xquery-component.html">XQuery</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xslt-component.html">XSLT</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="xslt-saxon-component.html">XSLT Saxon</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="zeebe-component.html">Zeebe</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="zendesk-component.html">Zendesk</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="zookeeper-component.html">ZooKeeper</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="zookeeper-master-component.html">ZooKeeper Master</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="dataformats/index.html">Data Formats</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/asn1-dataformat.html">ASN.1 File</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/avro-dataformat.html">Avro</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/avroJackson2-dataformat.html">Avro Jackson 2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/avroJackson3-dataformat.html">Avro Jackson 3</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/barcode-dataformat.html">Barcode</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/base64-dataformat.html">Base64</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/beanio-dataformat.html">BeanIO</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/bindy-dataformat.html">Bindy</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/cbor-dataformat.html">CBOR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/crypto-dataformat.html">Crypto (Java Cryptographic Extension)</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/csv-dataformat.html">CSV</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/dfdl-dataformat.html">DFDL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/fhirJson-dataformat.html">FHIR JSon</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/fhirXml-dataformat.html">FHIR XML</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/flatpack-dataformat.html">Flatpack</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/fory-dataformat.html">Fory</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/grok-dataformat.html">Grok</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/groovyJson-dataformat.html">Groovy JSon</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/groovyXml-dataformat.html">Groovy XML</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/gzipDeflater-dataformat.html">GZip Deflater</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/hl7-dataformat.html">HL7</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/ical-dataformat.html">iCal</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/iso8583-dataformat.html">ISO-8583</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jacksonXml2-dataformat.html">Jackson XML 2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jacksonXml3-dataformat.html">Jackson XML 3</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jaxb-dataformat.html">JAXB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/fastjson-dataformat.html">JSON Fastjson</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/gson-dataformat.html">JSON Gson</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jackson2-dataformat.html">JSON Jackson 2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jackson3-dataformat.html">JSON Jackson 3</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jsonb-dataformat.html">JSON JSON-B</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/jsonApi-dataformat.html">JSonApi</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/lzf-dataformat.html">LZF Deflate Compression</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/mimeMultipart-dataformat.html">MIME Multipart</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/ocsf-dataformat.html">OCSF</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/parquetAvro-dataformat.html">Parquet File</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/pgp-dataformat.html">PGP (Pretty Good Privacy Cryptographic)</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/pqc-dataformat.html">PQC (Post-Quantum Cryptography)</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/protobuf-dataformat.html">Protobuf</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/protobufJackson2-dataformat.html">Protobuf Jackson 2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/protobufJackson3-dataformat.html">Protobuf Jackson 3</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/rss-dataformat.html">RSS</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/smooks-dataformat.html">Smooks</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/soap-dataformat.html">SOAP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/swiftMt-dataformat.html">SWIFT MT</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/swiftMx-dataformat.html">SWIFT MX</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/syslog-dataformat.html">Syslog</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/tarFile-dataformat.html">Tar File</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/thrift-dataformat.html">Thrift</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/univocityCsv-dataformat.html">uniVocity CSV</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/univocityFixed-dataformat.html">uniVocity Fixed Length</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/univocityTsv-dataformat.html">uniVocity TSV</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/xmlSecurity-dataformat.html">XML Security</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/snakeYaml-dataformat.html">YAML SnakeYAML</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/zipDeflater-dataformat.html">Zip Deflater</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="dataformats/zipFile-dataformat.html">Zip File</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="languages/index.html">Languages</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/bean-language.html">Bean Method</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/constant-language.html">Constant</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/csimple-language.html">CSimple</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/datasonnet-language.html">DataSonnet</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/exchangeProperty-language.html">ExchangeProperty</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/file-language.html">File</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/groovy-language.html">Groovy</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/header-language.html">Header</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/hl7terser-language.html">HL7 Terser</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/jactl-language.html">Jactl</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/java-language.html">Java</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/js-language.html">JavaScript</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/joor-language.html">jOOR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/jq-language.html">JQ</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/jsonpath-language.html">JSONPath</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/mvel-language.html">MVEL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/ognl-language.html">OGNL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/python-language.html">Python</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/ref-language.html">Ref</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-language.html">Simple</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-advanced.html">Simple - Advanced Features</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-functions.html">Simple - Built-in Functions</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-operators.html">Simple - Built-in Operators</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-ognl.html">Simple - OGNL Expressions</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/spel-language.html">SpEL</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/tokenize-language.html">Tokenize</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/variable-language.html">Variable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/wasm-language.html">Wasm</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/xtokenize-language.html">XML Tokenize</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/xpath-language.html">XPath</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/xquery-language.html">XQuery</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-advanced.html">Simple - Advanced Features</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-functions.html">Simple - Built-in Functions</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-ognl.html">Simple - OGNL Expressions</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="languages/simple-operators.html">Simple - Built-in Operators</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="others/index.html">Miscellaneous Components</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/a2a-consumer.html">A2A - Consumer Guide</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/a2a-producer.html">A2A - Producer Guide</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/attachments.html">Attachments</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/aws-bedrock-examples.html">AWS Bedrock - Examples</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/aws-bedrock-models.html">AWS Bedrock - Supported Models</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/aws2-s3-consumer-examples.html">AWS S3 - Consumer Examples</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/aws2-s3-producer-operations.html">AWS S3 - Producer Operations</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="others/aws2-s3-streaming.html">AWS S3 - Streaming Upload</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/azure-schema-registry.html">Azure Schema Registry</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/azure-storage-blob-consumer.html">Azure Storage Blob - Consumer Examples</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/azure-storage-blob-operations.html">Azure Storage Blob - Producer Operations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/camel-yaml-dsl-validator-maven-plugin.html">Camel YAML DSL Validator Maven Plugin</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/cli-connector.html">CLI Connector</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/cli-debug.html">CLI Debug</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/cloudevents.html">Cloudevents</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/csimple-joor.html">CSimple jOOR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/cxf-transport.html">CXF Transport</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/debug.html">Debug</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/diagram.html">Diagram</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/docling-async-processing.html">Docling - Asynchronous Processing</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/docling-batch-processing.html">Docling - Batch Processing</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/docling-serve.html">Docling - Using Docling-Serve API</a> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="others/dsl.html">DSL</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/dsl-modeline.html">DSL Modeline</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/java-joor-dsl.html">Java DSL (runtime compiled)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/java-xml-jaxb-dsl.html">Jaxb XML Dsl</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/kamelet-main.html">Kamelet Main</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/kamelet-main-support.html">Kamelet Main Support</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/java-xml-io-dsl.html">XML Io Dsl</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="others/yaml-dsl.html">YAML DSL</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/headersmap.html">Headersmap</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/ibm-watsonx-ai-examples.html">IBM watsonx.ai - Examples</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/jandex.html">Jandex</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/jasypt.html">Jasypt</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/jfr.html">JFR</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/jsoup.html">Jsoup</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/jta.html">JTA</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/keycloak-consumer.html">Keycloak Consumer Operations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/keycloak-producer.html">Keycloak Producer Operations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/keycloak-security.html">Keycloak Security Policies</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/langchain4j-agent-guardrails.html">LangChain4j Agent - Input and Output Guardrails</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/langchain4j-agent-mcp.html">LangChain4j Agent - MCP Tools Integration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/langchain4j-agent-multimodal.html">LangChain4j Agent - Multimodal Content Support</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/langchain4j-tokenizer.html">LangChain4j Tokenizer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/leveldb.html">LevelDB</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/lra.html">LRA</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/mail-microsoft-oauth.html">Mail Microsoft Oauth</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/main.html">Main</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/mdc.html">MDC Logging</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/observation.html">Micrometer Observability</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/micrometer-observability.html">Micrometer Observability 2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/micrometer-prometheus.html">Micrometer Prometheus</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/microprofile-config.html">Microprofile Config</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/microprofile-fault-tolerance.html">Microprofile Fault Tolerance</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/microprofile-health.html">Microprofile Health</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/mina-sftp-authentication.html">MINA SFTP Authentication</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/mina-sftp-migration.html">MINA SFTP Migration from JSch</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/mina-sftp-security.html">MINA SFTP SSH Security</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/oauth.html">Oauth</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/observability-services.html">Observability Services</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/openai-providers.html">OpenAI - Compatible Providers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/openai-operations.html">OpenAI - Embeddings and Audio Operations</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/openai-mcp.html">OpenAI - MCP Tool Calling</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/openapi-java.html">Openapi Java</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/openapi-validator.html">Openapi Validator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/opentelemetry.html">OpenTelemetry</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/opentelemetry2.html">Opentelemetry2</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/platform-http-jolokia.html">Platform HTTP Jolokia</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/platform-http-main.html">Platform Http Main</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/platform-http-vertx.html">Platform Http Vertx</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/pqc-hybrid.html">PQC Hybrid Cryptography</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/pqc-key-lifecycle.html">PQC Key Lifecycle Management</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/reactive-executor-tomcat.html">Reactive Executor Tomcat</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/reactive-executor-vertx.html">Reactive Executor Vert.x</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/reactor.html">Reactor</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/redis.html">Redis</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/resilience4j.html">Resilience4j</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/resilience4j-micrometer.html">Resilience4j Micrometer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/resourceresolver-github.html">Resourceresolver Github</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/rxjava.html">RxJava</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/salesforce-bulk-api.html">Salesforce - Bulk API</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/salesforce-reports.html">Salesforce - Reports API</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/salesforce-rest-api.html">Salesforce - REST API</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/salesforce-streaming.html">Salesforce - Streaming and Pub/Sub</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/shiro.html">Shiro</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/spring-cloud-config.html">Spring Cloud Config</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/spring-main.html">Spring Main</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/spring-security.html">Spring Security</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/spring-xml.html">Spring XML</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/springdoc.html">Springdoc</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/telemetry.html">Telemetry</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/telemetry-dev.html">Telemetry Dev</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-junit5.html">Test JUnit5</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-junit6.html">Test JUnit6</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-main-junit5.html">Test Main JUnit5</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-main-junit6.html">Test Main JUnit6</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-spring-junit5.html">Test Spring JUnit5</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/test-spring-junit6.html">Test Spring JUnit6</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/threadpoolfactory-vertx.html">ThreadPoolFactory Vert.x</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/tracing.html">Tracing</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/undertow-spring-security.html">Undertow Spring Security</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="others/wal.html">Write Ahead Log Strategy for Resume API</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <a class="nav-link" href="eips/enterprise-integration-patterns.html">Enterprise Integration Patterns</a> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="eips/ai-patterns.html">AI Patterns</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/a2aSubTask-eip.html">A2A Sub Task</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/aggregate-eip.html">Aggregate</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/batchConfig-eip.html">BatchConfig</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/bean-eip.html">Bean</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/change-data-capture.html">Change Data Capture</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/channel-adapter.html">Channel Adapter</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/choice-eip.html">Choice</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/circuitBreaker-eip.html">Circuit Breaker</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/claimCheck-eip.html">Claim Check</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/competing-consumers.html">Competing Consumers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/composed-message-processor.html">Composed Message Processor</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/content-enricher.html">Content Enricher</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/content-filter-eip.html">Content Filter</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/convertBodyTo-eip.html">Convert Body To</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/convertHeaderTo-eip.html">Convert Header To</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/convertVariableTo-eip.html">Convert Variable To</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/correlation-identifier.html">Correlation Identifier</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/customLoadBalancer-eip.html">Custom Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/dead-letter-channel.html">Dead Letter Channel</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/delay-eip.html">Delay</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/doTry-eip.html">Do Try</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/durable-subscriber.html">Durable Subscriber</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/dynamicRouter-eip.html">Dynamic Router</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/enrich-eip.html">Enrich</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/eventDrivenConsumer-eip.html">Event Driven Consumer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/event-message.html">Event Message</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/failoverLoadBalancer-eip.html">Failover Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/faultToleranceConfiguration-eip.html">Fault Tolerance Configuration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/fault-tolerance-eip.html">Fault Tolerance EIP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/filter-eip.html">Filter</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/from-eip.html">From</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/guaranteed-delivery.html">Guaranteed Delivery</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/idempotentConsumer-eip.html">Idempotent Consumer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/intercept.html">Intercept</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/kamelet-eip.html">Kamelet</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/loadBalance-eip.html">Load Balance</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/log-eip.html">Logger</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/loop-eip.html">Loop</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/marshal-eip.html">Marshal</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message.html">Message</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-broker.html">Message Broker</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-bus.html">Message Bus</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-channel.html">Message Channel</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-dispatcher.html">Message Dispatcher</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-endpoint.html">Message Endpoint</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-expiration.html">Message Expiration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-history.html">Message History</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-router.html">Message Router</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/message-translator.html">Message Translator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/messaging-bridge.html">Messaging Bridge</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/messaging-gateway.html">Messaging Gateway</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/messaging-mapper.html">Messaging Mapper</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/multicast-eip.html">Multicast</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/normalizer.html">Normalizer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/onFallback-eip.html">On Fallback</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/pausable-eip.html">Pausable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/pipeline-eip.html">Pipeline</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/point-to-point-channel.html">Point to Point Channel</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/poll-eip.html">Poll</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/pollEnrich-eip.html">Poll Enrich</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/polling-consumer.html">Polling Consumer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/process-eip.html">Process</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/process-manager.html">Process Manager</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/publish-subscribe-channel.html">Publish Subscribe Channel</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/randomLoadBalancer-eip.html">Random Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/recipientList-eip.html">Recipient List</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/removeHeader-eip.html">Remove Header</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/removeHeaders-eip.html">Remove Headers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/removeProperties-eip.html">Remove Properties</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/removeProperty-eip.html">Remove Property</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/removeVariable-eip.html">Remove Variable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/requestReply-eip.html">Request Reply</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/resequence-eip.html">Resequence</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/resilience4jConfiguration-eip.html">Resilience4j Configuration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/resilience4j-eip.html">Resilience4j EIP</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/resumable-eip.html">Resumable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/resume-strategies.html">Resume Strategies</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/return-address.html">Return Address</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/rollback-eip.html">Rollback</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/roundRobinLoadBalancer-eip.html">Round Robin Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/routingSlip-eip.html">Routing Slip</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/saga-eip.html">Saga</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/sample-eip.html">Sample</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/scatter-gather.html">Scatter-Gather</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/script-eip.html">Script</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/selective-consumer.html">Selective Consumer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/service-activator.html">Service Activator</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setBody-eip.html">Set Body</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setHeader-eip.html">Set Header</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setHeaders-eip.html">Set Headers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setProperty-eip.html">Set Property</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setVariable-eip.html">Set Variable</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/setVariables-eip.html">Set Variables</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/sort-eip.html">Sort</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/tokenizer-eip.html">Specialized tokenizer for AI applications</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/split-eip.html">Split</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/step-eip.html">Step</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/stickyLoadBalancer-eip.html">Sticky Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/stop-eip.html">Stop</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/throwException-eip.html">Stop</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/streamConfig-eip.html">StreamConfig</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/threads-eip.html">Threads</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/throttle-eip.html">Throttle</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/to-eip.html">To</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/toD-eip.html">To D</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/topicLoadBalancer-eip.html">Topic Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/transactional-client.html">Transactional Client</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/transform-eip.html">Transform</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/transformDataType-eip.html">Transform Data Type</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/unmarshal-eip.html">Unmarshal</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/validate-eip.html">Validate</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/weightedLoadBalancer-eip.html">Weighted Load Balancer</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="eips/wireTap-eip.html">Wire Tap</a> </li> </ul> </li> </ul> </li> </ul> </nav> </div> <div class="nav-panel-explore" data-panel="explore"> <div class="context"> <span class="title">Camel Components</span> <span class="version">Next (Pre-release)</span> </div> <ul class="components"> <li class="component"> <span class="title"> <a href="../../manual/index.html">User manual</a> </span></li> <li class="component"> <span class="title"> <a href="../../camel-core/index.html">Camel Core</a> </span></li> <li class="component is-current"><span class="title">Camel Components</span> <ul class="versions"> <li class="version is-current"> <a href="index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Spring Boot</span> <ul class="versions"> <li class="version"> <a href="../../camel-spring-boot/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../camel-spring-boot/4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../../camel-spring-boot/4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Quarkus</span> <ul class="versions"> <li class="version"> <a href="../../camel-quarkus/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../camel-quarkus/3.33.x/index.html">3.33.x</a> </li> <li class="version"> <a href="../../camel-quarkus/3.27.x/index.html">3.27.x</a> </li> </ul></li> <li class="component"><span class="title">Kamelet Catalog</span> <ul class="versions"> <li class="version"> <a href="../../camel-kamelets/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../camel-kamelets/4.18.x/index.html">4.18.x (LTS)</a> </li> <li class="version"> <a href="../../camel-kamelets/4.14.x/index.html">4.14.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel K</span> <ul class="versions"> <li class="version"> <a href="../../camel-k/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../camel-k/2.10.x/index.html">2.10.x</a> </li> <li class="version"> <a href="../../camel-k/2.9.x/index.html">2.9.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Kafka Connector</span> <ul class="versions"> <li class="version"> <a href="../../camel-kafka-connector/next/index.html">Next (Pre-release)</a> </li> </ul></li> <li class="component"><span class="title">Camel Karaf</span> <ul class="versions"> <li class="version"> <a href="../../camel-karaf/4.9.x/index.html">4.9.x</a> </li> </ul></li> </ul> </div> </div> </aside> </div> <main class="article"> <nav class="toolbar" aria-label="Toolbar"> <button class="nav-toggle" type="button" aria-label="Toggle submenu"></button> <nav class="breadcrumbs" aria-label="breadcrumbs"> <ul> <li><a href="index.html">Camel Components</a></li> <li><a href="index.html">Components</a></li> <li><a href="google-summary.html">Google</a></li> <li><a href="google-sheets-stream-component.html">Google Sheets Stream</a></li> </ul> </nav> <div class="page-versions"> <button class="version-menu-toggle" type="button" title="Show other versions of page">Next (Pre-release)</button> <div class="version-menu"> <a class="version is-current" href="google-sheets-stream-component.html">Next (Pre-release)</a> <a class="version" href="../4.18.x/google-sheets-stream-component.html">4.18.x (LTS)</a> <a class="version" href="../4.14.x/google-sheets-stream-component.html">4.14.x (LTS)</a> </div> </div> <div class="edit-this-page"><a href="https://github.com/apache/camel/edit/main/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc">Edit this Page</a></div> </nav> <div class="content"> <article class="doc"> <h1 class="page">Google Sheets Stream</h1> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p><strong>Since Camel 2.23</strong></p> </div> <div class="paragraph"> <p><strong>Only consumer is supported</strong></p> </div> <div class="paragraph"> <p>The Google Sheets component provides access to <a href="https://sheets.google.com/">Sheets</a> via the <a href="https://developers.google.com/sheets/api/reference/rest/">Google Sheets Web APIs</a>.</p> </div> <div class="paragraph"> <p>Google Sheets uses the <a href="https://developers.google.com/accounts/docs/OAuth2">OAuth 2.0 protocol</a> for authenticating a Google account and authorizing access to user data. Before you can use this component, you will need to <a href="https://developers.google.com/google-apps/sheets/auth">create an account and generate OAuth credentials</a>. Credentials consist of a <code>clientId</code>, <code>clientSecret</code>, and a <code>refreshToken</code>. A handy resource for generating a long-lived <code>refreshToken</code> is the <a href="https://developers.google.com/oauthplayground">OAuth playground</a>.</p> </div> <div class="paragraph"> <p>In the case of a <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount">service account</a>, credentials consist of a JSON-file (serviceAccountKey). You can also use <a href="https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority">delegation domain-wide authority</a> (delegate) and one, several, or all possible <a href="https://developers.google.com/sheets/api/guides/authorizing">Sheets API Auth Scopes</a>.</p> </div> <div class="paragraph"> <p>Maven users will need to add the following dependency to their pom.xml for this component:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-google-sheets</artifactId> |
| <!-- use the same version as your Camel core version --> |
| <version>x.x.x</version> |
| </dependency></code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_uri_format"><a class="anchor" href="#_uri_format"></a>URI Format</h2> <div class="sectionbody"> <div class="paragraph"> <p>The Google Sheets Component uses the following URI format:</p> </div> <div class="listingblock"> <div class="content"> <pre>google-sheets-stream://apiName?[options]</pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_configuring_options"><a class="anchor" href="#_configuring_options"></a>Configuring Options</h2> <div class="sectionbody"> <div class="paragraph"> <p>Camel components are configured on two separate levels:</p> </div> <div class="ulist"> <ul> <li> <p>component level</p> </li> <li> <p>endpoint level</p> </li> </ul> </div> <div class="sect2"> <h3 id="_configuring_component_options"><a class="anchor" href="#_configuring_component_options"></a>Configuring Component Options</h3> <div class="paragraph"> <p>At the component level, you set general and shared configurations that are, then, inherited by the endpoints. It is the highest configuration level.</p> </div> <div class="paragraph"> <p>For example, a component may have security settings, credentials for authentication, urls for network connection and so forth.</p> </div> <div class="paragraph"> <p>Some components only have a few options, and others may have many. Because components typically have pre-configured defaults that are commonly used, then you may often only need to configure a few options on a component; or none at all.</p> </div> <div class="paragraph"> <p>You can configure components using:</p> </div> <div class="ulist"> <ul> <li> <p>the <a href="../../manual/component-dsl.html" class="xref page">Component DSL</a>.</p> </li> <li> <p>in a configuration file (<code>application.properties</code>, <code>*.yaml</code> files, etc).</p> </li> <li> <p>directly in the Java code.</p> </li> </ul> </div> </div> <div class="sect2"> <h3 id="_configuring_endpoint_options"><a class="anchor" href="#_configuring_endpoint_options"></a>Configuring Endpoint Options</h3> <div class="paragraph"> <p>You usually spend more time setting up endpoints because they have many options. These options help you customize what you want the endpoint to do. The options are also categorized into whether the endpoint is used as a consumer (<em>from</em>), as a producer (<em>to</em>), or both.</p> </div> <div class="paragraph"> <p>Configuring endpoints is most often done directly in the endpoint URI as <em>path</em> and <em>query</em> parameters. You can also use the <a href="../../manual/Endpoint-dsl.html" class="xref page">Endpoint DSL</a> and <a href="../../manual/dataformat-dsl.html" class="xref page">DataFormat DSL</a> as a <em>type safe</em> way of configuring endpoints and data formats in Java.</p> </div> <div class="paragraph"> <p>A good practice when configuring options is to use <a href="../../manual/using-propertyplaceholder.html" class="xref page">Property Placeholders</a>.</p> </div> <div class="paragraph"> <p>Property placeholders provide a few benefits:</p> </div> <div class="ulist"> <ul> <li> <p>They help prevent using hardcoded urls, port numbers, sensitive information, and other settings.</p> </li> <li> <p>They allow externalizing the configuration from the code.</p> </li> <li> <p>They help the code to become more flexible and reusable.</p> </li> </ul> </div> <div class="paragraph"> <p>The following two sections list all the options, firstly for the component followed by the endpoint.</p> </div> </div> </div> </div> <div class="sect1"> <h2 id="_component_options"><a class="anchor" href="#_component_options"></a>Component Options</h2> <div class="sectionbody"> <div class="paragraph"> <p>The Google Sheets Stream component supports the following options which are listed below.</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> <th class="tableblock halign-center valign-top">Default</th> <th class="tableblock halign-left valign-top">Type</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_applicationName"></a> <a href="#_component_option_applicationName" class="anchor"></a><strong>applicationName</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Google Sheets application name. Example would be camel-google-sheets/1.0.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_bridgeErrorHandler"></a> <a href="#_component_option_bridgeErrorHandler" class="anchor"></a><strong>bridgeErrorHandler</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_clientId"></a> <a href="#_component_option_clientId" class="anchor"></a><strong>clientId</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Client ID of the sheets application.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_configuration"></a> <a href="#_component_option_configuration" class="anchor"></a><strong>configuration</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To use the shared configuration.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">GoogleSheetsStreamConfiguration</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_delegate"></a> <a href="#_component_option_delegate" class="anchor"></a><strong>delegate</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Delegate for wide-domain service account.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_includeGridData"></a> <a href="#_component_option_includeGridData" class="anchor"></a><strong>includeGridData</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>True if grid data should be returned.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_majorDimension"></a> <a href="#_component_option_majorDimension" class="anchor"></a><strong>majorDimension</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the major dimension that results should use..</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>ROWS</p> </li> <li> <p>COLUMNS</p> </li> <li> <p>DIMENSION_UNSPECIFIED</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">ROWS</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_maxResults"></a> <a href="#_component_option_maxResults" class="anchor"></a><strong>maxResults</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_range"></a> <a href="#_component_option_range" class="anchor"></a><strong>range</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the range of rows and columns in a sheet to get data from.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_scopes"></a> <a href="#_component_option_scopes" class="anchor"></a><strong>scopes</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the level of permissions you want a sheets application to have to a user account. See <a href="https://developers.google.com/identity/protocols/googlescopes" class="bare">https://developers.google.com/identity/protocols/googlescopes</a> for more info. Multiple scopes can be separated by comma.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_splitResults"></a> <a href="#_component_option_splitResults" class="anchor"></a><strong>splitResults</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_valueRenderOption"></a> <a href="#_component_option_valueRenderOption" class="anchor"></a><strong>valueRenderOption</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Determines how values should be rendered in the output.</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>FORMATTED_VALUE</p> </li> <li> <p>UNFORMATTED_VALUE</p> </li> <li> <p>FORMULA</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">FORMATTED_VALUE</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_autowiredEnabled"></a> <a href="#_component_option_autowiredEnabled" class="anchor"></a><strong>autowiredEnabled</strong> (advanced)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">true</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_clientFactory"></a> <a href="#_component_option_clientFactory" class="anchor"></a><strong>clientFactory</strong> (advanced)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">GoogleSheetsClientFactory</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_healthCheckConsumerEnabled"></a> <a href="#_component_option_healthCheckConsumerEnabled" class="anchor"></a><strong>healthCheckConsumerEnabled</strong> (health)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Used for enabling or disabling all consumer based health checks from this component.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">true</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_healthCheckProducerEnabled"></a> <a href="#_component_option_healthCheckProducerEnabled" class="anchor"></a><strong>healthCheckProducerEnabled</strong> (health)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">true</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_accessToken"></a> <a href="#_component_option_accessToken" class="anchor"></a><strong>accessToken</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_clientSecret"></a> <a href="#_component_option_clientSecret" class="anchor"></a><strong>clientSecret</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Client secret of the sheets application.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_refreshToken"></a> <a href="#_component_option_refreshToken" class="anchor"></a><strong>refreshToken</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_component_option_serviceAccountKey"></a> <a href="#_component_option_serviceAccountKey" class="anchor"></a><strong>serviceAccountKey</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Sets .json file with credentials for Service account.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> </tbody> </table></div> </div> </div> <div class="sect1"> <h2 id="_endpoint_options"><a class="anchor" href="#_endpoint_options"></a>Endpoint Options</h2> <div class="sectionbody"> <div class="paragraph"> <p>The Google Sheets Stream endpoint is configured using URI syntax:</p> </div> <div class="listingblock"> <div class="content"> <pre>google-sheets-stream:spreadsheetId</pre> </div> </div> <div class="paragraph"> <p>With the following <em>path</em> and <em>query</em> parameters:</p> </div> <div class="sect2"> <h3 id="_path_parameters"><a class="anchor" href="#_path_parameters"></a>Path Parameters</h3> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> <th class="tableblock halign-center valign-top">Default</th> <th class="tableblock halign-left valign-top">Type</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_path_option_spreadsheetId"></a> <a href="#_endpoint_path_option_spreadsheetId" class="anchor"></a><strong>spreadsheetId</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><strong>Required</strong> Specifies the spreadsheet identifier that is used to identify the target to obtain.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> </tbody> </table></div> </div> <div class="sect2"> <h3 id="_query_parameters"><a class="anchor" href="#_query_parameters"></a>Query Parameters</h3> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> <th class="tableblock halign-center valign-top">Default</th> <th class="tableblock halign-left valign-top">Type</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_applicationName"></a> <a href="#_endpoint_query_option_applicationName" class="anchor"></a><strong>applicationName</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Google Sheets application name. Example would be camel-google-sheets/1.0.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_clientId"></a> <a href="#_endpoint_query_option_clientId" class="anchor"></a><strong>clientId</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Client ID of the sheets application.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_delegate"></a> <a href="#_endpoint_query_option_delegate" class="anchor"></a><strong>delegate</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Delegate for wide-domain service account.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_includeGridData"></a> <a href="#_endpoint_query_option_includeGridData" class="anchor"></a><strong>includeGridData</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>True if grid data should be returned.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_majorDimension"></a> <a href="#_endpoint_query_option_majorDimension" class="anchor"></a><strong>majorDimension</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the major dimension that results should use..</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>ROWS</p> </li> <li> <p>COLUMNS</p> </li> <li> <p>DIMENSION_UNSPECIFIED</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">ROWS</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_maxResults"></a> <a href="#_endpoint_query_option_maxResults" class="anchor"></a><strong>maxResults</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_range"></a> <a href="#_endpoint_query_option_range" class="anchor"></a><strong>range</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the range of rows and columns in a sheet to get data from.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_scopes"></a> <a href="#_endpoint_query_option_scopes" class="anchor"></a><strong>scopes</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the level of permissions you want a sheets application to have to a user account. See <a href="https://developers.google.com/identity/protocols/googlescopes" class="bare">https://developers.google.com/identity/protocols/googlescopes</a> for more info. Multiple scopes can be separated by comma.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_sendEmptyMessageWhenIdle"></a> <a href="#_endpoint_query_option_sendEmptyMessageWhenIdle" class="anchor"></a><strong>sendEmptyMessageWhenIdle</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_splitResults"></a> <a href="#_endpoint_query_option_splitResults" class="anchor"></a><strong>splitResults</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_valueRenderOption"></a> <a href="#_endpoint_query_option_valueRenderOption" class="anchor"></a><strong>valueRenderOption</strong> (consumer)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Determines how values should be rendered in the output.</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>FORMATTED_VALUE</p> </li> <li> <p>UNFORMATTED_VALUE</p> </li> <li> <p>FORMULA</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">FORMATTED_VALUE</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_bridgeErrorHandler"></a> <a href="#_endpoint_query_option_bridgeErrorHandler" class="anchor"></a><strong>bridgeErrorHandler</strong> (consumer (advanced))</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_exceptionHandler"></a> <a href="#_endpoint_query_option_exceptionHandler" class="anchor"></a><strong>exceptionHandler</strong> (consumer (advanced))</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">ExceptionHandler</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_exchangePattern"></a> <a href="#_endpoint_query_option_exchangePattern" class="anchor"></a><strong>exchangePattern</strong> (consumer (advanced))</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Sets the exchange pattern when the consumer creates an exchange.</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>InOnly</p> </li> <li> <p>InOut</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">ExchangePattern</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_pollStrategy"></a> <a href="#_endpoint_query_option_pollStrategy" class="anchor"></a><strong>pollStrategy</strong> (consumer (advanced))</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">PollingConsumerPollStrategy</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_backoffErrorThreshold"></a> <a href="#_endpoint_query_option_backoffErrorThreshold" class="anchor"></a><strong>backoffErrorThreshold</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_backoffIdleThreshold"></a> <a href="#_endpoint_query_option_backoffIdleThreshold" class="anchor"></a><strong>backoffIdleThreshold</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_backoffMultiplier"></a> <a href="#_endpoint_query_option_backoffMultiplier" class="anchor"></a><strong>backoffMultiplier</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_delay"></a> <a href="#_endpoint_query_option_delay" class="anchor"></a><strong>delay</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Milliseconds before the next poll.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">500</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_greedy"></a> <a href="#_endpoint_query_option_greedy" class="anchor"></a><strong>greedy</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">false</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_initialDelay"></a> <a href="#_endpoint_query_option_initialDelay" class="anchor"></a><strong>initialDelay</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Milliseconds before the first poll starts.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">1000</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_repeatCount"></a> <a href="#_endpoint_query_option_repeatCount" class="anchor"></a><strong>repeatCount</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">0</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_runLoggingLevel"></a> <a href="#_endpoint_query_option_runLoggingLevel" class="anchor"></a><strong>runLoggingLevel</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>TRACE</p> </li> <li> <p>DEBUG</p> </li> <li> <p>INFO</p> </li> <li> <p>WARN</p> </li> <li> <p>ERROR</p> </li> <li> <p>OFF</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">TRACE</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">LoggingLevel</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_scheduledExecutorService"></a> <a href="#_endpoint_query_option_scheduledExecutorService" class="anchor"></a><strong>scheduledExecutorService</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">ScheduledExecutorService</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_scheduler"></a> <a href="#_endpoint_query_option_scheduler" class="anchor"></a><strong>scheduler</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">none</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Object</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_schedulerProperties"></a> <a href="#_endpoint_query_option_schedulerProperties" class="anchor"></a><strong>schedulerProperties</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. This is a multi-value option with prefix: scheduler.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Map</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_startScheduler"></a> <a href="#_endpoint_query_option_startScheduler" class="anchor"></a><strong>startScheduler</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Whether the scheduler should be auto started.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">true</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_timeUnit"></a> <a href="#_endpoint_query_option_timeUnit" class="anchor"></a><strong>timeUnit</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Time unit for initialDelay and delay options.</p> </div> <div class="paragraph"> <p>Enum values:</p> </div> <div class="ulist"> <ul> <li> <p>NANOSECONDS</p> </li> <li> <p>MICROSECONDS</p> </li> <li> <p>MILLISECONDS</p> </li> <li> <p>SECONDS</p> </li> <li> <p>MINUTES</p> </li> <li> <p>HOURS</p> </li> <li> <p>DAYS</p> </li> </ul> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">MILLISECONDS</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">TimeUnit</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_useFixedDelay"></a> <a href="#_endpoint_query_option_useFixedDelay" class="anchor"></a><strong>useFixedDelay</strong> (scheduler)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.</p> </div></div></td> <td class="tableblock halign-center valign-top"><p class="tableblock">true</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_accessToken"></a> <a href="#_endpoint_query_option_accessToken" class="anchor"></a><strong>accessToken</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_clientSecret"></a> <a href="#_endpoint_query_option_clientSecret" class="anchor"></a><strong>clientSecret</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Client secret of the sheets application.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_refreshToken"></a> <a href="#_endpoint_query_option_refreshToken" class="anchor"></a><strong>refreshToken</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_query_option_serviceAccountKey"></a> <a href="#_endpoint_query_option_serviceAccountKey" class="anchor"></a><strong>serviceAccountKey</strong> (security)</p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Sets .json file with credentials for Service account.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> </tbody> </table></div> </div> </div> </div> <div class="sect1"> <h2 id="_message_headers"><a class="anchor" href="#_message_headers"></a>Message Headers</h2> <div class="sectionbody"> <div class="paragraph"> <p>The Google Sheets Stream component supports the following message header(s), which is/are listed below:</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Description</th> <th class="tableblock halign-center valign-top">Default</th> <th class="tableblock halign-left valign-top">Type</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsSpreadsheetId"></a> <a href="#_endpoint_header_CamelGoogleSheetsSpreadsheetId" class="anchor"></a><strong>CamelGoogleSheetsSpreadsheetId</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#SPREADSHEET_ID"><code>SPREADSHEET_ID</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>Specifies the spreadsheet identifier that is used to identify the target to obtain.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsSpreadsheetUrl"></a> <a href="#_endpoint_header_CamelGoogleSheetsSpreadsheetUrl" class="anchor"></a><strong>CamelGoogleSheetsSpreadsheetUrl</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#SPREADSHEET_URL"><code>SPREADSHEET_URL</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The URL of the spreadsheet.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsMajorDimension"></a> <a href="#_endpoint_header_CamelGoogleSheetsMajorDimension" class="anchor"></a><strong>CamelGoogleSheetsMajorDimension</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#MAJOR_DIMENSION"><code>MAJOR_DIMENSION</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The major dimension of the values.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsRange"></a> <a href="#_endpoint_header_CamelGoogleSheetsRange" class="anchor"></a><strong>CamelGoogleSheetsRange</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#RANGE"><code>RANGE</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The range the values cover, in A1 notation.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsRangeIndex"></a> <a href="#_endpoint_header_CamelGoogleSheetsRangeIndex" class="anchor"></a><strong>CamelGoogleSheetsRangeIndex</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#RANGE_INDEX"><code>RANGE_INDEX</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The index of the range.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="_endpoint_header_CamelGoogleSheetsValueIndex"></a> <a href="#_endpoint_header_CamelGoogleSheetsValueIndex" class="anchor"></a><strong>CamelGoogleSheetsValueIndex</strong> (consumer)</p> <p class="tableblock">Constant: <a href="https://javadoc.io/doc/org.apache.camel/camel-google-sheets/latest/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.html#VALUE_INDEX"><code>VALUE_INDEX</code></a></p></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p>The index of the value.</p> </div></div></td> <td class="tableblock halign-center valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td> </tr> </tbody> </table></div> </div> </div> <div class="sect1"> <h2 id="_valueinputoption"><a class="anchor" href="#_valueinputoption"></a>ValueInputOption</h2> <div class="sectionbody"> <div class="paragraph"> <p>Many of the APIs with Google sheets require including the following header, with one of the enum values:</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> </colgroup> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Header</strong></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Enum</strong></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CamelGoogleSheets.ValueInputOption</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>RAW</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The values the user has entered will not be parsed and will be stored as-is.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CamelGoogleSheets.ValueInputOption</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>USER_ENTERED</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.</p></td> </tr> </tbody> </table></div> </div> </div> <div class="sect1"> <h2 id="_more_information"><a class="anchor" href="#_more_information"></a>More information</h2> <div class="sectionbody"> <div class="paragraph"> <p>For more information on the endpoints and options see API documentation at: <a href="https://developers.google.com/sheets/api/reference/rest/">https://developers.google.com/sheets/api/reference/rest/</a></p> </div> </div> </div> </article> <aside class="toc sidebar" aria-label="Table of contents" data-title="Contents" data-levels="2"> <div class="toc-menu"></div> </aside> </div> </main> </div> <div class="footer-tools"> <a href="#top" title="Reach the top of the page">Back to top</a> </div> <footer> <div class="footer"> <figure class="logo"> <img src="../../_/img/logo-d-a567cee6fa.svg" class="logo-small mt-60" alt="Apache Camel Logo" aria-label="white silhouette of a camel in front of a sand dune"> </figure> <input id="footer-toggle-overview" type="checkbox" title="Show/Hide Overview section"> <dl> <dt><label for="footer-toggle-overview">Overview</label><label for="footer-toggle-overview">+</label></dt> <dd><a href="../../blog/">Blog</a></dd> <dd><a href="../../docs/">Documentation</a></dd> <dd><a href="../../community/support/">Community</a></dd> <dd><a href="../../download/">Download</a></dd> </dl> <input id="footer-toggle-documentation" type="checkbox" title="Show/Hide Documentation section"> <dl> <dt><label for="footer-toggle-documentation">Documentation</label><label for="footer-toggle-documentation">+</label></dt> <dd><a href="../../manual/">User Manual</a></dd> <dd><a href="../../components/next/index.html">Components</a></dd> <dd><a href="../../camel-k/next/">Camel-K</a></dd> <dd><a href="../../camel-kafka-connector/next/">Camel Kafka Connector</a></dd> <dd><a href="../../camel-quarkus/next/">Camel Quarkus</a></dd> <dd><a href="../../camel-spring-boot/next/">Camel Spring Boot</a></dd> <dd><a href="../../camel-karaf/latest/">Camel Karaf</a></dd> <dd><a href="../../manual/faq/index.html">FAQ</a></dd> </dl> <input id="footer-toggle-community" type="checkbox" title="Show/Hide Community section"> <dl> <dt><label for="footer-toggle-community">Community</label><label for="footer-toggle-community">+</label></dt> <dd><a href="../../community/support/">Support</a></dd> <dd><a href="../../community/contributing/">Contributing</a></dd> <dd><a href="../../community/mailing-list/">Mailing Lists</a></dd> <dd><a href="../../community/user-stories/">User stories</a></dd> <dd><a href="../../community/articles/">Articles</a></dd> <dd><a href="../../community/books/">Books</a></dd> <dd><a href="../../community/team/">Team</a></dd> </dl> <input id="footer-toggle-about" type="checkbox" title="Show/Hide Acknowledgements section"> <dl> <dt><label for="footer-toggle-about">About</label><label for="footer-toggle-about">+</label></dt> <dd><a href="../../acknowledgments/">Acknowledgments</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/licenses/" title="License">License</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/security/" title="Security">Security</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></dd> </dl> <p class="remark"> © 2004-2026 The <a href="https://apache.org">Apache Software Foundation</a>.<br> Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. </p> <div class="resources"> <div class="context"> <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a> </div> <div class="context"> <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a> </div> <div class="context"> <a href="../../sitemap/">Sitemap</a> </div> </div> <div class="footer-icons"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg class="brand-icon" focusable="false"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg class="brand-icon" focusable="false"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg class="brand-icon" focusable="false"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg class="brand-icon" focusable="false"><use xlink:href="../../_/img/brand-logos-a2b35bbdec.svg#linkedin"/></svg></a> </div> </div> </footer> <script src="../../_/js/vendor/algoliasearch-c7d08807d6.js"></script> <script src="../../_/js/site-0eeb09d476.js"></script> <script async src="../../_/js/vendor/highlight-621a10fe1b.js"></script> <script async src="../../_/js/vendor/svg4everybody-a0c573f2b9.js"></script> <script async src="../../_/js/vendor/tabs-5aea11bcf5.js" data-sync-storage-key="preferred-tab"></script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Apache Camel", "url": "https://camel.apache.org", "sameAs": [ "https://twitter.com/ApacheCamel" ], "logo": "../../_/img/logo-d-a567cee6fa.svg", "description": "Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL." } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Apache Camel", "item": "https://camel.apache.org/" }, { "@type": "ListItem", "position": 2, "name": "Camel Components", "item": "https://camel.apache.org/components/4.18.x/index.html" }, { "@type": "ListItem", "position": 3, "name": "Next (Pre-release)", "item": "https://camel.apache.org/components/next/index.html" }, { "@type": "ListItem", "position": 4, "name": "Components", "item": "https://camel.apache.org/components/next/index.html" }, { "@type": "ListItem", "position": 5, "name": "Google", "item": "https://camel.apache.org/components/next/google-summary.html" }, { "@type": "ListItem", "position": 6, "name": "Google Sheets Stream", "item": "https://camel.apache.org/components/next/google-sheets-stream-component.html" }] } </script> </body> </html> |