我正在尝试使用存储帐户和容器设置新的资源组。除容器部分外,所有步骤均有效。从资源在线我已经读过这个API功能没有移植到新的ARM cmdlet - 是否有可用的变通方法?
尝试#1
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionName "Visual Studio Professional"
$resourceGroup = "MyResourceGroup4"
$location = "West Europe"
New-AzureRmResourceGroup -Name $resourceGroup -Location $location
Write-Host "Created resource group"
New-AzureRmStorageAccount -ResourceGroupName $resourceGroup -AccountName "xzcczxda" -Type Standard_RAGRS -Location $location -AccessTier Cool -Kind BlobStorage
New-AzureStorageContainer -Name "images" -Permission Off
错误:
新Azure存储容器:术语“新建Azure存储容器”不会被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 试。
尝试#2(基于this)
与之前相同,但添加Import-Module AzureRM.Storage
并使用New-AzureRmStorageContainer
代替。
错误:
新AzureRm存储容器:术语“New-AzureRm存储容器”未被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确 再试一次。
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionName "Visual Studio Professional"
$resourceGroup = "MyResourceGroup9"
$location = "West Europe"
$storageAccountName = "teststorageaccount"
New-AzureRmResourceGroup -Name $resourceGroup -Location $location
Write-Host "Created resource group"
New-AzureRmStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageAccountName -Type Standard_RAGRS -Location $location -AccessTier Cool -Kind BlobStorage
Write-Host "Fetching storage account information"
$storageKey = (Get-AzureStorageKey -StorageAccountName $storageAccountName).Primary
$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageKey
New-AzureStorageContainer -Name "images" -Permission Off -Context $storageContext
错误:
Get-AzureStorageKey:ResourceNotFound:找不到存储帐户“teststorageaccount”。 New-AzureStorageContext:无法验证参数'StorageAccountKey'的参数。参数为null或空。提供非null或空的参数,然后再次尝试该命令。 新Azure存储容器:术语“新建Azure存储容器”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 试。
尝试#4(基于this)
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionName "Visual Studio Professional"
$resourceGroup = "MyResourceGroup10"
$location = "West Europe"
$storageAccountName = "dasdaaadmb"
New-AzureRmResourceGroup -Name $resourceGroup -Location $location
Write-Host "Created resource group"
New-AzureRmStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageAccountName -Type Standard_RAGRS -Location $location -AccessTier Cool -Kind BlobStorage
Write-Host "Fetching storage account information"
$storageKey = (Get-AzureRmStorageAccountKey -Name $storageAccountName -ResourceGroupName $resourceGroup).Value[0]
$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageKey
New-AzureStorageContainer -Name "images" -Permission Off -Context $storageContext
错误:
新Azure存储容器:术语“新建Azure存储容器”不会被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 试。
尝试#5(基于this)
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionName "Visual Studio Professional"
$resourceGroup = "MyResourceGroup11"
$location = "West Europe"
$storageAccountName = "addadadsadad"
New-AzureRmResourceGroup -Name $resourceGroup -Location $location
Write-Host "Created resource group"
New-AzureRmStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageAccountName -Type Standard_RAGRS -Location $location -AccessTier Cool -Kind BlobStorage
Set-AzureRmCurrentStorageAccount -StorageAccountName $storageAccountName -ResourceGroupName $resourceGroup
New-AzureStorageContainer -Name "images" -Permission Off
错误:
新Azure存储容器:术语“新建Azure存储容器”不会被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 试。
此时我没有想法。如何从ARM上下文创建存储容器? This似乎表明这个问题是因为我混合了ASM和ARM,我希望通过传递上下文来解决这个问题(参见尝试3& 4)
答案 0 :(得分:1)
归功于@GauravMantri搞清楚了!
当我逐字重新输入所有内容时,它完美无缺。我已经改编了我的原始脚本,它没有问题。
接下来我看看这两个字符串是什么组成的。
void Main()
{
var correct = "New-AzureStorageContainer -Name \"images\" -Permission Off -Context $storageContext";
var wrong = "New-AzureStorageContainer -Name \"images\" -Permission Off -Context $storageContext";
for (var i = 0; i < Math.Max(correct.Length, wrong.Length); i++)
{
Console.Write("correct: " + (int) correct[i]);
Console.WriteLine("\twrong: " + (int) wrong[i]);
}
}
我已经突出显示了两个字符串的分歧。
带我到this question:“什么是HTML字符代码8203?”,其中包含神奇的答案“ It's the Unicode Character 'ZERO WIDTH SPACE' (U+200B). ”