AWS Bedrock

Invoke Model of AWS Bedrock service.

What’s inside

Please refer to the above links for usage and configuration details.

Maven coordinates

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-aws-bedrock-starter</artifactId>
</dependency>

Spring Boot Auto-Configuration

The starter supports 86 options, which are listed below.

Name Description Default Type

camel.component.aws-bedrock-agent-runtime.access-key

Amazon AWS Access Key

String

camel.component.aws-bedrock-agent-runtime.autowired-enabled

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

Boolean

camel.component.aws-bedrock-agent-runtime.bedrock-agent-runtime-async-client

To use an existing configured AWS Bedrock Agent Runtime async client (required for invokeFlow which streams events back). The option is a software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient type.

BedrockAgentRuntimeAsyncClient

camel.component.aws-bedrock-agent-runtime.bedrock-agent-runtime-client

To use an existing configured AWS Bedrock Agent Runtime client. The option is a software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient type.

BedrockAgentRuntimeClient

camel.component.aws-bedrock-agent-runtime.configuration

Component configuration. The option is a org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration type.

BedrockAgentRuntimeConfiguration

camel.component.aws-bedrock-agent-runtime.enable-trace

Enables tracing for the invokeFlow operation. When enabled, the producer collects FlowTraceEvent entries and publishes them in the CamelAwsBedrockAgentRuntimeFlowTraces header.

false

Boolean

camel.component.aws-bedrock-agent-runtime.enabled

Whether to enable auto configuration of the aws-bedrock-agent-runtime component. This is enabled by default.

Boolean

camel.component.aws-bedrock-agent-runtime.flow-alias-identifier

The unique identifier of the Bedrock flow alias to invoke (used by the invokeFlow operation). Can be overridden per exchange via the CamelAwsBedrockAgentRuntimeFlowAliasIdentifier header.

String

camel.component.aws-bedrock-agent-runtime.flow-identifier

The unique identifier of the Bedrock flow to invoke (used by the invokeFlow operation). Can be overridden per exchange via the CamelAwsBedrockAgentRuntimeFlowIdentifier header.

String

camel.component.aws-bedrock-agent-runtime.health-check-consumer-enabled

Used for enabling or disabling all consumer based health checks from this component

true

Boolean

camel.component.aws-bedrock-agent-runtime.health-check-producer-enabled

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.

true

Boolean

camel.component.aws-bedrock-agent-runtime.knowledge-base-id

Define the Knowledge Base Id we are going to use

String

camel.component.aws-bedrock-agent-runtime.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 processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

Boolean

camel.component.aws-bedrock-agent-runtime.model-id

Define the model Id we are going to use

String

camel.component.aws-bedrock-agent-runtime.operation

The operation to perform

BedrockAgentRuntimeOperations

camel.component.aws-bedrock-agent-runtime.override-endpoint

Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option

false

Boolean

camel.component.aws-bedrock-agent-runtime.pojo-request

If we want to use a POJO request as body or not

false

Boolean

camel.component.aws-bedrock-agent-runtime.profile-credentials-name

If using a profile credentials provider, this parameter will set the profile name

false

String

camel.component.aws-bedrock-agent-runtime.proxy-host

To define a proxy host when instantiating the Bedrock Agent Runtime client

String

camel.component.aws-bedrock-agent-runtime.proxy-port

To define a proxy port when instantiating the Bedrock Agent Runtime client

Integer

camel.component.aws-bedrock-agent-runtime.proxy-protocol

To define a proxy protocol when instantiating the Bedrock Agent Runtime client

https

Protocol

camel.component.aws-bedrock-agent-runtime.region

The region in which Bedrock Agent Runtime client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You’ll need to use the name Region.EU_WEST_1.id()

String

camel.component.aws-bedrock-agent-runtime.secret-key

Amazon AWS Secret Key

String

camel.component.aws-bedrock-agent-runtime.session-token

Amazon AWS Session Token used when the user needs to assume an IAM role

String

camel.component.aws-bedrock-agent-runtime.trust-all-certificates

If we want to trust all certificates in case of overriding the endpoint

false

Boolean

camel.component.aws-bedrock-agent-runtime.uri-endpoint-override

Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option

String

camel.component.aws-bedrock-agent-runtime.use-default-credentials-provider

Set whether the Bedrock Agent Runtime client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.

false

Boolean

camel.component.aws-bedrock-agent-runtime.use-profile-credentials-provider

Set whether the Bedrock Agent Runtime client should expect to load credentials through a profile credentials provider.

false

Boolean

camel.component.aws-bedrock-agent-runtime.use-session-credentials

Set whether the Bedrock Agent Runtime client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Bedrock.

false

Boolean

camel.component.aws-bedrock-agent.access-key

Amazon AWS Access Key

String

camel.component.aws-bedrock-agent.autowired-enabled

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

Boolean

camel.component.aws-bedrock-agent.bedrock-agent-client

To use an existing configured AWS Bedrock Agent client. The option is a software.amazon.awssdk.services.bedrockagent.BedrockAgentClient type.

BedrockAgentClient

camel.component.aws-bedrock-agent.bridge-error-handler

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.

false

Boolean

camel.component.aws-bedrock-agent.configuration

Component configuration. The option is a org.apache.camel.component.aws2.bedrock.agent.BedrockAgentConfiguration type.

BedrockAgentConfiguration

camel.component.aws-bedrock-agent.data-source-id

Define the Data source Id we are going to use

String

camel.component.aws-bedrock-agent.enabled

Whether to enable auto configuration of the aws-bedrock-agent component. This is enabled by default.

Boolean

camel.component.aws-bedrock-agent.health-check-consumer-enabled

Used for enabling or disabling all consumer based health checks from this component

true

Boolean

camel.component.aws-bedrock-agent.health-check-producer-enabled

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.

true

Boolean

camel.component.aws-bedrock-agent.ingestion-job-id

Define the Ingestion Job Id we want to track

String

camel.component.aws-bedrock-agent.knowledge-base-id

Define the Knowledge Base Id we are going to use

String

camel.component.aws-bedrock-agent.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 processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

Boolean

camel.component.aws-bedrock-agent.operation

The operation to perform

BedrockAgentOperations

camel.component.aws-bedrock-agent.override-endpoint

Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option

false

Boolean

camel.component.aws-bedrock-agent.pojo-request

If we want to use a POJO request as body or not

false

Boolean

camel.component.aws-bedrock-agent.profile-credentials-name

If using a profile credentials provider, this parameter will set the profile name

false

String

camel.component.aws-bedrock-agent.proxy-host

To define a proxy host when instantiating the Bedrock Agent client

String

camel.component.aws-bedrock-agent.proxy-port

To define a proxy port when instantiating the Bedrock Agent client

Integer

camel.component.aws-bedrock-agent.proxy-protocol

To define a proxy protocol when instantiating the Bedrock Agent client

https

Protocol

camel.component.aws-bedrock-agent.region

The region in which Bedrock Agent client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You’ll need to use the name Region.EU_WEST_1.id()

String

camel.component.aws-bedrock-agent.secret-key

Amazon AWS Secret Key

String

camel.component.aws-bedrock-agent.session-token

Amazon AWS Session Token used when the user needs to assume an IAM role

String

camel.component.aws-bedrock-agent.trust-all-certificates

If we want to trust all certificates in case of overriding the endpoint

false

Boolean

camel.component.aws-bedrock-agent.uri-endpoint-override

Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option

String

camel.component.aws-bedrock-agent.use-default-credentials-provider

Set whether the Bedrock Agent client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.

false

Boolean

camel.component.aws-bedrock-agent.use-profile-credentials-provider

Set whether the Bedrock Agent client should expect to load credentials through a profile credentials provider.

false

Boolean

camel.component.aws-bedrock-agent.use-session-credentials

Set whether the Bedrock Agent client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Bedrock.

false

Boolean

camel.component.aws-bedrock.access-key

Amazon AWS Access Key

String

camel.component.aws-bedrock.autowired-enabled

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

Boolean

camel.component.aws-bedrock.bedrock-runtime-async-client

To use an existing configured AWS Bedrock Runtime Async client for streaming operations. The option is a software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeAsyncClient type.

BedrockRuntimeAsyncClient

camel.component.aws-bedrock.bedrock-runtime-client

To use an existing configured AWS Bedrock Runtime client. The option is a software.amazon.awssdk.services.bedrockruntime.BedrockRuntimeClient type.

BedrockRuntimeClient

camel.component.aws-bedrock.configuration

Component configuration. The option is a org.apache.camel.component.aws2.bedrock.runtime.BedrockConfiguration type.

BedrockConfiguration

camel.component.aws-bedrock.enabled

Whether to enable auto configuration of the aws-bedrock component. This is enabled by default.

Boolean

camel.component.aws-bedrock.guardrail-identifier

The identifier (ID or ARN) for the guardrail to apply to the model invocation

String

camel.component.aws-bedrock.guardrail-trace

Whether to return trace information from the guardrail

false

Boolean

camel.component.aws-bedrock.guardrail-version

The version of the guardrail to use. Defaults to DRAFT.

DRAFT

String

camel.component.aws-bedrock.health-check-consumer-enabled

Used for enabling or disabling all consumer based health checks from this component

true

Boolean

camel.component.aws-bedrock.health-check-producer-enabled

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.

true

Boolean

camel.component.aws-bedrock.include-streaming-metadata

Whether to include streaming metadata in the response headers (completion reason, token count, chunk count)

true

Boolean

camel.component.aws-bedrock.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 processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

Boolean

camel.component.aws-bedrock.model-id

Define the model Id we are going to use

String

camel.component.aws-bedrock.operation

The operation to perform

BedrockOperations

camel.component.aws-bedrock.override-endpoint

Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option

false

Boolean

camel.component.aws-bedrock.pojo-request

If we want to use a POJO request as body or not

false

Boolean

camel.component.aws-bedrock.profile-credentials-name

If using a profile credentials provider, this parameter will set the profile name

false

String

camel.component.aws-bedrock.proxy-host

To define a proxy host when instantiating the Bedrock client

String

camel.component.aws-bedrock.proxy-port

To define a proxy port when instantiating the Bedrock client

Integer

camel.component.aws-bedrock.proxy-protocol

To define a proxy protocol when instantiating the Bedrock client

https

Protocol

camel.component.aws-bedrock.region

The region in which Bedrock client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You’ll need to use the name Region.EU_WEST_1.id()

String

camel.component.aws-bedrock.secret-key

Amazon AWS Secret Key

String

camel.component.aws-bedrock.session-token

Amazon AWS Session Token used when the user needs to assume an IAM role

String

camel.component.aws-bedrock.stream-output-mode

The streaming output mode (complete or chunks). In complete mode, the full response is accumulated and returned as a single message. In chunks mode, each chunk is emitted as a separate exchange.

complete

String

camel.component.aws-bedrock.trust-all-certificates

If we want to trust all certificates in case of overriding the endpoint

false

Boolean

camel.component.aws-bedrock.uri-endpoint-override

Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option

String

camel.component.aws-bedrock.use-default-credentials-provider

Set whether the Bedrock client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.

false

Boolean

camel.component.aws-bedrock.use-profile-credentials-provider

Set whether the Bedrock client should expect to load credentials through a profile credentials provider.

false

Boolean

camel.component.aws-bedrock.use-session-credentials

Set whether the Bedrock client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Bedrock.

false

Boolean