如何使用" Set-AzureStorageFileContent"上传文件到HDInsight?

时间:2015-03-24 02:03:08

标签: powershell azure

想想我已经设置了我的powershell环境来连接到我的Azure帐户。我想将文件上传到我的HDInsight blob 存储。我做了:

Set-AzureStorageFileContent -ShareName "what is a share name?" -Source "c:\local.file" -Path "test/"

但我得到了

Set-AzureStorageFileContent : Can not find your azure storage credential.     
Please set current storage account using 
"Set-AzureSubscription" or set the "AZURE_STORAGE_CONNECTION_STRING" environment variable.

Set-AzureSubscription 的帮助信息是如此无用,我不知道它在说什么......

1 个答案:

答案 0 :(得分:1)

这里有一些事情:

  • Set-AzureStorageFileContent将文件上传到File Service Share而不是Blob Storage。要将文件上传到blob存储,您需要使用Set-AzureStorageBlobContent Cmdlet。
  • 我相信你得到的错误是因为没有指定存储帐户。 Set-AzureStorageBlobContent cmdlet有一个名为Context的参数,您需要通过调用New-AzureStorageContext Cmdlet来指定可以执行的上下文。

示例代码:

$storageContext = New-AzureStorageContext -StorageAccountName "accountname" -StorageAccountKey "accountkey"

Set-AzureStorageBlobContent -File "full file path" -Container "container name" -BlobType "Block" -Context $storageContext -Verbose

请注意,容器必须存在于您可以使用New-AzureStorageContainer Cmdlet创建的存储帐户中。