Function AuthenticateToAzure($connectionBias){
if($connectionBias -eq "RunAsAccount"){
$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
Connect-AzAccount -ServicePrincipal -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
} elseif($connectionBias -eq "msi") {
Connect-AzAccount -Identity
} else {
exit
}
}
Function WriteFileToBlob($obj, $filename, $type) {
Write-Output $filename
$filePath = "$env:temp\" + $filename
if($type -eq "json"){
$obj | ConvertTo-Json | Out-File -FilePath $filePath
} elseif($type -eq "csv") {
$obj | Export-Csv -Path $filePath -NoTypeInformation -Encoding UTF8
} else {
$obj | Out-File -FilePath $filePath
}
Set-AzStorageBlobContent -Container $containerName -File $filePath -Context $storageContext -Force
Remove-Item -Path $filePath -Force
$obj = @()
}
AuthenticateToAzure("msi")
$tenantId = "xxxxxxx"
$subscriptionId = "xxxxxxx"
$resourceGroup = "xxxxxxx"
$storageAccountName = "xxxxxxx"
$containerName = "xxxxxxx"
Set-AzContext -Subscription $subscriptionId -Tenant $tenantId
$storAccKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroup -Name $storageAccountName
$primaryKey = $storAccKeys | Where-Object keyname -eq 'key1' | Select-Object -ExpandProperty value
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $primaryKey
WriteFileToBlob -obj $table -filename "sample.csv" -type "csv"
WriteFileToBlob -obj $output -filename "sample.json" -type "json"