This is an enterprise feature.
S3Client client = ...;
BlobStoreFileSystem fileSystem = BlobStoreFileSystem.New(


When using external configuration AWS S3 can be set as follows.

Supported properties

Property Description


The endpoint with which the SDK should communicate.


Configure the region with which the SDK should communicate. If this is not specified, the SDK will attempt to identify the endpoint automatically using the following logic:

  1. Check the 'aws.region' system property for the region.

  2. Check the 'AWS_REGION' environment variable for the region.

  3. Check the {user.home}/.aws/credentials and {user.home}/.aws/config files for the region.

  4. If running in EC2, check the EC2 metadata service for the region.


The type of the credentials provider. Supported values are:

  • "environment-variables" Credentials will be loaded from the AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN environment variables.

  • "system-properties" Credentials will be loaded from the aws.accessKeyId, aws.secretAccessKey and aws.sessionToken system properties.

  • "static" Credentials will be loaded from the credentials.access-key-id and credentials.secret-access-key properties.

  • "default" Credentials provider chain that looks for credentials in this order:

    1. Java System Properties - aws.accessKeyId and aws.secretKey

    2. Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY

    3. Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI

    4. Credentials delivered through the Amazon EC2 container service if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" environment variable is set and security manager has permission to access the variable,

    5. Instance profile credentials delivered through the Amazon EC2 metadata service


The access key id, used when "credentials.type" is "static".


The secret access key, used when "credentials.type" is "static".