// kafka-connector options: START
[[camel-grpc-kafka-connector-sink]]
= camel-grpc-kafka-connector sink configuration

Connector Description: Expose gRPC endpoints and access external gRPC endpoints.

When using camel-grpc-kafka-connector as sink 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-grpc-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>
----

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

[source,java]
----
connector.class=org.apache.camel.kafkaconnector.grpc.CamelGrpcSinkConnector
----


The camel-grpc sink connector supports 25 options, which are listed below.



[width="100%",cols="2,5,^1,1,1",options="header"]
|===
| Name | Description | Default | Required | Priority
| *camel.sink.path.host* | The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer. | null | true | HIGH
| *camel.sink.path.port* | The gRPC local or remote server port | null | true | HIGH
| *camel.sink.path.service* | Fully qualified service name from the protocol buffer descriptor file (package dot service definition name) | null | true | HIGH
| *camel.sink.endpoint.autoDiscoverClientInterceptors* | Setting the autoDiscoverClientInterceptors mechanism, if true, the component will look for a ClientInterceptor instance in the registry automatically otherwise it will skip that checking. | true | false | MEDIUM
| *camel.sink.endpoint.flowControlWindow* | The HTTP/2 flow control window size (MiB) | 1048576 | false | MEDIUM
| *camel.sink.endpoint.maxMessageSize* | The maximum message size allowed to be received/sent (MiB) | 4194304 | false | MEDIUM
| *camel.sink.endpoint.lazyStartProducer* | 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 processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | false | MEDIUM
| *camel.sink.endpoint.method* | gRPC method name | null | false | MEDIUM
| *camel.sink.endpoint.producerStrategy* | The mode used to communicate with a remote gRPC server. In SIMPLE mode a single exchange is translated into a remote procedure call. In STREAMING mode all exchanges will be sent within the same request (input and output of the recipient gRPC service must be of type 'stream'). One of: [SIMPLE] [STREAMING] | "SIMPLE" | false | MEDIUM
| *camel.sink.endpoint.streamRepliesTo* | When using STREAMING client mode, it indicates the endpoint where responses should be forwarded. | null | false | MEDIUM
| *camel.sink.endpoint.userAgent* | The user agent header passed to the server | null | false | MEDIUM
| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used | false | false | MEDIUM
| *camel.sink.endpoint.authenticationType* | Authentication method type in advance to the SSL/TLS negotiation One of: [NONE] [GOOGLE] [JWT] | "NONE" | false | MEDIUM
| *camel.sink.endpoint.jwtAlgorithm* | JSON Web Token sign algorithm One of: [HMAC256] [HMAC384] [HMAC512] | "HMAC256" | false | MEDIUM
| *camel.sink.endpoint.jwtIssuer* | JSON Web Token issuer | null | false | MEDIUM
| *camel.sink.endpoint.jwtSecret* | JSON Web Token secret | null | false | MEDIUM
| *camel.sink.endpoint.jwtSubject* | JSON Web Token subject | null | false | MEDIUM
| *camel.sink.endpoint.keyCertChainResource* | The X.509 certificate chain file resource in PEM format link | null | false | MEDIUM
| *camel.sink.endpoint.keyPassword* | The PKCS#8 private key file password | null | false | MEDIUM
| *camel.sink.endpoint.keyResource* | The PKCS#8 private key file resource in PEM format link | null | false | MEDIUM
| *camel.sink.endpoint.negotiationType* | Identifies the security negotiation type used for HTTP/2 communication One of: [TLS] [PLAINTEXT_UPGRADE] [PLAINTEXT] | "PLAINTEXT" | false | MEDIUM
| *camel.sink.endpoint.serviceAccountResource* | Service Account key file in JSON format resource link supported by the Google Cloud SDK | null | false | MEDIUM
| *camel.sink.endpoint.trustCertCollectionResource* | The trusted certificates collection file resource in PEM format for verifying the remote endpoint's certificate | null | false | MEDIUM
| *camel.component.grpc.lazyStartProducer* | 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 processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | false | MEDIUM
| *camel.component.grpc.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
|===



The camel-grpc sink connector has no converters out of the box.





The camel-grpc sink connector has no transforms out of the box.





The camel-grpc sink connector has no aggregation strategies out of the box.




// kafka-connector options: END
