我有一个用于存储在线文件的 blob 存储。上传 Excel 文档后,我需要从 Excel 工作表中提取数据。是否可以使用 Runbook 中的自动化帐户访问 Blob 存储?然后我需要这些数据来创建 SharePoint 网站和属性。我还没弄清楚如何访问 blob 存储。
感谢您的帮助!
致以诚挚的问候
马蒂亚斯
我在自动化 Runbook 中尝试了以下 PowerShell 脚本,以从 Azure 存储中提取 Excel/CSV 文件数据。
Powershell 脚本:
$Appid = "<app_ID>"
$PSWord = ConvertTo-SecureString -String "<app_secret>" -AsPlainText -Force
$tenantID = "<tenant_ID>"
$SubscriptionID = "<subscription_ID>"
$RG = "Vyshu"
$storageAccountName = "<storage_name>"
$storageAccountKey = "<storage_key>"
$containerName = "<container_name>"
$blobname = "<xlsx_blobName>"
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $Appid, $PSWord
Connect-AzAccount -Credential $Credential -Tenant $tenantID -ServicePrincipal -Subscription $SubscriptionID
Install-Module -Name ImportExcel -Force -AllowClobber
Import-Module ImportExcel
Set-AzCurrentStorageAccount -ResourceGroupName $RG -Name $storageAccountName
$blob = Get-AzStorageBlob -Container kamcontainer -Blob $blobname | Get-AzStorageBlobContent
$localPath = "C:\app\test_file.xlsx"
$data = Import-Excel -Path $localPath
$data | Format-Table
要从存储中读取 Blob 数据,您需要在存储帐户中分配 Storage Blob Data Reader 角色。
输出:
以下是从存储中提取 Excel 文件数据的输出。
注意:- 要提取 CSV 文件数据,您应该将其替换为以下代码。
$localPath = "C:\app\blob.csv"
$data = Import-Csv -Path $localPath
$data | Format-Table
以下是从存储中提取 CSV 文件数据的输出。