Class AwsS3ServiceImpl
java.lang.Object
org.craftercms.studio.api.v1.service.aws.AbstractAwsService<org.craftercms.commons.config.profiles.aws.S3Profile>
org.craftercms.studio.impl.v2.service.aws.s3.AwsS3ServiceImpl
- All Implemented Interfaces:
AwsS3Service
public class AwsS3ServiceImpl
extends AbstractAwsService<org.craftercms.commons.config.profiles.aws.S3Profile>
implements AwsS3Service
Default implementation of
AwsS3Service.- Author:
- joseross
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.craftercms.commons.aws.S3ClientCachingFactoryThe S3 client factory.protected StringThe delimiter for S3 pathsstatic final Stringprotected intThe part size used for S3 uploadsprotected StringThe URL pattern for the generated filesFields inherited from class org.craftercms.studio.api.v1.service.aws.AbstractAwsService
profileLoader -
Constructor Summary
ConstructorsConstructorDescriptionAwsS3ServiceImpl(SiteAwareConfigProfileLoader<org.craftercms.commons.config.profiles.aws.S3Profile> profileLoader, org.craftercms.commons.aws.S3ClientCachingFactory clientFactory, String delimiter, String urlPattern) -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringprotected software.amazon.awssdk.services.s3.S3ClientgetS3Client(org.craftercms.commons.config.profiles.aws.S3Profile profile) Lists items in an S3 bucket.protected StringnormalizePrefix(String prefix) voidsetPartSize(int partSize) uploadItem(String siteId, String profileId, String path, String filename, InputStream content) Uploads a file to an S3 bucket.Methods inherited from class org.craftercms.studio.api.v1.service.aws.AbstractAwsService
getProfile
-
Field Details
-
ITEM_FILTER
- See Also:
-
clientFactory
protected org.craftercms.commons.aws.S3ClientCachingFactory clientFactoryThe S3 client factory. -
partSize
protected int partSizeThe part size used for S3 uploads -
delimiter
The delimiter for S3 paths -
urlPattern
The URL pattern for the generated files
-
-
Constructor Details
-
AwsS3ServiceImpl
public AwsS3ServiceImpl(SiteAwareConfigProfileLoader<org.craftercms.commons.config.profiles.aws.S3Profile> profileLoader, org.craftercms.commons.aws.S3ClientCachingFactory clientFactory, String delimiter, String urlPattern)
-
-
Method Details
-
setPartSize
public void setPartSize(int partSize) -
getS3Client
protected software.amazon.awssdk.services.s3.S3Client getS3Client(org.craftercms.commons.config.profiles.aws.S3Profile profile) -
uploadItem
public S3Item uploadItem(String siteId, String profileId, String path, String filename, InputStream content) throws AwsException, SiteNotFoundException, org.craftercms.commons.config.profiles.ConfigurationProfileNotFoundException Uploads a file to an S3 bucket.- Specified by:
uploadItemin interfaceAwsS3Service- Parameters:
siteId- the site idprofileId- the profile idpath- the path to upload the file (will be used as part of the S3 key)filename- the filename (will be used as part of the S3 key)content- a stream providing the content of the file- Returns:
- the uploaded item
- Throws:
AwsException- if there is any error connection to S3SiteNotFoundException- if the site is not foundorg.craftercms.commons.config.profiles.ConfigurationProfileNotFoundException- if the profile is not found
-
listItems
public List<S3Item> listItems(String siteId, String profileId, String path, String type) throws AwsException, SiteNotFoundException, org.craftercms.commons.config.profiles.ConfigurationProfileNotFoundException Lists items in an S3 bucket.- Specified by:
listItemsin interfaceAwsS3Service- Parameters:
siteId- the site idprofileId- the profile idpath- the path to listtype- the type of items to list- Returns:
- the list of items
- Throws:
AwsException- if there is any error connection to S3SiteNotFoundException- if the site is not foundorg.craftercms.commons.config.profiles.ConfigurationProfileNotFoundException- if the profile is not found
-
createUrl
-
normalizePrefix
-