public Task<AwsS3SignPolicyResult> signPolicy(
      @NonNull final String bucket,
      @NonNull final String key,
      @NonNull final String acl,
      @NonNull final String contentType
  ) {
    return dispatcher.dispatchTask(new Callable<AwsS3SignPolicyResult>() {
      @Override
      public AwsS3SignPolicyResult call() {
        return proxy.signPolicy(bucket, key, acl, contentType);
      }
    });
  }
public Task < AwsS3SignPolicyResult > signPolicy ( @ NonNull final String bucket , @ NonNull final String key , @ NonNull final String acl , @ NonNull final String contentType ) { return dispatcher . dispatchTask ( new Callable < AwsS3SignPolicyResult > ( ) { @ Override public AwsS3SignPolicyResult call ( ) { return proxy . signPolicy ( bucket , key , acl , contentType ) ; } } ) ; }
Signs an AWS S3 security policy for a future put object request. This future request would
be made outside of the Stitch SDK. This is typically used for large requests that are better
sent directly to AWS.
@see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html">Uploading a File to Amazon S3 Using HTTP POST</a>

@param bucket the bucket to put the future object in.
@param key the key (or name) of the future object.
@param acl the ACL to apply to the future object (e.g. private).
@param contentType the content type of the object (e.g. application/json).
@return the signed policy details.