Google Cloud Storage

Micro-Integration Flows using Google Cloud Storage can be configured as a source only.

To configure the connection details for Google Cloud Storage in your Micro-Integration, see Google Cloud Storage Connection Parameters

You must also define at least one Micro-Integration Flow that specifies:

For a listing of available message headers, see Google Cloud Storage Message Headers.

Google Cloud Storage Connection Parameters

These parameters are configured at the Micro-Integration level and are shared across all Micro-Integration Flows using this Micro-Integration.

Field Description

Checkpoint Queue

The name of the Last Value Queue to use as checkpoint storage.

Auto Create Checkpoint Queue

Select to automatically create the checkpoint queue if it does not exist.

Micro-Integration Flow Parameters

You must configure the endpoint parameters for each Flow. Each Flow can have different settings, but they all share the connection details of the parent Micro-Integration.

Google Cloud Storage Source Parameters

The following table describes the parameters for configuring Google Cloud Storage as a source.

Field Description

Google Storage Service URI

The URI of the Google Cloud Storage bucket, in the following format:

storage://bucketName

Service Account Key File

The service account key file (in JSON format) to authenticate with Google Cloud.

Delete After Read

Select to delete the file from Google Cloud Storage after reading.

File Format

The format of the files coming from the Google Cloud Storage service:

Additional Properties

Additional properties for the Google Cloud Storage service. For example, blobName to define blob for download. For more information, see Additional Properties.

Delimited File Configuration Properties

Field Description

Event Delimiter

The delimiter used to separate the events in the file.

The default value is \n.

Field Delimiter

The delimiter used to separate the fields in each event.

The default value is ,.

JSON File Configuration Properties

Field Description

JSON Path Filter Expression

The JSON Path expression to filter or split the JSON file.

The default value is $ (no split).

XML File Configuration Properties

Field Description

XPath Filter Expression

The XPath expression to filter or split the XML file.

The default value is / (no split).

Additional Properties

Option Type Default Description

autoCreateBucket

boolean

true

When true, indicates that the bucket is automatically created.

storageLocation

String

US-EAST1

The Cloud Storage location to use when creating new buckets.

destinationBucket

String

None

The destination bucket where an object must be moved when moveAfterRead is set to true.

downloadFileName

String

None

The folder or filename to use when downloading the blob. By default, this parameter specifies the folder name, and the name of the file is the blob name. For example, setting this parameter to mydownload will be the same as setting mydownload/$\{file:name}. You can use dynamic expressions for fine-grained control. For example, you can specify $\{date:now:yyyyMMdd}/$\{file:name} to store the blob in subfolders based on today's day. Only $\{file:name} and $\{file:name.noext} are supported as dynamic tokens for the blob name.

filter

String

None

A regular expression to include only blobs with names matching it.

moveAfterRead

boolean

false

When true, indicates that objects are moved from the origin bucket to a different bucket after they have been retrieved. To accomplish the operation, the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.

prefix

String

None

The prefix that is used in the BlobListOptions to consume only objects of interest.

bridgeErrorHandler

boolean

false

When true, indicates that the consumer is bridged to the Camel routing Error Handler, which means any exceptions (if possible) that occur while the Camel consumer is trying to pick up incoming messages will be processed as a message and handled by the routing Error Handler. This is only possible if the third-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, the Camel component may be improved to hook into the third-party component and make this possible for future releases. By default, the consumer uses the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN or ERROR level and ignored.

objectName

String

None

The object name inside the bucket.

backoffErrorThreshold

int

None

The number of subsequent error polls (failed due to some error) that should happen before the backoffMultiplier kicks in.

backoffIdleThreshold

int

None

The number of subsequent idle polls that should happen before the backoffMultiplier kicks in.

backoffMultiplier

int

None

The multiplier that lets the scheduled polling consumer back off if there has been a number of subsequent idles or errors in a row. The multiplier is the number of polls that will be skipped before the next actual attempt happens again. When this option is in use, backoffIdleThreshold or backoffErrorThreshold must also be configured.

delay

long

500

The number of milliseconds before the next poll.

greedy

boolean

false

When true, indicates that the ScheduledPollConsumer runs immediately again if the previous run polled one or more messages.

initialDelay

long

1000

The number of milliseconds before the first poll starts.

repeatCount

long

0

The maximum limit of the number of fires. If you set this parameter 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 the scheduler fires forever.

startScheduler

boolean

true

When true, indicates that the scheduler is automatically started.

useFixedDelay

boolean

true

When true, indicates that fixed delay is used. When false, indicates that fixed rate is used. See ScheduledExecutorService in JDK for details.