Class AbstractS3Processor

All Implemented Interfaces:
ConfigurableComponent, Processor, VerifiableProcessor

public abstract class AbstractS3Processor extends AbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
  • Field Details

  • 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:
      createClient in class AbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
      Parameters:
      context - process context
      credentialsProvider - AWS credentials provider
      config - AWS client configuration
      Returns:
      ClientType the client
    • verify

      public List<ConfigVerificationResult> verify(ProcessContext context, ComponentLog verificationLogger, Map<String,String> attributes)
      Specified by:
      verify in interface VerifiableProcessor
      Overrides:
      verify in class AbstractAWSCredentialsProviderProcessor<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 context
      attributes - 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 context
      attributes - FlowFile attributes
      Returns:
      The newly created S3 client
    • onScheduled

      @OnScheduled public void onScheduled(ProcessContext context)
      Overrides:
      onScheduled in class AbstractAWSCredentialsProviderProcessor<com.amazonaws.services.s3.AmazonS3Client>
    • initializeSignerOverride

      private void initializeSignerOverride(ProcessContext context, com.amazonaws.ClientConfiguration config)
    • createGrantee

      protected com.amazonaws.services.s3.model.Grantee createGrantee(String value)
    • createGrantees

      protected final List<com.amazonaws.services.s3.model.Grantee> createGrantees(String value)
    • createACL

      protected final com.amazonaws.services.s3.model.AccessControlList createACL(ProcessContext context, FlowFile flowFile)
      Create AccessControlList if appropriate properties are configured.
      Parameters:
      context - ProcessContext
      flowFile - FlowFile
      Returns:
      AccessControlList or null if no ACL properties were specified
    • extractExceptionDetails

      protected FlowFile extractExceptionDetails(Exception e, ProcessSession session, FlowFile flowFile)
    • putAttribute

      private FlowFile putAttribute(ProcessSession session, FlowFile flowFile, String key, Object value)
    • createCannedACL

      protected final com.amazonaws.services.s3.model.CannedAccessControlList createCannedACL(ProcessContext context, FlowFile flowFile)
      Create CannedAccessControlList if CANNED_ACL property specified.
      Parameters:
      context - ProcessContext
      flowFile - FlowFile
      Returns:
      CannedAccessControlList or null if not specified
    • parseRegionValue

      private com.amazonaws.regions.Region parseRegionValue(String regionValue)
    • resolveRegion

      private com.amazonaws.regions.Region resolveRegion(ProcessContext context, Map<String,String> attributes)
    • isAttributeDefinedRegion

      private boolean isAttributeDefinedRegion(ProcessContext context)
    • getAvailableS3Regions

      private static AllowableValue[] getAvailableS3Regions()