Я сейчас работаю в Powershell
, пытаясь получить некоторые данные из моего Azure SQL Database
. Я с успехом извлек некоторые данные в набор данных. Тем не менее, я не могу понять, как загрузить его в Azure blob storage
, не сохранив его сначала локально как CSV.
Набор данных должен быть преобразован в CSV и загружен в BLOB как CSV безсохраняя его локально.
Это то, что получилось до сих пор:
$SQLServer = "xxxxxxx"
$SQLDBName = "xxxxxx"
$uid ="xxxxxxxx"
$pwd = "xxxxxxx"
$SqlQuery = "SELECT * from Dim.xxxxxx;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = False; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$csv = $DataSet.Tables[0] | ConvertTo-Csv -Delimiter ";" -NoTypeInformation
Set-AzStorageBlobContent -File $csv -Context $context -Container "xxxxxx"
Однако последняя строка дает мне эту ошибку:
Set-AzStorageBlobContent: Невозможно преобразовать System.Object [] в тип System.String, требуемый параметром File. Указанный метод не поддерживается.
Я знаю, что делаю что-то не так, но не могу понять, как преобразовать набор данных и загрузить его одновременно. А может, есть другой способ?