This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new 0d263f5c98a [create-pull-request] automated change (#1856)
0d263f5c98a is described below
commit 0d263f5c98af07d0419c48f92865bd476c86e07d
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Jul 19 14:23:03 2026 +0200
[create-pull-request] automated change (#1856)
Co-authored-by: oscerd <[email protected]>
---
.../catalog/components/azure-eventhubs.json | 11 ++++----
.../springboot/catalog/components/openai.json | 2 +-
.../springboot/catalog/dev-consoles.properties | 1 +
.../dev-consoles/{heap-dump.json => api.json} | 8 +++---
.../springboot/catalog/dev-consoles/heap-dump.json | 31 ++++++++++++++++++++++
.../src/main/docs/azure-eventhubs.json | 6 +++++
.../EventHubsComponentConfiguration.java | 16 +++++++++++
.../springboot/EventHubsComponentConverter.java | 2 ++
.../ROOT/pages/starters/azure-eventhubs.adoc | 3 ++-
9 files changed, 69 insertions(+), 11 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-eventhubs.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-eventhubs.json
index 108ad6599ec..cf374faa570 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-eventhubs.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/azure-eventhubs.json
@@ -43,11 +43,12 @@
"partitionKey": { "index": 16, "kind": "property", "displayName":
"Partition Key", "group": "producer", "label": "producer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Sets a hashing key to be
provided for the batch of events, which instructs the Event Hubs [...]
"producerAsyncClient": { "index": 17, "kind": "property", "displayName":
"Producer Async Client", "group": "producer", "label": "producer", "required":
false, "type": "object", "javaType":
"com.azure.messaging.eventhubs.EventHubProducerAsyncClient", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Sets the Eve [...]
"autowiredEnabled": { "index": 18, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"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 [...]
- "connectionString": { "index": 19, "kind": "property", "displayName":
"Connection String", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": true, "security": "secret", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Instead of supplying
namespace, sharedAccessKey, sharedAccess [...]
- "credentialType": { "index": 20, "kind": "property", "displayName":
"Credential Type", "group": "security", "label": "security", "required": false,
"type": "enum", "javaType":
"org.apache.camel.component.azure.eventhubs.CredentialType", "enum": [
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated":
false, "autowired": false, "secret": false, "defaultValue":
"CONNECTION_STRING", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfigurat [...]
- "sharedAccessKey": { "index": 21, "kind": "property", "displayName":
"Shared Access Key", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": true, "security": "secret", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "The generated value for
the SharedAccessName." },
- "sharedAccessName": { "index": 22, "kind": "property", "displayName":
"Shared Access Name", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "The name you chose for
your EventHubs SAS keys." },
- "tokenCredential": { "index": 23, "kind": "property", "displayName":
"Token Credential", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"com.azure.core.credential.TokenCredential", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": true, "security": "secret",
"configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Provide custom a [...]
+ "headerFilterStrategy": { "index": 19, "kind": "property", "displayName":
"Header Filter Strategy", "group": "filter", "label": "filter", "required":
false, "type": "object", "javaType":
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired":
false, "secret": false, "description": "To use a custom
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel
message." },
+ "connectionString": { "index": 20, "kind": "property", "displayName":
"Connection String", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": true, "security": "secret", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Instead of supplying
namespace, sharedAccessKey, sharedAccess [...]
+ "credentialType": { "index": 21, "kind": "property", "displayName":
"Credential Type", "group": "security", "label": "security", "required": false,
"type": "enum", "javaType":
"org.apache.camel.component.azure.eventhubs.CredentialType", "enum": [
"AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL" ], "deprecated":
false, "autowired": false, "secret": false, "defaultValue":
"CONNECTION_STRING", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfigurat [...]
+ "sharedAccessKey": { "index": 22, "kind": "property", "displayName":
"Shared Access Key", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": true, "security": "secret", "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "The generated value for
the SharedAccessName." },
+ "sharedAccessName": { "index": 23, "kind": "property", "displayName":
"Shared Access Name", "group": "security", "label": "security", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "The name you chose for
your EventHubs SAS keys." },
+ "tokenCredential": { "index": 24, "kind": "property", "displayName":
"Token Credential", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"com.azure.core.credential.TokenCredential", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": true, "security": "secret",
"configurationClass":
"org.apache.camel.component.azure.eventhubs.EventHubsConfiguration",
"configurationField": "configuration", "description": "Provide custom a [...]
},
"headers": {
"CamelAzureEventHubsPartitionKey": { "index": 0, "kind": "header",
"displayName": "", "group": "common", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "(producer) Overrides the hashing key to
be provided for the batch of events, which instructs the Event Hubs service to
map this key to a specific partition. (consumer) It sets the partition hashing
key if it was set when originally [...]
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
index b04c1382579..8e8323d05cb 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
@@ -42,7 +42,7 @@
"CamelOpenAITopP": { "index": 5, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "Double",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "An alternative to temperature for controlling
randomness. Uses nucleus sampling where the model considers tokens with top_p
probability mass", "constantName":
"org.apache.camel.component.openai.OpenAIConstants#TOP_P" },
"CamelOpenAIMaxTokens": { "index": 6, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "Integer",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The maximum number of tokens to generate in the
completion", "constantName":
"org.apache.camel.component.openai.OpenAIConstants#MAX_TOKENS" },
"CamelOpenAIStreaming": { "index": 7, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "Boolean",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Whether to stream the response back incrementally",
"constantName": "org.apache.camel.component.openai.OpenAIConstants#STREAMING" },
- "CamelOpenAIOutputClass": { "index": 8, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "Class",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The Java class to use for structured output parsing",
"constantName":
"org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" },
+ "CamelOpenAIOutputClass": { "index": 8, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The Java class name (FQCN) to use for structured output
parsing", "constantName":
"org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" },
"CamelOpenAIJsonSchema": { "index": 9, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The JSON schema to use for structured output
validation", "constantName":
"org.apache.camel.component.openai.OpenAIConstants#JSON_SCHEMA" },
"CamelOpenAIStripThinking": { "index": 10, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Whether to strip ... blocks from the
response body", "constantName":
"org.apache.camel.component.openai.OpenAIConstants#STRIP_THINKING" },
"CamelOpenAIMediaType": { "index": 11, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The MIME type of the message body when sending a file or
binary content (File, WrappedFile, byte or InputStream) to the model. Takes
precedence over component content-type headers and automatic MIME type
detection", "constantName": "org.apa [...]
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
index 25a5d9536a6..a3ffeb1ebce 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
@@ -1,4 +1,5 @@
activity
+api
aws-secrets
aws2-s3
azure-secrets
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/api.json
similarity index 52%
copy from
catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
copy to
catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/api.json
index c8d2bccdd4e..7369bf7e83f 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/api.json
@@ -2,11 +2,11 @@
"console": {
"kind": "console",
"group": "camel",
- "name": "heap-dump",
- "title": "Heap Dump",
- "description": "Write a heap dump (.hprof) file for deep memory analysis",
+ "name": "api",
+ "title": "API",
+ "description": "OpenAPI specification for the dev console API",
"deprecated": false,
- "javaType": "org.apache.camel.impl.console.HeapDumpDevConsole",
+ "javaType": "org.apache.camel.impl.console.ApiDevConsole",
"groupId": "org.apache.camel.springboot",
"artifactId": "camel-console-starter",
"version": "4.22.0-SNAPSHOT"
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
index c8d2bccdd4e..7761dd1a3fe 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/heap-dump.json
@@ -10,6 +10,37 @@
"groupId": "org.apache.camel.springboot",
"artifactId": "camel-console-starter",
"version": "4.22.0-SNAPSHOT"
+ },
+ "options": {
+ "live": {
+ "index": 0,
+ "kind": "option",
+ "displayName": "Live",
+ "group": "query",
+ "label": "query",
+ "required": false,
+ "type": "boolean",
+ "javaType": "java.lang.Boolean",
+ "deprecated": false,
+ "autowired": false,
+ "secret": false,
+ "defaultValue": true,
+ "description": "Whether to dump only live objects (default true)"
+ },
+ "name": {
+ "index": 1,
+ "kind": "option",
+ "displayName": "Name",
+ "group": "query",
+ "label": "query",
+ "required": false,
+ "type": "string",
+ "javaType": "java.lang.String",
+ "deprecated": false,
+ "autowired": false,
+ "secret": false,
+ "description": "File name for the heap dump (without .hprof extension)"
+ }
}
}
diff --git
a/components-starter/camel-azure-eventhubs-starter/src/main/docs/azure-eventhubs.json
b/components-starter/camel-azure-eventhubs-starter/src/main/docs/azure-eventhubs.json
index ff089302e78..d3c8392778e 100644
---
a/components-starter/camel-azure-eventhubs-starter/src/main/docs/azure-eventhubs.json
+++
b/components-starter/camel-azure-eventhubs-starter/src/main/docs/azure-eventhubs.json
@@ -127,6 +127,12 @@
"description": "Sets the map containing the event position to use for
each partition if a checkpoint for the partition does not exist in
CheckpointStore. This map is keyed off of the partition id. If there is no
checkpoint in CheckpointStore and there is no entry in this map, the processing
of the partition will start from EventPosition#latest() position.",
"sourceType":
"org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
},
+ {
+ "name": "camel.component.azure-eventhubs.header-filter-strategy",
+ "type": "org.apache.camel.spi.HeaderFilterStrategy",
+ "description": "To use a custom
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel
message. The option is a org.apache.camel.spi.HeaderFilterStrategy type.",
+ "sourceType":
"org.apache.camel.component.azure.eventhubs.springboot.EventHubsComponentConfiguration"
+ },
{
"name": "camel.component.azure-eventhubs.lazy-start-producer",
"type": "java.lang.Boolean",
diff --git
a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConfiguration.java
b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConfiguration.java
index 6d49ee988d5..24697c131fc 100644
---
a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConfiguration.java
+++
b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConfiguration.java
@@ -27,6 +27,7 @@ import com.azure.storage.common.StorageSharedKeyCredential;
import org.apache.camel.component.azure.eventhubs.CredentialType;
import org.apache.camel.component.azure.eventhubs.EventHubsComponent;
import org.apache.camel.component.azure.eventhubs.EventHubsConfiguration;
+import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -191,6 +192,12 @@ public class EventHubsComponentConfiguration
* etc.
*/
private Boolean autowiredEnabled = true;
+ /**
+ * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+ * header to and from Camel message. The option is a
+ * org.apache.camel.spi.HeaderFilterStrategy type.
+ */
+ private HeaderFilterStrategy headerFilterStrategy;
/**
* Instead of supplying namespace, sharedAccessKey, sharedAccessName, etc.
* you can supply the connection string for your eventHub. The connection
@@ -373,6 +380,15 @@ public class EventHubsComponentConfiguration
this.autowiredEnabled = autowiredEnabled;
}
+ public HeaderFilterStrategy getHeaderFilterStrategy() {
+ return headerFilterStrategy;
+ }
+
+ public void setHeaderFilterStrategy(
+ HeaderFilterStrategy headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ }
+
public String getConnectionString() {
return connectionString;
}
diff --git
a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
index f1b25676e6b..1f2e0921425 100644
---
a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
+++
b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
@@ -44,6 +44,7 @@ public class EventHubsComponentConverter implements
GenericConverter {
answer.add(new ConvertiblePair(String.class,
com.azure.storage.common.StorageSharedKeyCredential.class));
answer.add(new ConvertiblePair(String.class,
com.azure.messaging.eventhubs.CheckpointStore.class));
answer.add(new ConvertiblePair(String.class,
com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class));
+ answer.add(new ConvertiblePair(String.class,
org.apache.camel.spi.HeaderFilterStrategy.class));
answer.add(new ConvertiblePair(String.class,
com.azure.core.credential.TokenCredential.class));
return answer;
}
@@ -66,6 +67,7 @@ public class EventHubsComponentConverter implements
GenericConverter {
case "com.azure.storage.common.StorageSharedKeyCredential": return
applicationContext.getBean(ref,
com.azure.storage.common.StorageSharedKeyCredential.class);
case "com.azure.messaging.eventhubs.CheckpointStore": return
applicationContext.getBean(ref,
com.azure.messaging.eventhubs.CheckpointStore.class);
case "com.azure.messaging.eventhubs.EventHubProducerAsyncClient":
return applicationContext.getBean(ref,
com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return
applicationContext.getBean(ref,
org.apache.camel.spi.HeaderFilterStrategy.class);
case "com.azure.core.credential.TokenCredential": return
applicationContext.getBean(ref,
com.azure.core.credential.TokenCredential.class);
}
return null;
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/azure-eventhubs.adoc
b/docs/spring-boot/modules/ROOT/pages/starters/azure-eventhubs.adoc
index f386e095275..eb31eaa7c2e 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/azure-eventhubs.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/azure-eventhubs.adoc
@@ -23,7 +23,7 @@ Please refer to the above links for usage and configuration
details.
== Spring Boot Auto-Configuration
-The starter supports 25 options, which are listed below.
+The starter supports 26 options, which are listed below.
[width="100%",cols="2,5,^1,2",options="header"]
|===
@@ -45,6 +45,7 @@ The starter supports 25 options, which are listed below.
| camel.component.azure-eventhubs.credential-type | Determines the credential
strategy to adopt | connection-string | CredentialType
| camel.component.azure-eventhubs.enabled | Whether to enable auto
configuration of the azure-eventhubs component. This is enabled by default. |
| Boolean
| camel.component.azure-eventhubs.event-position | Sets the map containing the
event position to use for each partition if a checkpoint for the partition does
not exist in CheckpointStore. This map is keyed off of the partition id. If
there is no checkpoint in CheckpointStore and there is no entry in this map,
the processing of the partition will start from EventPosition#latest()
position. | | EventPosition>
+| camel.component.azure-eventhubs.header-filter-strategy | To use a custom
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel
message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. | |
HeaderFilterStrategy
| camel.component.azure-eventhubs.lazy-start-producer | Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during starting and cause the route to fail being started.
By deferring this startup to be lazy then the startup failure can be handled
during routing messages via Camel's routing error handlers. Beware that when
the first message is proces [...]
| camel.component.azure-eventhubs.partition-id | Sets the identifier of the
Event Hub partition that the EventData events will be sent to. If the
identifier is not specified, the Event Hubs service will be responsible for
routing events that are sent to an available partition. | | String
| camel.component.azure-eventhubs.partition-key | Sets a hashing key to be
provided for the batch of events, which instructs the Event Hubs service to map
this key to a specific partition. The selection of a partition is stable for a
given partition hashing key. Should any other batches of events be sent using
the same exact partition hashing key, the Event Hubs service will route them
all to the same partition. This should be specified only when there is a need
to group events by partit [...]