Class AbstractAwsProcessor<T extends software.amazon.awssdk.core.SdkClient>
java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processors.aws.v2.AbstractAwsProcessor<T>
- Type Parameters:
T- client type
- All Implemented Interfaces:
ConfigurableComponent,Processor,VerifiableProcessor
- Direct Known Subclasses:
AbstractAwsAsyncProcessor,AbstractAwsSyncProcessor
public abstract class AbstractAwsProcessor<T extends software.amazon.awssdk.core.SdkClient>
extends AbstractSessionFactoryProcessor
implements VerifiableProcessor
Base class for aws processors using the AWS v2 SDK.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringstatic final PropertyDescriptorprivate final com.github.benmanes.caffeine.cache.Cache<software.amazon.awssdk.regions.Region, T> private static final Stringprotected static final Stringstatic final PropertyDescriptorprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringstatic final PropertyDescriptorprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringstatic final PropertyDescriptorstatic final Relationshipstatic final Relationshipprivate static final Set<Relationship> static final PropertyDescriptorstatic final PropertyDescriptor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <C extends software.amazon.awssdk.core.SdkClient,B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>>
voidconfigureClientBuilder(B clientBuilder, software.amazon.awssdk.regions.Region region, ProcessContext context) protected <C extends software.amazon.awssdk.core.SdkClient,B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>>
voidconfigureClientBuilder(B clientBuilder, software.amazon.awssdk.regions.Region region, ProcessContext context, PropertyDescriptor endpointOverrideDescriptor) protected voidconfigureEndpoint(ProcessContext context, software.amazon.awssdk.core.client.builder.SdkClientBuilder<?, ?> clientBuilder, PropertyDescriptor endpointOverrideDescriptor) protected abstract <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder>
voidconfigureHttpClient(B clientBuilder, ProcessContext context) Configure the http client on the builder.protected voidconfigureSdkHttpClient(ProcessContext context, AwsHttpClientConfigurer httpClientConfigurer) protected TcreateClient(ProcessContext context) protected abstract TcreateClient(ProcessContext context, software.amazon.awssdk.regions.Region region) Creates an AWS client using process context and AWS client details.protected TgetClient(ProcessContext context) protected TgetClient(ProcessContext context, software.amazon.awssdk.regions.Region region) Creates an AWS service client from the context or returns an existing client from the cacheprotected software.amazon.awssdk.auth.credentials.AwsCredentialsProvidergetCredentialsProvider(ProcessContext context) Get credentials provider using theAwsCredentialsProviderprotected software.amazon.awssdk.regions.RegiongetRegion(ProcessContext context) private voidvoidprivate voidvoidonScheduled(ProcessContext context) voidabstract voidonTrigger(ProcessContext context, ProcessSession session) voidonTrigger(ProcessContext context, ProcessSessionFactory sessionFactory) verify(ProcessContext context, ComponentLog verificationLogger, Map<String, String> attributes) Methods 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
-
CREDENTIALS_SERVICE_CLASSNAME
- See Also:
-
PROXY_SERVICE_CLASSNAME
- See Also:
-
OBSOLETE_ACCESS_KEY
- See Also:
-
OBSOLETE_SECRET_KEY
- See Also:
-
OBSOLETE_CREDENTIALS_FILE
- See Also:
-
OBSOLETE_PROXY_HOST
- See Also:
-
OBSOLETE_PROXY_PORT
- See Also:
-
OBSOLETE_PROXY_USERNAME
- See Also:
-
OBSOLETE_PROXY_PASSWORD
- See Also:
-
AUTH_SERVICE_ACCESS_KEY
- See Also:
-
AUTH_SERVICE_SECRET_KEY
- See Also:
-
AUTH_SERVICE_CREDENTIALS_FILE
- See Also:
-
AUTH_SERVICE_DEFAULT_CREDENTIALS
- See Also:
-
PROXY_SERVICE_HOST
- See Also:
-
PROXY_SERVICE_PORT
- See Also:
-
PROXY_SERVICE_USERNAME
- See Also:
-
PROXY_SERVICE_PASSWORD
- See Also:
-
PROXY_SERVICE_TYPE
- See Also:
-
REL_SUCCESS
-
REL_FAILURE
-
relationships
-
REGION
-
TIMEOUT
-
SSL_CONTEXT_SERVICE
-
ENDPOINT_OVERRIDE
-
AWS_CREDENTIALS_PROVIDER_SERVICE
-
PROXY_CONFIGURATION_SERVICE
-
DEFAULT_USER_AGENT
- See Also:
-
clientCache
private final com.github.benmanes.caffeine.cache.Cache<software.amazon.awssdk.regions.Region,T extends software.amazon.awssdk.core.SdkClient> clientCache
-
-
Constructor Details
-
AbstractAwsProcessor
public AbstractAwsProcessor()
-
-
Method Details
-
configureHttpClient
protected abstract <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder> void configureHttpClient(B clientBuilder, ProcessContext context) Configure the http client on the builder.- Type Parameters:
B- The builder type- Parameters:
clientBuilder- The client buildercontext- The process context
-
onTrigger
public void onTrigger(ProcessContext context, ProcessSessionFactory sessionFactory) throws ProcessException - Specified by:
onTriggerin interfaceProcessor- Throws:
ProcessException
-
onTrigger
public abstract void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException - Throws:
ProcessException
-
getRelationships
- Specified by:
getRelationshipsin interfaceProcessor- Overrides:
getRelationshipsin classAbstractSessionFactoryProcessor
-
migrateProperties
- Specified by:
migratePropertiesin interfaceProcessor
-
migrateAuthenticationProperties
-
migrateProxyProperties
-
onScheduled
-
onStopped
-
verify
public List<ConfigVerificationResult> verify(ProcessContext context, ComponentLog verificationLogger, Map<String, String> attributes) - Specified by:
verifyin interfaceVerifiableProcessor
-
getClient
Creates an AWS service client from the context or returns an existing client from the cache- Returns:
- The created or cached client
-
getClient
-
configureClientBuilder
protected <C extends software.amazon.awssdk.core.SdkClient,B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, void configureClientBuilderC>> (B clientBuilder, software.amazon.awssdk.regions.Region region, ProcessContext context) -
configureClientBuilder
protected <C extends software.amazon.awssdk.core.SdkClient,B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, void configureClientBuilderC>> (B clientBuilder, software.amazon.awssdk.regions.Region region, ProcessContext context, PropertyDescriptor endpointOverrideDescriptor) -
configureSdkHttpClient
protected void configureSdkHttpClient(ProcessContext context, AwsHttpClientConfigurer httpClientConfigurer) -
getRegion
-
configureEndpoint
protected void configureEndpoint(ProcessContext context, software.amazon.awssdk.core.client.builder.SdkClientBuilder<?, ?> clientBuilder, PropertyDescriptor endpointOverrideDescriptor) -
getCredentialsProvider
protected software.amazon.awssdk.auth.credentials.AwsCredentialsProvider getCredentialsProvider(ProcessContext context) Get credentials provider using theAwsCredentialsProvider- Parameters:
context- the process context- Returns:
- AwsCredentialsProvider the credential provider
-
createClient
-
createClient
protected abstract T createClient(ProcessContext context, software.amazon.awssdk.regions.Region region) Creates an AWS client using process context and AWS client details.- Parameters:
context- process contextregion- the AWS Region- Returns:
- AWS client
-