我正在尝试让Azure自动化帐户将.CSV导出到存储帐户,但我在执行此操作时遇到了大量问题。正如大多数文档所述,使用AzureRM和Azure RM正在贬值。
下面是我尝试传输.CSV文件的方法
$SecureAppSecret = ConvertTo-SecureString -String $AppSecret -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential($AppId, $SecureAppSecret)
Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential
[String]$StorageAccountKey = Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupID -Name $StorageAccountName
$azure_StorageContextSplat = @{
StorageAccountName = $StorageAccountName
StorageAccountKey = $StorageAccountKey
}
$storageContext = New-AzStorageContext @azure_StorageContextSplat
$Report | Export-CSV -Path "~\File.csv"
$azure_FileToUploadSplat = @{
Context = $storageContext
File = "~\File.csv"
Container = $StorageContainer
Force = $true
}
Set-AzStorageBlobContent @azure_FileToUploadSplat
$AppSecret、$AppId、$TenantId、$ResourceGroupID、$StorageAccountName和$storageContext都在脚本的前面以明文形式提供(我知道这不安全,但我希望它能正常工作,然后我才能使它安全)
在Azure自动化测试窗格中运行此命令后,我收到以下2个错误:
The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
Could not get the storage context. Please pass in a storage context or set the current storage context.
我相信第一个是指StorageAccountKey,但目前我还不知道。任何帮助都将不胜感激。谢谢。
1条答案
按热度按时间neekobn81#
简单的方法来传输文件是下面的过程,并把它作为一个替代方案,因为它是不太安全:
我已经在我的环境中复制了下面的脚本,我遵循了Microsoft-Document:
输出:
然后在存储帐户中:
在这里,我已经直接给出了存储帐户密钥、名称和容器名称,并获得了所需的输出,请尝试按照相同的方式获得所需的输出。