// kafka-connector options: START
[[camel-google-pubsub-kafka-connector-source]]
= camel-google-pubsub-kafka-connector source configuration

Connector description: Send and receive messages to/from Google Cloud Platform PubSub Service.

When using camel-google-pubsub-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-google-pubsub-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>
----

To use this Source connector in Kafka connect you'll need to set the following connector.class

[source,java]
----
connector.class=org.apache.camel.kafkaconnector.googlepubsub.CamelGooglepubsubSourceConnector
----


The camel-google-pubsub source connector supports 16 options, which are listed below.



[width="100%",cols="2,5,^1,1,1",options="header"]
|===
| Name | Description | Default | Required | Priority
| *camel.source.path.projectId* | The Google Cloud PubSub Project Id | null | true | HIGH
| *camel.source.path.destinationName* | The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name. | null | true | HIGH
| *camel.source.endpoint.ackMode* | AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly One of: [AUTO] [NONE] | "AUTO" | false | MEDIUM
| *camel.source.endpoint.concurrentConsumers* | The number of parallel streams consuming from the subscription | "1" | false | MEDIUM
| *camel.source.endpoint.loggerId* | Logger ID to use when a match to the parent route required | null | false | MEDIUM
| *camel.source.endpoint.maxMessagesPerPoll* | The max number of messages to receive from the server in a single API call | "1" | false | MEDIUM
| *camel.source.endpoint.serviceAccountKey* | The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | true | HIGH
| *camel.source.endpoint.synchronousPull* | Synchronously pull batches of messages | false | false | MEDIUM
| *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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. | false | false | MEDIUM
| *camel.source.endpoint.exceptionHandler* | 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. | null | false | MEDIUM
| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
| *camel.component.google-pubsub.endpoint* | Endpoint to use with local Pub/Sub emulator. | null | false | MEDIUM
| *camel.component.google-pubsub.serviceAccountKey* | The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. | null | true | HIGH
| *camel.component.google-pubsub.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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. | false | false | MEDIUM
| *camel.component.google-pubsub.autowiredEnabled* | 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. | true | false | MEDIUM
| *camel.component.google-pubsub.publisherTermination Timeout* | How many milliseconds should a producer be allowed to terminate. | null | false | MEDIUM
|===



The camel-google-pubsub source connector has no converters out of the box.





The camel-google-pubsub source connector has no transforms out of the box.





The camel-google-pubsub source connector has no aggregation strategies out of the box.
// kafka-connector options: END
