code: public static AmazonKinesis createKinesisClient(Properties configProps, ClientConfiguration awsClientConfig) {
  		// set a Flink-specific user agent
  		awsClientConfig.setUserAgentPrefix(String.format(USER_AGENT_FORMAT,
  				EnvironmentInformation.getVersion(),
  				EnvironmentInformation.getRevisionInformation().commitId));
  
  		// utilize automatic refreshment of credentials by directly passing the AWSCredentialsProvider
  		AmazonKinesisClientBuilder builder = AmazonKinesisClientBuilder.standard()
  				.withCredentials(AWSUtil.getCredentialsProvider(configProps))
  				.withClientConfiguration(awsClientConfig);
  
  		if (configProps.containsKey(AWSConfigConstants.AWS_ENDPOINT)) {
  			// Set signingRegion as null, to facilitate mocking Kinesis for local tests
  			builder.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
  													configProps.getProperty(AWSConfigConstants.AWS_ENDPOINT),
  													null));
  		} else {
  			builder.withRegion(Regions.fromName(configProps.getProperty(AWSConfigConstants.AWS_REGION)));
  		}
  		return builder.build();
  	}
docs: Creates an Amazon Kinesis Client.
  @param configProps configuration properties containing the access key, secret key, and region
  @param awsClientConfig preconfigured AWS SDK client configuration
  @return a new Amazon Kinesis Client