Private/Copy-Binaries.ps1
function Copy-Binaries { param( $Destination ) $ErrorActionPreference = "Stop" $destContext = New-AzStorageContext -StorageAccountName $Destination try { New-AzStorageContainer -Name $Script:destinationContainer -Context $destContext -Permission Blob } catch { #fall throug } $releaseChannel = Get-DefaultReleaseChannel Start-AzStorageBlobCopy -AbsoluteUri $releaseChannel.latestVersionRef -DestContainer $Script:destinationContainer -DestBlob $Script:destinationBlob -DestContext $destContext -Force | Out-Null } function Get-DefaultReleaseChannel { $response = Invoke-WebRequest -Uri $Script:versionManifesUri -UseBasicParsing if ($response.StatusCode -lt 200 -or $response.StatusCode -ge 300) { throw "Could not accquire versionManifest" } $versionManifest = $response.Content | ConvertFrom-Json $defaultChannels = [array] $versionManifest.channels | Where-Object { $_.default } if ($defaultChannels.Count -eq 0) { throw "No default channel found" } if ($defaultChannels.Count -ge 2) { Write-Warning "Multiple default channels found" } return $defaultChannels[0] } |