moveAwsS3Object

Processor that moves an object between two AWS S3 buckets.

The processor performs a move operation as a two-step process of copying the object to the target bucket, followed by deleting the source object.

The object key is specified as a string payload, or as an expression. If the processor succeeds the output payload is empty.

The copy operation will fetch the source object etag and use the if-match parameter to ensure that only one concurrent copy will succeed. The user can configure failure modes for either step, to determine if a missing source key produces an error, or if a source object deletion failure produces an error.

The maximum object size is 5GB!

Properties

Name Summary

forwardProperty()

Adds a property from the object’s metadata to a list to convert into message exchange properties. If an exchange property with the same name already exists, it will be replaced.

bucketName

The storage bucket name the object will be read from. Required.

moveToBucketName

The storage bucket name the object will be written to. Required.

authenticationConfigKey

A secret key that the server uses to look up the credentials needed to perform the AWS authentication. Required.

endpointUrl

Base URL of the AWS S3 endpoint. Optional.

region

Region name of the bucket. Optional.

retryMaxAttempts

Optional, maximum number of retry attempts the S3 client can perform before failing the request. This option only affects the producer and not the regular flow redelivery mechanism. Defaults to 0, meaning the processor will not perform any retries (though the flow source will still perform retries if configured).

retryInitialDelayMillis

The delay before performing the first retry after the original request has failed. Optional.

retryMaxDelayMillis

Optional, maximum time to wait between retries. An exponential mechanism is used to calculate the next delay between retries.

sslAuthenticationConfigKey

Key used to look up secret with SSL credentials for server and client authentication. Parameter allowCertificateAssociatedWithWrongHost is ignored on this processor. If using custom trust store, you must provide endpointUrl. Optional.

objectKeyExpr

Optional expression used to determine the key of the object to obtain from storage. If this is not set, the payload will be converted to a string and used as the key.

retainPayload

Retain the processor input payload after successful processing, copying the payload to the processor output makes it available for processing in downstream processors. Optional and defaults to false (i.e., the payload is removed after it is written to S3).

ignoreMissingObject

Do not fail if the object does not exist in the source bucket. Optional and defaults to false.

ignoreFailedDelete

Do not fail the processor execution if the source bucket object cannot be deleted. Optional and defaults to true.

connectionTimeoutMillis

The timeout of the HTTP client socket connection. Optional.

receiveTimeoutMillis

The socket timeout to wait for the first byte of response from the server. Optional.

name

Optional, descriptive name for the processor.

id

Required identifier of the processor, unique across all processors within the flow. Must be between 3 and 30 characters long; contain only lower and uppercase alphabetical characters (a-z and A-Z), numbers, dashes ("-"), and underscores ("_"); and start with an alphabetical character. In other words, it adheres to the regex pattern [a-zA-Z][a-zA-Z0-9_-]{2,29}.

exchangeProperties

Optional set of custom properties in a simple jdk-format, that are added to the message exchange properties before processing the incoming payload. Any existing properties with the same name will be replaced by properties defined here.

retainPayloadOnFailure

Whether the incoming payload is available for error processing on failure. Defaults to false.

Sub-builders

Name Summary

externalSystemDetails

Strategy for describing the external system integration. Optional.

circuitBreakerStrategy

Strategy for configuring the processor’s circuit breaker. Optional.

messageLoggingStrategy

Strategy for describing how a processor’s message is logged on the server.

payloadArchivingStrategy

Strategy for archiving payloads.

inboundTransformationStrategy

Strategy that customizes the conversion of an incoming payload by a processor (e.g., string to object). Should be used when the processor’s default conversion logic cannot be used.

Details

The object key is specified as a string payload, or as an expression. If the processor succeeds the output payload is empty. The copy operation will fetch the source object etag and use the if-match parameter to ensure that only one concurrent copy will succeed. The user can configure failure modes for either step, to determine if a missing source key produces an error, or if a source object deletion failure produces an error.

The maximum object size is 5GB!

Authentication

The authenticationConfigKey property supports secrets of type AwsCredentials. See the Secret Types documentation for formatting details.