Class AbstractS3Processor
java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processor.AbstractProcessor
org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
org.apache.nifi.processors.aws.s3.AbstractS3Processor
- All Implemented Interfaces:
ConfigurableComponent,Processor,VerifiableProcessor
public abstract class AbstractS3Processor
extends AbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final AllowableValuestatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final Stringstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorstatic final PropertyDescriptorFields inherited from class org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor
AWS_CREDENTIALS_PROVIDER_SERVICE, ENDPOINT_OVERRIDE, PROXY_CONFIGURATION_SERVICE, REGION, REL_FAILURE, REL_SUCCESS, relationships, SSL_CONTEXT_SERVICE, TIMEOUT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final com.amazonaws.services.s3.model.AccessControlListcreateACL(ProcessContext context, FlowFile flowFile) Create AccessControlList if appropriate properties are configured.protected final com.amazonaws.services.s3.model.CannedAccessControlListcreateCannedACL(ProcessContext context, FlowFile flowFile) Create CannedAccessControlList ifCANNED_ACLproperty specified.protected com.amazonaws.services.s3.AmazonS3ClientcreateClient(ProcessContext context, com.amazonaws.auth.AWSCredentialsProvider credentialsProvider, com.amazonaws.regions.Region region, com.amazonaws.ClientConfiguration config, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration endpointConfiguration) Create client using credentials provider.protected com.amazonaws.services.s3.AmazonS3ClientcreateClient(ProcessContext context, Map<String, String> attributes) Creates the client from the context and FlowFile attributesprotected com.amazonaws.services.s3.model.GranteecreateGrantee(String value) protected final List<com.amazonaws.services.s3.model.Grantee> createGrantees(String value) protected FlowFileextractExceptionDetails(Exception e, ProcessSession session, FlowFile flowFile) private static AllowableValue[]protected com.amazonaws.services.s3.AmazonS3ClientgetS3Client(ProcessContext context, Map<String, String> attributes) Creates and configures the client from the context and FlowFile attributes or returns an existing client from cacheprivate voidinitializeSignerOverride(ProcessContext context, com.amazonaws.ClientConfiguration config) private booleanisAttributeDefinedRegion(ProcessContext context) voidonScheduled(ProcessContext context) private com.amazonaws.regions.RegionparseRegionValue(String regionValue) private FlowFileputAttribute(ProcessSession session, FlowFile flowFile, String key, Object value) private com.amazonaws.regions.RegionresolveRegion(ProcessContext context, Map<String, String> attributes) verify(ProcessContext context, ComponentLog verificationLogger, Map<String, String> attributes) Methods inherited from class org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor
createAllowableValue, createClient, createClient, createConfiguration, createConfiguration, getAvailableRegions, getClient, getClient, getCredentialsProvider, getEndpointConfiguration, getRegion, getRelationships, migrateProperties, onStoppedMethods inherited from class org.apache.nifi.processor.AbstractProcessor
onTrigger, onTriggerMethods inherited from class org.apache.nifi.processor.AbstractSessionFactoryProcessor
getControllerServiceLookup, getIdentifier, getLogger, getNodeTypeProvider, init, initialize, isConfigurationRestored, isScheduled, toString, updateConfiguredRestoredTrue, updateScheduledFalse, updateScheduledTrueMethods inherited from class org.apache.nifi.components.AbstractConfigurableComponent
customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, getSupportedPropertyDescriptors, hashCode, onPropertyModified, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.nifi.components.ConfigurableComponent
getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validateMethods inherited from interface org.apache.nifi.processor.Processor
isStateful, migrateRelationships
-
Field Details
-
FULL_CONTROL_USER_LIST
-
READ_USER_LIST
-
WRITE_USER_LIST
-
READ_ACL_LIST
-
WRITE_ACL_LIST
-
CANNED_ACL
-
OWNER
-
BUCKET_WITHOUT_DEFAULT_VALUE
-
BUCKET_WITH_DEFAULT_VALUE
-
KEY
-
SIGNER_OVERRIDE
-
S3_CUSTOM_SIGNER_CLASS_NAME
-
S3_CUSTOM_SIGNER_MODULE_LOCATION
-
S3_REGION_ATTRIBUTE
- See Also:
-
ATTRIBUTE_DEFINED_REGION
-
S3_REGION
-
ENCRYPTION_SERVICE
-
USE_CHUNKED_ENCODING
-
USE_PATH_STYLE_ACCESS
-
-
Constructor Details
-
AbstractS3Processor
public AbstractS3Processor()
-
-
Method Details
-
createClient
protected com.amazonaws.services.s3.AmazonS3Client createClient(ProcessContext context, com.amazonaws.auth.AWSCredentialsProvider credentialsProvider, com.amazonaws.regions.Region region, com.amazonaws.ClientConfiguration config, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration endpointConfiguration) Create client using credentials provider. This is the preferred way for creating clients- Specified by:
createClientin classAbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>- Parameters:
context- process contextcredentialsProvider- AWS credentials providerconfig- AWS client configuration- Returns:
- ClientType the client
-
verify
public List<ConfigVerificationResult> verify(ProcessContext context, ComponentLog verificationLogger, Map<String, String> attributes) - Specified by:
verifyin interfaceVerifiableProcessor- Overrides:
verifyin classAbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
-
getS3Client
protected com.amazonaws.services.s3.AmazonS3Client getS3Client(ProcessContext context, Map<String, String> attributes) Creates and configures the client from the context and FlowFile attributes or returns an existing client from cache- Parameters:
context- the process contextattributes- FlowFile attributes- Returns:
- The created S3 client
-
createClient
protected com.amazonaws.services.s3.AmazonS3Client createClient(ProcessContext context, Map<String, String> attributes) Creates the client from the context and FlowFile attributes- Parameters:
context- the process contextattributes- FlowFile attributes- Returns:
- The newly created S3 client
-
onScheduled
- Overrides:
onScheduledin classAbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
-
initializeSignerOverride
private void initializeSignerOverride(ProcessContext context, com.amazonaws.ClientConfiguration config) -
createGrantee
-
createGrantees
-
createACL
protected final com.amazonaws.services.s3.model.AccessControlList createACL(ProcessContext context, FlowFile flowFile) Create AccessControlList if appropriate properties are configured.- Parameters:
context- ProcessContextflowFile- FlowFile- Returns:
- AccessControlList or null if no ACL properties were specified
-
extractExceptionDetails
-
putAttribute
-
createCannedACL
protected final com.amazonaws.services.s3.model.CannedAccessControlList createCannedACL(ProcessContext context, FlowFile flowFile) Create CannedAccessControlList ifCANNED_ACLproperty specified.- Parameters:
context- ProcessContextflowFile- FlowFile- Returns:
- CannedAccessControlList or null if not specified
-
parseRegionValue
-
resolveRegion
private com.amazonaws.regions.Region resolveRegion(ProcessContext context, Map<String, String> attributes) -
isAttributeDefinedRegion
-
getAvailableS3Regions
-