您是否使用来自http://wappowershell.codeplex.com的 Cmdlet ?请注意,这些 cmdlet 现在(有点)已弃用,并已被 Windows Azure 管理 Cmdlet ( http://msdn.microsoft.com/en-us/library/windowsazure/jj554330.aspx ) 取代。不幸的是,新的 cmdlet 中没有用于添加 blob 的 cmdlet。
回到您的问题,我认为无法使用此 Cmdlet 指定请求超时,并且 CodePlex 网站上没有可供您修改的源代码。您可以做的是直接通过 PowerShell 调用存储客户端库。我冒昧地修改了这篇博客文章中的代码(http://www.fsmpi.uni-bayreuth.de/~dun3/archives/uploading-a-file-to-azure-blob-storage-from-powershell/ 528.html ) 并包含对 Timeout 参数的支持:
Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref\Microsoft.WindowsAzure.StorageClient.dll"
$accountName = "<your account name>";
$accountKey = "<your account key>";
$blobContainerName = "<your blob container name>";
$fullFilePath = "<Full path of the file you wish to upload>";
$requestTimeoutInSeconds = 600;
$cloudStorageAccountNameAndKey = new-object Microsoft.WindowsAzure.StorageCredentialsAccountAndKey($accountName, $accountKey);
$cloudStorageAccount = new-object Microsoft.WindowsAzure.CloudStorageAccount($cloudStorageAccountNameAndKey, $true);
$cloudBlobClient = [Microsoft.WindowsAzure.StorageClient.CloudStorageAccountStorageClientExtensions]::CreateCloudBlobClient($cloudStorageAccount)
$blobContainer = $cloudBlobClient.GetContainerReference($blobContainerName);
$blobContainer.CreateIfNotExist();
$blockBlob = $blobContainer.GetBlockBlobReference("<blob name>");
$blobRequestOptions = new-object Microsoft.WindowsAzure.StorageClient.BlobRequestOptions;
$blobRequestOptions.Timeout = [TimeSpan]::FromSeconds($requestTimeoutInSeconds);
$blockBlob.UploadFile($fullFilePath, $blobRequestOptions);
如果您正在寻找 Microsoft 的 PowerShell Cmdlet 的替代品,我建议您看看Cerebrata Azure Management Cmdlets [我是该产品的开发人员之一]。它具有用于完整存储管理和服务管理的 cmdlet。
希望这可以帮助。