/** * A convenience method that returns whether the bucket is enabled accelerate mode. * * @return True if the accelerate configuration has the {@link BucketAccelerateStatus#Enabled} * status. */ public boolean isAccelerateEnabled() { return BucketAccelerateStatus.Enabled.toString().equals(getStatus()); } }
/** * Creates a new bucket accelerate configuration object with the specified status. * * @param status * The desired bucket accelerate status for the new configuration object. See * {@link BucketAccelerateStatus} for a list of valid values. */ public BucketAccelerateConfiguration(String status) { setStatus(status); }
void setBinaryTransferAccelerationEnabled(boolean enabled) { if (enabled) { // verify acceleration is enabled on the bucket BucketAccelerateConfiguration accelerateConfig = s3service.getBucketAccelerateConfiguration(new GetBucketAccelerateConfigurationRequest(bucket)); if (accelerateConfig.isAccelerateEnabled()) { // If transfer acceleration is enabled for presigned URIs, we need a separate AmazonS3Client // instance with the acceleration mode enabled, because we don't want the requests from the // data store itself to S3 to use acceleration s3PresignService = Utils.openService(properties); s3PresignService.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); LOG.info("S3 Transfer Acceleration enabled for presigned URIs."); } else { LOG.warn("S3 Transfer Acceleration is not enabled on the bucket {}. Will create normal, non-accelerated presigned URIs.", bucket, S3Constants.PRESIGNED_URI_ENABLE_ACCELERATION); } } else { s3PresignService = s3service; } }
s3Client.setBucketAccelerateConfiguration( new SetBucketAccelerateConfigurationRequest(bucketName, new BucketAccelerateConfiguration( BucketAccelerateStatus.Enabled
void setBinaryTransferAccelerationEnabled(boolean enabled) { if (enabled) { // verify acceleration is enabled on the bucket BucketAccelerateConfiguration accelerateConfig = s3service.getBucketAccelerateConfiguration(new GetBucketAccelerateConfigurationRequest(bucket)); if (accelerateConfig.isAccelerateEnabled()) { // If transfer acceleration is enabled for presigned URIs, we need a separate AmazonS3Client // instance with the acceleration mode enabled, because we don't want the requests from the // data store itself to S3 to use acceleration s3PresignService = Utils.openService(properties); s3PresignService.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); LOG.info("S3 Transfer Acceleration enabled for presigned URIs."); } else { LOG.warn("S3 Transfer Acceleration is not enabled on the bucket {}. Will create normal, non-accelerated presigned URIs.", bucket, S3Constants.PRESIGNED_URI_ENABLE_ACCELERATION); } } else { s3PresignService = s3service; } }
/** * Creates a new bucket accelerate configuration object with the specified status. * * @param status * The desired bucket accelerate status for the new configuration object. See * {@link BucketAccelerateStatus} for a list of valid values. */ public BucketAccelerateConfiguration(BucketAccelerateStatus status) { setStatus(status); }
/** * Converts the specified accelerate configuration into an XML byte array. * * @param accelerateConfiguration * The configuration to convert. * * @return The XML byte array representation. */ public byte[] convertToXmlByteArray(BucketAccelerateConfiguration accelerateConfiguration) { XmlWriter xml = new XmlWriter(); xml.start("AccelerateConfiguration", "xmlns", Constants.XML_NAMESPACE); xml.start("Status").value(accelerateConfiguration.getStatus()).end(); xml.end(); return xml.getBytes(); }
/** * Fluent setter method for {@link #setStatus(String)} * * @return This {@link BucketAccelerateConfiguration} object so that additional method calls may * be chained together. * @see #setStatus(String) */ public BucketAccelerateConfiguration withStatus(String status) { setStatus(status); return this; }
@Override public void setBucketAccelerateConfiguration( SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest) throws AmazonServiceException, SdkClientException { setBucketAccelerateConfigurationRequest = beforeClientExecution(setBucketAccelerateConfigurationRequest); rejectNull(setBucketAccelerateConfigurationRequest, "setBucketAccelerateConfigurationRequest must be specified"); String bucketName = setBucketAccelerateConfigurationRequest.getBucketName(); BucketAccelerateConfiguration accelerateConfiguration = setBucketAccelerateConfigurationRequest.getAccelerateConfiguration(); rejectNull(bucketName, "The bucket name parameter must be specified when setting accelerate configuration."); rejectNull(accelerateConfiguration, "The bucket accelerate configuration parameter must be specified."); rejectNull(accelerateConfiguration.getStatus(), "The status parameter must be specified when updating bucket accelerate configuration."); Request<SetBucketAccelerateConfigurationRequest> request = createRequest( bucketName, null, setBucketAccelerateConfigurationRequest, HttpMethodName.PUT); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutBucketAccelerateConfiguration"); request.addParameter("accelerate", null); byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(accelerateConfiguration); request.setContent(new ByteArrayInputStream(bytes)); invoke(request, voidResponseHandler, bucketName, null); }
public BucketAccelerateConfiguration withStatus(BucketAccelerateStatus status) { setStatus(status); return this; }
/** * A convenience method that returns whether the bucket is enabled * accelerate mode. * * @return True if the accelerate configuration has the * {@link BucketAccelerateStatus#Enabled} status. */ public boolean isAccelerateEnabled() { return BucketAccelerateStatus.Enabled.toString().equals(getStatus()); } }
/** * Sets the desired bucket accelerate status for this configuration object. * * @param status * The desired bucket accelerate status for this configuration object. See * {@link BucketAccelerateStatus} for a list of valid values. */ public void setStatus(BucketAccelerateStatus status) { setStatus(status.toString()); }
/** * Converts the specified accelerate configuration into an XML byte array. * * @param accelerateConfiguration The configuration to convert. * @return The XML byte array representation. */ public byte[] convertToXmlByteArray(BucketAccelerateConfiguration accelerateConfiguration) { final XmlWriter xml = new XmlWriter(); xml.start("AccelerateConfiguration", "xmlns", Constants.XML_NAMESPACE); xml.start("Status").value(accelerateConfiguration.getStatus()).end(); xml.end(); return xml.getBytes(); }
@Override protected void doEndElement(String uri, String name, String qName) { if (in("AccelerateConfiguration")) { if (name.equals("Status")) { configuration.setStatus(getText()); } } } }
@Override public void setBucketAccelerateConfiguration( SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest) throws AmazonServiceException, AmazonClientException { assertParameterNotNull(setBucketAccelerateConfigurationRequest, "setBucketAccelerateConfigurationRequest must be specified"); final String bucketName = setBucketAccelerateConfigurationRequest.getBucketName(); final BucketAccelerateConfiguration accelerateConfiguration = setBucketAccelerateConfigurationRequest .getAccelerateConfiguration(); assertParameterNotNull(bucketName, "The bucket name parameter must be specified when setting accelerate configuration."); assertParameterNotNull(accelerateConfiguration, "The bucket accelerate configuration parameter must be specified."); assertParameterNotNull(accelerateConfiguration.getStatus(), "The status parameter must be specified when updating bucket accelerate configuration."); final Request<SetBucketAccelerateConfigurationRequest> request = createRequest( bucketName, null, setBucketAccelerateConfigurationRequest, HttpMethodName.PUT); request.addParameter("accelerate", null); final byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(accelerateConfiguration); request.addHeader(Headers.CONTENT_LENGTH, String.valueOf(bytes.length)); request.setContent(new ByteArrayInputStream(bytes)); invoke(request, voidResponseHandler, bucketName, null); }
/** * Fluent setter method for {@link #setStatus(String)} * * @return This {@link BucketAccelerateConfiguration} object so that * additional method calls may be chained together. * @see #setStatus(String) */ public BucketAccelerateConfiguration withStatus(String status) { setStatus(status); return this; }
/** * A convenience method that returns whether the bucket is enabled * accelerate mode. * * @return True if the accelerate configuration has the * {@link BucketAccelerateStatus#Enabled} status. */ public boolean isAccelerateEnabled() { return BucketAccelerateStatus.Enabled.toString().equals(getStatus()); } }
/** * Creates a new bucket accelerate configuration object with the specified * status. * * @param status The desired bucket accelerate status for the new * configuration object. See {@link BucketAccelerateStatus} for a * list of valid values. */ public BucketAccelerateConfiguration(String status) { setStatus(status); }
/** * A convenience method that returns whether the bucket is enabled accelerate mode. * * @return True if the accelerate configuration has the {@link BucketAccelerateStatus#Enabled} * status. */ public boolean isAccelerateEnabled() { return BucketAccelerateStatus.Enabled.toString().equals(getStatus()); } }
/** * Creates a new bucket accelerate configuration object with the specified * status. * * @param status The desired bucket accelerate status for the new * configuration object. See {@link BucketAccelerateStatus} for a * list of valid values. */ public BucketAccelerateConfiguration(BucketAccelerateStatus status) { setStatus(status); }