Class DefaultS3Presigner

java.lang.Object
software.amazon.awssdk.services.s3.internal.signing.DefaultSdkPresigner
software.amazon.awssdk.services.s3.internal.signing.DefaultS3Presigner
All Implemented Interfaces:
AutoCloseable, SdkPresigner, S3Presigner, SdkAutoCloseable

public final class DefaultS3Presigner extends DefaultSdkPresigner implements S3Presigner
The default implementation of the S3Presigner interface.
  • Method Details

    • builder

      public static S3Presigner.Builder builder()
    • presignGetObject

      public PresignedGetObjectRequest presignGetObject(GetObjectPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a GetObjectRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Create a GetObjectRequest to be pre-signed
           GetObjectRequest getObjectRequest = ...;
      
           // Create a GetObjectPresignRequest to specify the signature duration
           GetObjectPresignRequest getObjectPresignRequest =
               GetObjectPresignRequest.builder()
                                      .signatureDuration(Duration.ofMinutes(10))
                                      .getObjectRequest(request)
                                      .build();
      
           // Generate the presigned request
           PresignedGetObjectRequest presignedGetObjectRequest =
               presigner.presignGetObject(getObjectPresignRequest);
      
           if (presignedGetObjectRequest.isBrowserExecutable())
               System.out.println("The pre-signed request can be executed using a web browser by " +
                                  "visiting the following URL: " + presignedGetObjectRequest.url());
           else
               System.out.println("The pre-signed request has an HTTP method, headers or a payload " +
                                  "that prohibits it from being executed by a web browser. See the S3Presigner " +
                                  "class-level documentation for an example of how to execute this pre-signed " +
                                  "request from Java code.");
       
       
      Specified by:
      presignGetObject in interface S3Presigner
    • presignPutObject

      public PresignedPutObjectRequest presignPutObject(PutObjectPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a PutObjectRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Create a PutObjectRequest to be pre-signed
           PutObjectRequest putObjectRequest = ...;
      
           // Create a PutObjectPresignRequest to specify the signature duration
           PutObjectPresignRequest putObjectPresignRequest =
               PutObjectPresignRequest.builder()
                                      .signatureDuration(Duration.ofMinutes(10))
                                      .putObjectRequest(request)
                                      .build();
      
           // Generate the presigned request
           PresignedPutObjectRequest presignedPutObjectRequest =
               presigner.presignPutObject(putObjectPresignRequest);
       
       
      Specified by:
      presignPutObject in interface S3Presigner
    • presignDeleteObject

      public PresignedDeleteObjectRequest presignDeleteObject(DeleteObjectPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a DeleteObjectRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Create a DeleteObjectRequest to be pre-signed
           DeleteObjectRequest deleteObjectRequest = ...;
      
           // Create a PutObjectPresignRequest to specify the signature duration
           DeleteObjectPresignRequest deleteObjectPresignRequest =
               DeleteObjectPresignRequest.builder()
                                         .signatureDuration(Duration.ofMinutes(10))
                                         .deleteObjectRequest(deleteObjectRequest)
                                         .build();
      
           // Generate the presigned request
           PresignedDeleteObjectRequest presignedDeleteObjectRequest =
               presigner.presignDeleteObject(deleteObjectPresignRequest);
       
       
      Specified by:
      presignDeleteObject in interface S3Presigner
    • presignCreateMultipartUpload

      public PresignedCreateMultipartUploadRequest presignCreateMultipartUpload(CreateMultipartUploadPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a CreateMultipartUploadRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Create a CreateMultipartUploadRequest to be pre-signed
           CreateMultipartUploadRequest createMultipartUploadRequest = ...;
      
           // Create a CreateMultipartUploadPresignRequest to specify the signature duration
           CreateMultipartUploadPresignRequest createMultipartUploadPresignRequest =
               CreateMultipartUploadPresignRequest.builder()
                                                  .signatureDuration(Duration.ofMinutes(10))
                                                  .createMultipartUploadRequest(request)
                                                  .build();
      
           // Generate the presigned request
           PresignedCreateMultipartUploadRequest presignedCreateMultipartUploadRequest =
               presigner.presignCreateMultipartUpload(createMultipartUploadPresignRequest);
       
       
      Specified by:
      presignCreateMultipartUpload in interface S3Presigner
    • presignUploadPart

      public PresignedUploadPartRequest presignUploadPart(UploadPartPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a UploadPartRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Create a UploadPartRequest to be pre-signed
           UploadPartRequest uploadPartRequest = ...;
      
           // Create a UploadPartPresignRequest to specify the signature duration
           UploadPartPresignRequest uploadPartPresignRequest =
               UploadPartPresignRequest.builder()
                                       .signatureDuration(Duration.ofMinutes(10))
                                       .uploadPartRequest(request)
                                       .build();
      
           // Generate the presigned request
           PresignedUploadPartRequest presignedUploadPartRequest =
               presigner.presignUploadPart(uploadPartPresignRequest);
       
       
      Specified by:
      presignUploadPart in interface S3Presigner
    • presignCompleteMultipartUpload

      public PresignedCompleteMultipartUploadRequest presignCompleteMultipartUpload(CompleteMultipartUploadPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a CompleteMultipartUploadRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Complete a CompleteMultipartUploadRequest to be pre-signed
           CompleteMultipartUploadRequest completeMultipartUploadRequest = ...;
      
           // Create a CompleteMultipartUploadPresignRequest to specify the signature duration
           CompleteMultipartUploadPresignRequest completeMultipartUploadPresignRequest =
               CompleteMultipartUploadPresignRequest.builder()
                                                    .signatureDuration(Duration.ofMinutes(10))
                                                    .completeMultipartUploadRequest(request)
                                                    .build();
      
           // Generate the presigned request
           PresignedCompleteMultipartUploadRequest presignedCompleteMultipartUploadRequest =
               presigner.presignCompleteMultipartUpload(completeMultipartUploadPresignRequest);
       
       
      Specified by:
      presignCompleteMultipartUpload in interface S3Presigner
    • presignAbortMultipartUpload

      public PresignedAbortMultipartUploadRequest presignAbortMultipartUpload(AbortMultipartUploadPresignRequest request)
      Description copied from interface: S3Presigner
      Presign a AbortMultipartUploadRequest so that it can be executed at a later time without requiring additional signing or authentication.

      Example Usage

       
           S3Presigner presigner = ...;
      
           // Complete a AbortMultipartUploadRequest to be pre-signed
           AbortMultipartUploadRequest abortMultipartUploadRequest = ...;
      
           // Create a AbortMultipartUploadPresignRequest to specify the signature duration
           AbortMultipartUploadPresignRequest abortMultipartUploadPresignRequest =
               AbortMultipartUploadPresignRequest.builder()
                                                    .signatureDuration(Duration.ofMinutes(10))
                                                    .abortMultipartUploadRequest(request)
                                                    .build();
      
           // Generate the presigned request
           PresignedAbortMultipartUploadRequest presignedAbortMultipartUploadRequest =
               presigner.presignAbortMultipartUpload(abortMultipartUploadPresignRequest);
       
       
      Specified by:
      presignAbortMultipartUpload in interface S3Presigner