Читать XML из хранилища BLOB-объектов Azure в Automation PowerShell - PullRequest
0 голосов
/ 24 октября 2018

Попытка выяснить, как прочитать файл XML из общедоступного хранилища больших двоичных объектов.

Когда у меня есть XML в моем скрипте powershell, я смог ссылаться на него следующим образом:

[xml]$xml = @"
<?xml version="1.0"?>
<PublicSubnets>
<Subnet>1.2.3.0/24</Subnet>
<Subnet>2.3.4.0/24</Subnet>
<Subnet>192.168.1.0/24</Subnet>
<Subnet>10.0.0.0/8</Subnet>
</PublicSubnets>
"@

foreach ($subnet in $xml.PublicSubnets.Subnet)
{
$subnet
}

Это напечатало бы четыре подсети.

Я пытаюсь поместить этот XML в отдельный документ XML, который хранится в общедоступном хранилище больших двоичных объектов.Пример: https://teststorage.blob.core.windows.net/automation/Subnet.xml

Таким образом, в основном я искал ту же функциональность, что и я, с XML, включенным в сценарий, но искал XML для внешнего размещения (я удалил первую и последнюю строку XML - "[xml] $ xml = @ "" и "" @ "

1 Ответ

0 голосов
/ 24 октября 2018

Создайте токен SAS для BLOB-объекта, захватите токен URI и SAS и поместите их в переменные $ XmlBlobUrl (Uri XML-объекта Blob) и $ SASToken (строка запроса токена SAS)

$XmlBlobUrl = "https://BlobStorageAccount.blob.core.windows.net/subnets.xml"
$SASToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
$Url = $XmlBlobUrl + $SASToken
$Subnets = @()

[xml]$xml = Invoke-WebRequest $Url | Select-Object -Expand Content

foreach ($subnet in $xml.PublicSubnets.Subnet) {
    $Subnets += $Subnet
}

$Subnets
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...