当前位置: 首页>>代码示例>>Java>>正文


Java SharedAccessSignatureHelper类代码示例

本文整理汇总了Java中com.microsoft.azure.storage.core.SharedAccessSignatureHelper的典型用法代码示例。如果您正苦于以下问题:Java SharedAccessSignatureHelper类的具体用法?Java SharedAccessSignatureHelper怎么用?Java SharedAccessSignatureHelper使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SharedAccessSignatureHelper类属于com.microsoft.azure.storage.core包,在下文中一共展示了SharedAccessSignatureHelper类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generateSharedAccessSignature

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Returns a shared access signature for the container. Note this does not contain the leading "?".
 * 
 * @param policy
 *            An {@link SharedAccessBlobPolicy} object that represents the access policy for the shared access
 *            signature.
 * @param groupPolicyIdentifier
 *            A <code>String</code> which represents the container-level access policy.
 * 
 * @return A <code>String</code> which represents a shared access signature for the container.
 * 
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws InvalidKeyException
 *             If the key is invalid.
 */
public String generateSharedAccessSignature(final SharedAccessBlobPolicy policy, final String groupPolicyIdentifier)
        throws InvalidKeyException, StorageException {

    if (!StorageCredentialsHelper.canCredentialsSignRequest(this.blobServiceClient.getCredentials())) {
        final String errorMessage = SR.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY;
        throw new IllegalArgumentException(errorMessage);
    }

    final String resourceName = this.getSharedAccessCanonicalName();

    final String signature = SharedAccessSignatureHelper.generateSharedAccessSignatureHashForBlob(policy,
            null /* SharedAccessBlobHeaders */, groupPolicyIdentifier, resourceName, this.blobServiceClient, null);

    final UriQueryBuilder builder = SharedAccessSignatureHelper.generateSharedAccessSignatureForBlob(policy,
            null /* SharedAccessBlobHeaders */, groupPolicyIdentifier, "c", signature);

    return builder.toString();
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:35,代码来源:CloudBlobContainer.java

示例2: generateSharedAccessSignature

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Returns a shared access signature for the queue.
 * 
 * @param policy
 *            The access policy for the shared access signature.
 * @param groupPolicyIdentifier
 *            A queue-level access policy.
 * @return A shared access signature for the queue.
 * @throws InvalidKeyException
 *             If an invalid key was passed.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws IllegalArgumentException
 *             If an unexpected value is passed.
 */
public String generateSharedAccessSignature(final SharedAccessQueuePolicy policy, final String groupPolicyIdentifier)
        throws InvalidKeyException, StorageException {

    if (!StorageCredentialsHelper.canCredentialsSignRequest(this.queueServiceClient.getCredentials())) {
        final String errorMessage = SR.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY;
        throw new IllegalArgumentException(errorMessage);
    }

    final String resourceName = this.getSharedAccessCanonicalName();

    final String signature = SharedAccessSignatureHelper.generateSharedAccessSignatureHashForQueue(policy,
            groupPolicyIdentifier, resourceName, this.queueServiceClient, null);

    final UriQueryBuilder builder = SharedAccessSignatureHelper.generateSharedAccessSignatureForQueue(policy,
            groupPolicyIdentifier, signature);

    return builder.toString();
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:34,代码来源:CloudQueue.java

示例3: generateSharedAccessSignature

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Returns a shared access signature for the share. Note this does not contain the leading "?".
 * 
 * @param policy
 *            An {@link SharedAccessFilePolicy} object that represents the access policy for the
 *            shared access signature.
 * @param groupPolicyIdentifier
 *            A <code>String</code> which represents the share-level access policy.
 * @param ipRange
 *            A {@link IPRange} object containing the range of allowed IP addresses.
 * @param protocols
 *            A {@link SharedAccessProtocols} representing the allowed Internet protocols.
 * 
 * @return A <code>String</code> which represents a shared access signature for the share.
 * 
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws InvalidKeyException
 *             If the key is invalid.
 */
public String generateSharedAccessSignature(
        final SharedAccessFilePolicy policy, final String groupPolicyIdentifier, final IPRange ipRange,
        final SharedAccessProtocols protocols)
        throws InvalidKeyException, StorageException {

    if (!StorageCredentialsHelper.canCredentialsSignRequest(this.fileServiceClient.getCredentials())) {
        final String errorMessage = SR.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY;
        throw new IllegalArgumentException(errorMessage);
    }

    final String resourceName = this.getSharedAccessCanonicalName();

    final String signature = SharedAccessSignatureHelper.generateSharedAccessSignatureHashForBlobAndFile(
            policy, null /* SharedAccessHeaders */, groupPolicyIdentifier, resourceName,
            ipRange, protocols, this.fileServiceClient);

    final UriQueryBuilder builder = SharedAccessSignatureHelper.generateSharedAccessSignatureForBlobAndFile(
            policy, null /* SharedAccessHeaders */, groupPolicyIdentifier, "s", ipRange, protocols, signature);

    return builder.toString();
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:42,代码来源:CloudFileShare.java

示例4: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Parse URI for SAS (Shared access signature) information.
 * 
 * Validate that no other query parameters are passed in. Any SAS information will be recorded as corresponding
 * credentials instance. If existingClient is passed in, any SAS information found will not be supported. Otherwise
 * a new client is created based on SAS information or as anonymous credentials.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param existingClient
 *            A {@link CloudBlobClient} object which represents the client to use.
 * @param usePathStyleUris
 *            <code>true</code> if path-style URIs are used; otherwise, <code>false</code>.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws URISyntaxException
 *             If the resource URI is invalid.
 */
private void parseQueryAndVerify(final StorageUri completeUri, final CloudBlobClient existingClient,
        final boolean usePathStyleUris) throws URISyntaxException, StorageException {
    Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        final String errorMessage = String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString());
        throw new IllegalArgumentException(errorMessage);
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());
    final StorageCredentialsSharedAccessSignature sasCreds = SharedAccessSignatureHelper
            .parseQuery(queryParameters);

    if (sasCreds == null) {
        if (existingClient == null) {
            this.blobServiceClient = new CloudBlobClient(new URI(PathUtility.getServiceClientBaseAddress(
                    this.getUri(), usePathStyleUris)));
        }
        return;
    }

    final Boolean sameCredentials = existingClient == null ? false : Utility.areCredentialsEqual(sasCreds,
            existingClient.getCredentials());

    if (existingClient == null || !sameCredentials) {
        this.blobServiceClient = new CloudBlobClient(new URI(PathUtility.getServiceClientBaseAddress(this.getUri(),
                usePathStyleUris)), sasCreds);
    }

    if (existingClient != null && !sameCredentials) {
        this.blobServiceClient.setDefaultRequestOptions(new BlobRequestOptions(existingClient
                .getDefaultRequestOptions()));
        this.blobServiceClient.setDirectoryDelimiter(existingClient.getDirectoryDelimiter());
    }
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:56,代码来源:CloudBlobContainer.java

示例5: generateSharedAccessSignature

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Creates a shared access signature for the table.
 *
 * @param policy
 *            A {@link SharedAccessTablePolicy} object which represents the access policy for the shared access
 *            signature.
 * @param accessPolicyIdentifier
 *            A <code>String</code> which represents a table-level access policy.
 * @param startPartitionKey
 *            A <code>String</code> which represents the starting partition key.
 * @param startRowKey
 *            A <code>String</code> which represents the starting row key.
 * @param endPartitionKey
 *            A <code>String</code> which represents the ending partition key.
 * @param endRowKey
 *            A <code>String</code> which represents the ending end key.
 *
 * @return A <code>String</code> containing the shared access signature for the table.
 *
 * @throws InvalidKeyException
 *             If an invalid key was passed.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws IllegalArgumentException
 *             If an unexpected value is passed.
 */
public String generateSharedAccessSignature(final SharedAccessTablePolicy policy,
        final String accessPolicyIdentifier, final String startPartitionKey, final String startRowKey,
        final String endPartitionKey, final String endRowKey) throws InvalidKeyException, StorageException {

    if (!StorageCredentialsHelper.canCredentialsSignRequest(this.tableServiceClient.getCredentials())) {
        throw new IllegalArgumentException(SR.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY);
    }

    final String resourceName = this.getSharedAccessCanonicalName();

    final String signature = SharedAccessSignatureHelper.generateSharedAccessSignatureHashForTable(policy,
            accessPolicyIdentifier, resourceName, startPartitionKey, startRowKey, endPartitionKey, endRowKey,
            this.tableServiceClient, null);

    String accountKeyName = null;
    StorageCredentials credentials = this.tableServiceClient.getCredentials();

    if (credentials instanceof StorageCredentialsAccountAndKey) {
        accountKeyName = ((StorageCredentialsAccountAndKey) credentials).getAccountKeyName();
    }

    final UriQueryBuilder builder = SharedAccessSignatureHelper.generateSharedAccessSignatureForTable(policy,
            startPartitionKey, startRowKey, endPartitionKey, endRowKey, accessPolicyIdentifier, this.name,
            signature, accountKeyName);

    return builder.toString();
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:54,代码来源:CloudTable.java

示例6: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Parse Uri for SAS (Shared access signature) information.
 *
 * Validate that no other query parameters are passed in. Any SAS information will be recorded as corresponding
 * credentials instance. If existingClient is passed in, any SAS information found will not be supported. Otherwise
 * a new client is created based on SAS information or as anonymous credentials.
 *
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param existingClient
 *            A {@link CloudTableClient} object which represents the client to use.
 * @param usePathStyleUris
 *            <code>true</code> if path-style URIs are used; otherwise <code>false</code>.
 *
 * @throws URISyntaxException
 * @throws StorageException
 */
private void parseQueryAndVerify(final StorageUri completeUri, final CloudTableClient existingClient,
        final boolean usePathStyleUris) throws URISyntaxException, StorageException {
    Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        final String errorMessage = String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString());
        throw new IllegalArgumentException(errorMessage);
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());
    final StorageCredentialsSharedAccessSignature sasCreds = SharedAccessSignatureHelper
            .parseQuery(queryParameters);

    if (sasCreds == null) {
        if (existingClient == null) {
            throw new IllegalArgumentException(SR.STORAGE_CLIENT_OR_SAS_REQUIRED);
        }
        return;
    }

    final Boolean sameCredentials = existingClient == null ? false : Utility.areCredentialsEqual(sasCreds,
            existingClient.getCredentials());

    if (existingClient == null || !sameCredentials) {
        this.tableServiceClient = new CloudTableClient(new URI(PathUtility.getServiceClientBaseAddress(
                this.getUri(), usePathStyleUris)), sasCreds);
    }

    if (existingClient != null && !sameCredentials) {
        this.tableServiceClient.setDefaultRequestOptions(new TableRequestOptions(existingClient
                .getDefaultRequestOptions()));
    }
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:53,代码来源:CloudTable.java

示例7: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Parse Uri for SAS (Shared access signature) information.
 * 
 * Validate that no other query parameters are passed in. Any SAS information will be recorded as corresponding
 * credentials instance. If existingClient is passed in, any SAS information found will not be supported. Otherwise
 * a new client is created based on SAS information or as anonymous credentials.
 * 
 * @param completeUri
 *            The complete Uri.
 * @param existingClient
 *            The client to use.
 * @param usePathStyleUris
 *            If true, path style Uris are used.
 * @throws URISyntaxException
 * @throws StorageException
 */
private void parseQueryAndVerify(final StorageUri completeUri, final CloudQueueClient existingClient,
        final boolean usePathStyleUris) throws URISyntaxException, StorageException {
    Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        final String errorMessage = String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString());
        throw new IllegalArgumentException(errorMessage);
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());
    final StorageCredentialsSharedAccessSignature sasCreds = SharedAccessSignatureHelper
            .parseQuery(queryParameters);

    if (sasCreds == null) {
        if (existingClient == null) {
            throw new IllegalArgumentException(SR.STORAGE_CLIENT_OR_SAS_REQUIRED);
        }
        return;
    }

    final Boolean sameCredentials = existingClient == null ? false : Utility.areCredentialsEqual(sasCreds,
            existingClient.getCredentials());

    if (existingClient == null || !sameCredentials) {
        this.queueServiceClient = new CloudQueueClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), sasCreds);
    }

    if (existingClient != null && !sameCredentials) {
        this.queueServiceClient.setDefaultRequestOptions(new QueueRequestOptions(existingClient
                .getDefaultRequestOptions()));
    }
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:52,代码来源:CloudQueue.java

示例8: generateSharedAccessSignature

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Returns a shared access signature for the account.
 * 
 * @param policy
 *            A {@link SharedAccessAccountPolicy} specifying the access policy for the shared access signature.
 *            
 * @return The query string returned includes the leading question mark.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws InvalidKeyException
 *             If the key is invalid.
 */
public String generateSharedAccessSignature(SharedAccessAccountPolicy policy)
        throws InvalidKeyException, StorageException {
    if (!StorageCredentialsHelper.canCredentialsSignRequest(this.getCredentials())) {
        throw new IllegalArgumentException(SR.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY);
    }
    
    final String sig = SharedAccessSignatureHelper.generateSharedAccessSignatureHashForAccount(
            this.credentials.getAccountName(), policy, this.getCredentials());
    final UriQueryBuilder sasBuilder =
            SharedAccessSignatureHelper.generateSharedAccessSignatureForAccount(policy, sig);
    return sasBuilder.toString();
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:25,代码来源:CloudStorageAccount.java

示例9: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
        throws StorageException {
   Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.blobServiceClient = new CloudBlobClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getContainerNameFromUri(this.storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:38,代码来源:CloudBlobContainer.java

示例10: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
        throws StorageException {
   Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

    final String[] snapshotIDs = queryParameters.get(BlobConstants.SNAPSHOT);
    if (snapshotIDs != null && snapshotIDs.length > 0) {
        this.snapshotID = snapshotIDs[0];
    }
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(queryParameters);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.blobServiceClient = new CloudBlobClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getBlobNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:45,代码来源:CloudBlob.java

示例11: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws URISyntaxException 
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
        throws StorageException, URISyntaxException {
   Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getDirectoryNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

    final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
    if (snapshotIDs != null && snapshotIDs.length > 0) {
        this.getShare().snapshotID = snapshotIDs[0];
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:46,代码来源:CloudFileDirectory.java

示例12: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
        throws StorageException {
   Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

    final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
    if (snapshotIDs != null && snapshotIDs.length > 0) {
        this.snapshotID = snapshotIDs[0];
    }

    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getShareNameFromUri(this.storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:45,代码来源:CloudFileShare.java

示例13: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 * @throws URISyntaxException 
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials)
        throws StorageException, URISyntaxException {
   Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.fileServiceClient = new CloudFileClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getFileNameFromURI(this.storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }

    final HashMap<String, String[]> queryParameters = PathUtility.parseQueryString(completeUri.getQuery());

    final String[] snapshotIDs = queryParameters.get(Constants.QueryConstants.SHARE_SNAPSHOT);
    if (snapshotIDs != null && snapshotIDs.length > 0) {
        this.getShare().snapshotID = snapshotIDs[0];
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:46,代码来源:CloudFile.java

示例14: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 */  
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials) 
        throws StorageException {
    Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.tableServiceClient = new CloudTableClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getTableNameFromUri(storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:38,代码来源:CloudTable.java

示例15: parseQueryAndVerify

import com.microsoft.azure.storage.core.SharedAccessSignatureHelper; //导入依赖的package包/类
/**
 * Verifies the passed in URI. Then parses it and uses its components to populate this resource's properties.
 * 
 * @param completeUri
 *            A {@link StorageUri} object which represents the complete URI.
 * @param credentials
 *            A {@link StorageCredentials} object used to authenticate access.
 * @throws StorageException
 *             If a storage service error occurred.
 */
private void parseQueryAndVerify(final StorageUri completeUri, final StorageCredentials credentials) 
        throws StorageException {
    Utility.assertNotNull("completeUri", completeUri);

    if (!completeUri.isAbsolute()) {
        throw new IllegalArgumentException(String.format(SR.RELATIVE_ADDRESS_NOT_PERMITTED, completeUri.toString()));
    }

    this.storageUri = PathUtility.stripURIQueryAndFragment(completeUri);
    
    final StorageCredentialsSharedAccessSignature parsedCredentials = 
            SharedAccessSignatureHelper.parseQuery(completeUri);

    if (credentials != null && parsedCredentials != null) {
        throw new IllegalArgumentException(SR.MULTIPLE_CREDENTIALS_PROVIDED);
    }

    try {
        final boolean usePathStyleUris = Utility.determinePathStyleFromUri(this.storageUri.getPrimaryUri());
        this.queueServiceClient = new CloudQueueClient(PathUtility.getServiceClientBaseAddress(
                this.getStorageUri(), usePathStyleUris), credentials != null ? credentials : parsedCredentials);
        this.name = PathUtility.getContainerNameFromUri(storageUri.getPrimaryUri(), usePathStyleUris);
    }
    catch (final URISyntaxException e) {
        throw Utility.generateNewUnexpectedStorageException(e);
    }
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:38,代码来源:CloudQueue.java


注:本文中的com.microsoft.azure.storage.core.SharedAccessSignatureHelper类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。