code: public static UriQueryBuilder generateSharedAccessSignatureForBlobAndFile(
              final SharedAccessPolicy policy, final SharedAccessHeaders headers, final String groupPolicyIdentifier,
              final String resourceType, final IPRange ipRange, final SharedAccessProtocols protocols, final String signature)
              throws StorageException {
          
          Utility.assertNotNullOrEmpty("resourceType", resourceType);
  
          return generateSharedAccessSignatureHelper(policy, null /* startPartitionKey */, null /* startRowKey */,
                  null /* endPartitionKey */, null /* endRowKey */, groupPolicyIdentifier, resourceType, ipRange,
                  protocols, null /* tableName */, signature, headers);
      }
docs: Get the complete query builder for creating the Shared Access Signature query.
  
  @param policy
  The shared access policy for the shared access signature.
  @param headers
  The optional header values to set for a blob or file accessed with this shared access signature.
  @param groupPolicyIdentifier
  An optional identifier for the policy.
  @param resourceType
  Either "b" for blobs, "c" for containers, "f" for files, or "s" for shares.
  @param ipRange
  The range of IP addresses for the shared access signature.
  @param protocols
  The Internet protocols for the shared access signature.
  @param signature
  The signature to use.
  
  @return The finished query builder
  @throws IllegalArgumentException
  @throws StorageException