Private/Copy-Binaries.ps1

function Copy-Binaries {
    param(
        $Destination
    )
    $ErrorActionPreference = "Stop"
    $destContext = New-AzStorageContext -StorageAccountName $Destination
    
    try { New-AzStorageContainer -Name "unified-contacts" -Context $destContext -Permission Blob }
    catch { 
        #fall throug
    }
    $releaseChannel = Get-DefaultReleaseChannel
    Start-AzStorageBlobCopy -AbsoluteUri $releaseChannel.latestVersionRef -DestContainer "unified-contacts" -DestBlob "binaries.zip" -DestContext $destContext -Force | Out-Null
}

function Get-DefaultReleaseChannel {
    $response = Invoke-WebRequest -Uri "https://unifiedcontacts.blob.core.windows.net/unified-contacts-releases/version.json" -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]
}