gpt4 book ai didi

azure - Powershell Runbook [Invoke-ASCmd],xmla 文件的 FileNotFoundException

转载 作者:行者123 更新时间:2023-12-02 23:35:41 26 4
gpt4 key购买 nike

我正在尝试制作一个脚本,通过 Powershell Runbook 为 SSAS 创建自动分区,但每当我尝试读取 xmla 文件时,都会收到以下错误: enter image description here

enter image description here

我调用它的代码如下:

$StorageAccount = Get-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName

$blob = Get-AzureStorageBlob -Context $StorageAccount.Context -Container "Database name" -Blob "CreateNewPartition.xmla"

$file = $blob.ICloudBlob.DownloadText()
Invoke-ASCmd `
-Database $AnalysisServiceDatabase `
-InputFile $file `
-server $AnalysisServiceServer

当使用以下代码时:

$memStream = New-Object System.IO.MemoryStream
$blob.ICloudBlob.DownloadToStream($memStream)
$readStream = New-Object System.IO.StreamReader($memStream, [System.Text.Encoding]::Unicode)
$memStream.Position = 0
$file = ($readStream.ReadToEnd() -replace "`0",'' | ConvertFrom-Json)

我收到此错误: enter image description here

尝试此代码时:

$byteArray = New-Object Byte[] $blob.Length
$file = $blob.ICloudBlob.DownloadToByteArray($byteArray, 0)

我收到此错误: enter image description here

最佳答案

轻松修复。

在第一个示例中,您正确地从 blob 中读取文件的内容。但是,-InputFile 需要一个文件路径(例如 C:\arst.xmla),并且无法处理原始内容 .xmla 文件。

相反,请使用-Query参数将文件内容传递给Invoke-ASCmd,例如:

...

$query = $blob.ICloudBlob.DownloadText()
Invoke-ASCmd `
-Database $AnalysisServiceDatabase `
-Query $query `
-server $AnalysisServiceServer

关于azure - Powershell Runbook [Invoke-ASCmd],xmla 文件的 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com