.withMethod(HttpMethod.PUT) .withExpiration(expiration); URL url = s3.generatePresignedUrl(generatePresignedUrlRequest);
.withExpiration(expiration); externalStorageLocation.setUri(s3Client.generatePresignedUrl(generatePresignedUrlRequest).toURI().toASCIIString()); return externalStorageLocation; } catch (SdkClientException e) {
public URL getPreSignedUrl(long attachmentId, HttpMethod method, boolean unaccelerated) { AmazonS3 client = new AmazonS3Client(credentials); GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, String.valueOf(attachmentId), method); request.setExpiration(new Date(System.currentTimeMillis() + DURATION)); request.setContentType("application/octet-stream"); if (unaccelerated) { client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build()); } else { client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); } return client.generatePresignedUrl(request); }
public static URL generatePresignedUrl(final ClientOptions clientOptions, final String bucketName, final String key, final Date expiration) { LOGGER.debug(format("Generating presigned url for key %1s in bucket %2s with expiration date %3s", key, bucketName, expiration.toString())); return getTransferManager(clientOptions).getAmazonS3Client().generatePresignedUrl(bucketName, key, expiration, HttpMethod.GET); }
@Override public SingularityS3LogMetadata call() throws Exception { Optional<Long> maybeStartTime = Optional.absent(); Optional<Long> maybeEndTime = Optional.absent(); if (!search.isExcludeMetadata()) { GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(s3Object.getBucketName(), s3Object.getKey()); Map<String, String> objectMetadata = s3Client.getObjectMetadata(metadataRequest).getUserMetadata(); maybeStartTime = getMetadataAsLong(objectMetadata, SingularityS3Log.LOG_START_S3_ATTR); maybeEndTime = getMetadataAsLong(objectMetadata, SingularityS3Log.LOG_END_S3_ATTR); } if (search.isListOnly()) { return new SingularityS3LogMetadata(s3Object.getKey(), s3Object.getLastModified().getTime(), s3Object.getSize(), maybeStartTime, maybeEndTime); } else { GeneratePresignedUrlRequest getUrlRequest = new GeneratePresignedUrlRequest(s3Object.getBucketName(), s3Object.getKey()) .withMethod(HttpMethod.GET) .withExpiration(expireAt); String getUrl = s3Client.generatePresignedUrl(getUrlRequest).toString(); ResponseHeaderOverrides downloadHeaders = new ResponseHeaderOverrides(); downloadHeaders.setContentDisposition(CONTENT_DISPOSITION_DOWNLOAD_HEADER); downloadHeaders.setContentEncoding(CONTENT_ENCODING_DOWNLOAD_HEADER); GeneratePresignedUrlRequest downloadUrlRequest = new GeneratePresignedUrlRequest(s3Object.getBucketName(), s3Object.getKey()) .withMethod(HttpMethod.GET) .withExpiration(expireAt) .withResponseHeaders(downloadHeaders); String downloadUrl = s3Client.generatePresignedUrl(downloadUrlRequest).toString(); return new SingularityS3Log(getUrl, s3Object.getKey(), s3Object.getLastModified().getTime(), s3Object.getSize(), downloadUrl, maybeStartTime, maybeEndTime); } }
@Override public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest, AmazonS3 s3Client) { return s3Client.generatePresignedUrl(generatePresignedUrlRequest); }
@Override public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest, AmazonS3 s3Client) { return s3Client.generatePresignedUrl(generatePresignedUrlRequest); }
AWSCredentials myCredentials = new BasicAWSCredentials("YOUR_AMAZON_ACCESS_KEY_ID", "YOUR_AMAZON_SECRET_KEY_ID"); AmazonS3 s3client = new AmazonS3Client(myCredentials); GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectName); URL objectURL = s3client.generatePresignedUrl(request);
/** * Generate a pre-signed URL that can be used to make an HTTP request. * Note: this method must be synchronized because we're accessing the * {@link #s3Client} field and we're calling this method from a worker thread. * @param key the key of the S3 object to query * @param method the HTTP method that will be used in the request * @return the presigned URL */ private synchronized URL generatePresignedUrl(String key, HttpMethod method) { Date expiry = new Date(System.currentTimeMillis() + 1000 * requestExpirySeconds); return getS3Client().generatePresignedUrl(bucket, key, expiry, method); }
public static URL getSignedUrl(String bucket, String key, HttpMethod method) { GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, key, method); return s3client.generatePresignedUrl(request); }
@Override public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest) throws SdkClientException { return call(() -> getDelegate().generatePresignedUrl(generatePresignedUrlRequest)); }
@Override public URL generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method) throws SdkClientException { return call(() -> getDelegate().generatePresignedUrl(bucketName, key, expiration, method)); }
@Override public URL generatePresignedUrl(String bucketName, String key, Date expiration) throws SdkClientException { return call(() -> getDelegate().generatePresignedUrl(bucketName, key, expiration)); }
private static URL generateRUL(String objectKey, String ACCESS_KEY, String SECRET_KEY, String BUCKET_NAME) { AmazonS3 s3Client = new AmazonS3Client(new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY)); URL url = null; try { GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(BUCKET_NAME, objectKey); request.setMethod(com.amazonaws.HttpMethod.PUT); request.setExpiration(new Date( System.currentTimeMillis() + (60 * 60 * 1000))); // Very important ! It won't work without adding this! // And request.addRequestParameter("Content-Type", "application/octet-stream") won't work neither request.setContentType("application/octet-stream"); url = s3Client.generatePresignedUrl(request ); } catch (AmazonServiceException exception) { } catch (AmazonClientException ace) { } return url; }
public static String getPreauthenticatedUrl(AmazonS3 amazonS3, String bucketName, String objectKey, boolean upload, int validityMinutes) { GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, objectKey); if (upload) { generatePresignedUrlRequest.setMethod(HttpMethod.PUT); } else { generatePresignedUrlRequest.setMethod(HttpMethod.GET); } DateTime expiryTime = DateTime.now().plusMinutes(validityMinutes); generatePresignedUrlRequest.setExpiration(expiryTime.toDate()); URL retValue = amazonS3.generatePresignedUrl(generatePresignedUrlRequest); return retValue.toString(); }
@Override protected Object run() throws Exception { final String bucket = this.step.getBucket(); final String key = this.step.getKey(); Preconditions.checkArgument(bucket != null && !bucket.isEmpty(), "Bucket must not be null or empty"); Preconditions.checkArgument(key != null && !key.isEmpty(), "Key must not be null or empty"); EnvVars envVars = this.getContext().get(EnvVars.class); AmazonS3 s3 = AWSClientFactory.create(this.step.createS3ClientOptions().createAmazonS3ClientBuilder(), envVars); Date expiration = DateTime.now().plusSeconds(this.step.getDurationInSeconds()).toDate(); URL url = s3.generatePresignedUrl(bucket, key, expiration, this.step.getHttpMethod()); return url.toString(); }
/** * Computes the presigned URL for the given S3 resource. * * @param path * String like "/bucketName/folder/folder/abc.txt" that represents the resource to request. */ public URL buildPresignedURL(String path) throws AmazonClientException { AWSCredentials credentials = awsCredentialsProvider.getCredentials(); long expires = System.currentTimeMillis()+60*60*1000; GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(path, credentials.getAWSSecretKey()); request.setExpiration(new Date(expires)); AmazonS3 s3 = new AmazonS3Client(credentials); return s3.generatePresignedUrl(request); }
/** * Computes the presigned URL for the given S3 resource. * * @param path String like "/bucketName/folder/folder/abc.txt" that represents the resource to request. */ public URL buildPresignedURL(String path) throws AmazonClientException { AWSCredentials credentials = awsCredentialsProvider.getCredentials(); long expires = System.currentTimeMillis() + 60 * 60 * 1000; GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(path, credentials.getAWSSecretKey()); request.setExpiration(new Date(expires)); AmazonS3 s3 = new AmazonS3Client(credentials); return s3.generatePresignedUrl(request); }
public String getPublicLink(S3ObjectSummary objectSummary) { GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest( getAmazonType().getS3Bucket(), objectSummary.getKey()); generatePresignedUrlRequest.setMethod(HttpMethod.GET); return getAmazonType().getAmazonS3().generatePresignedUrl(generatePresignedUrlRequest).toString(); }
@Override public String generatePresignedURL(Integer expiresIn, String key) { return getAmazonType().getAmazonS3().generatePresignedUrl( new GeneratePresignedUrlRequest(getAmazonType().getS3Bucket(), key).withExpiration(getExpirationDate(expiresIn))).toString(); }