microsoft-azure-storage/src/com/microsoft/azure/storage/core/BaseRequest.java
public static HttpURLConnection create(final URI uri, final RequestOptions options, UriQueryBuilder builder,
            final OperationContext opContext) throws IOException, URISyntaxException, StorageException {
        if (builder == null) {
            builder = new UriQueryBuilder();
        }

        final HttpURLConnection retConnection = createURLConnection(uri, options, builder, opContext);
        retConnection.setFixedLengthStreamingMode(0);
        retConnection.setDoOutput(true);
        retConnection.setRequestMethod(Constants.HTTP_PUT);

        return retConnection;
    }
public static HttpURLConnection create(final URI uri, final RequestOptions options, UriQueryBuilder builder,
            final OperationContext opContext) throws IOException, URISyntaxException, StorageException {
        if (builder == null) {
            builder = new UriQueryBuilder();
        }

        final HttpURLConnection retConnection = createURLConnection(uri, options, builder, opContext);
        retConnection.setFixedLengthStreamingMode(0);
        retConnection.setDoOutput(true);
        retConnection.setRequestMethod(Constants.HTTP_PUT);

        return retConnection;
    }
Creates the specified resource. Note request is set to setFixedLengthStreamingMode(0); Sign with 0 length.

@param uri
the request Uri.
@param options
A {@link RequestOptions} object that specifies execution options such as retry policy and timeout
settings for the operation.
@param builder
the UriQueryBuilder for the request
@param opContext
an object used to track the execution of the operation

@return a HttpURLConnection to perform the operation.
@throws IOException
if there is an error opening the connection
@throws URISyntaxException
if there is an improperly formated URI
@throws StorageException
@throws IllegalArgumentException