0

当我尝试向 Azure 存储的云队列发送一些消息时,我随机收到以下异常。我正在使用 0.5.1 版的 azure android 存储客户端库。我没有使用 SAS,而是使用 Azure 帐户名称和密钥。请帮我解决这个问题。

com.microsoft.azure.storage.StorageException:服务器未能对请求进行身份验证。确保 Authorization 标头的值正确形成,包括签名。在 com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:307) 在 com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:181) 在 com.microsoft.azure.storage .queue.CloudQueue.exists(CloudQueue.java:887) 在 com.microsoft.azure.storage.queue.CloudQueue.createIfNotExists(CloudQueue.java:526) 在 com.microsoft.azure.storage.queue.CloudQueue.createIfNotExists(CloudQueue .java:501)

编辑: 这是我导致异常的代码。正如我所说,有时它工作正常,异常随机发生。

    try
    {
        // Retrieve storage account from connection-string.
        CloudStorageAccount storageAccount =
                CloudStorageAccount.parse(STORAGE_CONNECTION_STRING);

        // Create the queue client.
        CloudQueueClient queueClient = storageAccount.createCloudQueueClient();

        // Retrieve a reference to a queue.
        CloudQueue queue = queueClient.getQueueReference(QUEUE);

        // Create the queue if it doesn't already exist.
        queue.createIfNotExists();

        // Create a message and add it to the queue.
        CloudQueueMessage message = new CloudQueueMessage(msg);
        queue.addMessage(message);
    }
    catch (Exception e)
    {
        // Output the stack trace.
        e.printStackTrace();
    }
4

1 回答 1