There isn't a way to do this through the portal, but it can be done through either the Azure Management REST API or the CLI using the az rest command as long as you have sufficient permissions. Here's a CLI script that retrieves all the API connections using a gateway and the Logic Apps connected to them. You need to add the name of your gateway from your Azure account. If you want to pull the data from all subscriptions, uncomment the part that loops through your subs (lines 56-60) and comment out the lines that run just your default subscription (63-65).
#az login
$gatewayName = ""
$connectionList = New-Object -TypeName "System.Collections.ArrayList"
$appList = New-Object -TypeName "System.Collections.ArrayList"
function Get-Apps {
param( [object]$sub )
"Getting Logic Apps"
$logicAppUri = "/subscriptions/"+ $sub.id +"/providers/Microsoft.Logic/workflows?api-version=2019-05-01"
$results = az rest --method get --uri $logicAppUri | convertfrom-json
$apps = $results.value
$apps.Count.ToString() + " logic apps found"
$apps | ForEach-Object {
$val = $_
$val | Add-Member -MemberType NoteProperty -Name connectionIds -value (New-object System.Collections.Arraylist)
$_.properties.parameters.'$connections'.value.PSObject.Properties | ForEach-Object {if($_.Value.connectionId -ne $null) {
$val.connectionIds.Add($_.Value.connectionId)
}
}}
foreach($match in $connectionList) {
"Checking connection " + $match.name
$matches = $apps | Where-Object { $_.connectionIds -eq $match.id}
$matches
if($matches -is [array]) {
$matches.Count.ToString() + " app matches found"
$appList.AddRange($matches)
}
elseif($matches -ne $null) {
"1 app match found"
$appList.Add($matches)
}
}
}
function Check-Connections {
param( [object]$sub )
"checking " + $sub.name
$uri = "/subscriptions/" + $sub.id + "/providers/Microsoft.Web/connections?api-version=2018-07-01-preview"
$connections = az rest --method get --uri $uri --only-show-errors | convertfrom-json
$connections.value.Count.ToString() + " connections found"
$matches = $connections.value | Where-Object { $_.properties.parameterValues.gateway.name -eq $gatewayName}
if($matches -is [array]) {
$matches.Count.ToString() + " connection matches found"
$connectionList.AddRange($matches)
}
elseif($matches -ne $null) {
"1 connection match found"
$connectionList.Add($matches)
}
}
### Run all subs
#$subscriptions = az account list | convertfrom-json
#foreach ($sub in $subscriptions) {
# Check-Connections $sub
# Get-Apps $sub
# }
###run single sub
$sub = az account show | convertfrom-json
Check-Connections $sub
Get-Apps $sub
"--------"
"Results:"
"--------"
"Connections:"
$connectionList | Select-Object -Property name
"Apps:"
$appList | Select-Object -Property name