@ThreadSafe public class S3AUnderFileSystem extends ObjectUnderFileSystem
UnderFileSystem implementation based on the aws-java-sdk-s3 library.ObjectUnderFileSystem.DeleteBuffer, ObjectUnderFileSystem.ObjectListingChunk, ObjectUnderFileSystem.ObjectPermissions, ObjectUnderFileSystem.ObjectStatus, ObjectUnderFileSystem.OperationBuffer<T>, ObjectUnderFileSystem.RenameBufferUnderFileSystem.Factory, UnderFileSystem.SpaceTypemExecutorService, mRootKeySupplier, PATH_SEPARATOR, PATH_SEPARATOR_CHARmUfsConf, mUri| Modifier | Constructor and Description |
|---|---|
protected |
S3AUnderFileSystem(AlluxioURI uri,
com.amazonaws.services.s3.AmazonS3 amazonS3Client,
java.lang.String bucketName,
java.util.concurrent.ExecutorService executor,
com.amazonaws.services.s3.transfer.TransferManager transferManager,
UnderFileSystemConfiguration conf,
boolean streamingUploadEnabled)
Constructor for
S3AUnderFileSystem. |
| Modifier and Type | Method and Description |
|---|---|
void |
cleanup() |
protected boolean |
copyObject(java.lang.String src,
java.lang.String dst) |
static com.amazonaws.services.s3.AmazonS3 |
createAmazonS3(com.amazonaws.auth.AWSCredentialsProvider credentialsProvider,
com.amazonaws.ClientConfiguration clientConf,
com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration endpointConfiguration,
UnderFileSystemConfiguration conf)
Create an AmazonS3 client.
|
static com.amazonaws.auth.AWSCredentialsProvider |
createAwsCredentialsProvider(UnderFileSystemConfiguration conf) |
boolean |
createEmptyObject(java.lang.String key) |
static S3AUnderFileSystem |
createInstance(AlluxioURI uri,
UnderFileSystemConfiguration conf)
Constructs a new instance of
S3AUnderFileSystem. |
protected java.io.OutputStream |
createObject(java.lang.String key) |
protected boolean |
deleteObject(java.lang.String key) |
protected java.util.List<java.lang.String> |
deleteObjects(java.util.List<java.lang.String> keys) |
protected java.lang.String |
getFolderSuffix() |
protected ObjectUnderFileSystem.ObjectListingChunk |
getObjectListingChunk(java.lang.String key,
boolean recursive) |
protected ObjectUnderFileSystem.ObjectStatus |
getObjectStatus(java.lang.String key) |
protected ObjectUnderFileSystem.ObjectPermissions |
getPermissions() |
protected java.lang.String |
getRootKey() |
java.lang.String |
getUnderFSType() |
protected java.io.InputStream |
openObject(java.lang.String key,
OpenOptions options,
RetryPolicy retryPolicy) |
void |
setMode(java.lang.String path,
short mode) |
void |
setOwner(java.lang.String path,
java.lang.String user,
java.lang.String group) |
close, connectFromMaster, connectFromWorker, convertToFolderName, create, createNonexistingFile, createNonexistingFile, deleteDirectory, deleteExistingDirectory, deleteExistingDirectory, deleteExistingFile, deleteFile, getBlockSizeByte, getChildName, getDirectoryStatus, getExistingDirectoryStatus, getExistingFileStatus, getExistingStatus, getFileLocations, getFileLocations, getFileStatus, getListingChunkLength, getListingChunkLengthMax, getObjectListingChunkForPath, getParentPath, getSpace, getStatus, isDirectory, isExistingDirectory, isFile, isObjectStorage, isRoot, listInternal, listStatus, listStatus, mkdirs, mkdirsInternal, open, openExistingFile, openExistingFile, parentExists, renameDirectory, renameFile, renameRenamableDirectory, renameRenamableFile, stripPrefixIfPresent, supportsFlushcreate, deleteDirectory, exists, getAclPair, getActiveSyncInfo, getConfiguration, getFingerprint, getOperationMode, getPhysicalStores, isSeekable, mkdirs, open, resolveUri, setAclEntries, startActiveSyncPolling, startSync, stopActiveSyncPolling, stopSync, supportsActiveSync, validatePathprotected S3AUnderFileSystem(AlluxioURI uri, com.amazonaws.services.s3.AmazonS3 amazonS3Client, java.lang.String bucketName, java.util.concurrent.ExecutorService executor, com.amazonaws.services.s3.transfer.TransferManager transferManager, UnderFileSystemConfiguration conf, boolean streamingUploadEnabled)
S3AUnderFileSystem.uri - the AlluxioURI for this UFSamazonS3Client - AWS-SDK S3 clientbucketName - bucket name of user's configured Alluxio bucketexecutor - the executor for executing upload taskstransferManager - Transfer Manager for efficient I/O to S3conf - configuration for this S3A ufsstreamingUploadEnabled - whether streaming upload is enabledpublic static com.amazonaws.auth.AWSCredentialsProvider createAwsCredentialsProvider(UnderFileSystemConfiguration conf)
conf - the configuration for this UFSAWSCredentialsProvider instancepublic static S3AUnderFileSystem createInstance(AlluxioURI uri, UnderFileSystemConfiguration conf)
S3AUnderFileSystem.uri - the AlluxioURI for this UFSconf - the configuration for this UFSS3AUnderFileSystem instancepublic static com.amazonaws.services.s3.AmazonS3 createAmazonS3(com.amazonaws.auth.AWSCredentialsProvider credentialsProvider,
com.amazonaws.ClientConfiguration clientConf,
com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration endpointConfiguration,
UnderFileSystemConfiguration conf)
credentialsProvider - the credential providerclientConf - the client configendpointConfiguration - the endpoint configconf - the Ufs configpublic java.lang.String getUnderFSType()
public void setOwner(java.lang.String path,
java.lang.String user,
java.lang.String group)
public void setMode(java.lang.String path,
short mode)
throws java.io.IOException
java.io.IOExceptionpublic void cleanup()
cleanup in interface UnderFileSystemcleanup in class ObjectUnderFileSystemprotected boolean copyObject(java.lang.String src,
java.lang.String dst)
copyObject in class ObjectUnderFileSystempublic boolean createEmptyObject(java.lang.String key)
createEmptyObject in class ObjectUnderFileSystemprotected java.io.OutputStream createObject(java.lang.String key)
throws java.io.IOException
createObject in class ObjectUnderFileSystemjava.io.IOExceptionprotected boolean deleteObject(java.lang.String key)
throws java.io.IOException
deleteObject in class ObjectUnderFileSystemjava.io.IOExceptionprotected java.util.List<java.lang.String> deleteObjects(java.util.List<java.lang.String> keys)
throws java.io.IOException
deleteObjects in class ObjectUnderFileSystemjava.io.IOExceptionprotected java.lang.String getFolderSuffix()
getFolderSuffix in class ObjectUnderFileSystem@Nullable protected ObjectUnderFileSystem.ObjectListingChunk getObjectListingChunk(java.lang.String key, boolean recursive) throws java.io.IOException
getObjectListingChunk in class ObjectUnderFileSystemjava.io.IOException@Nullable protected ObjectUnderFileSystem.ObjectStatus getObjectStatus(java.lang.String key) throws java.io.IOException
getObjectStatus in class ObjectUnderFileSystemjava.io.IOExceptionprotected ObjectUnderFileSystem.ObjectPermissions getPermissions()
getPermissions in class ObjectUnderFileSystemprotected java.lang.String getRootKey()
getRootKey in class ObjectUnderFileSystemprotected java.io.InputStream openObject(java.lang.String key,
OpenOptions options,
RetryPolicy retryPolicy)
openObject in class ObjectUnderFileSystemCopyright © 2021. All Rights Reserved.