簡體   English   中英

資源組中存在資源

[英]Existence of a resource within a resource group

如何檢查資源組中是否存在快速路由。 我有資源組列表,但並非所有資源組中都有快速路由。 檢查每個資源組內部是否有快速路由需要寫什么條件

rgList ==> 特定訂閱中所有資源組的列表

erList ==> 特定訂閱中所有快速路由的列表

rgList="$(az group list --subscription "sub1" --query [].name --output tsv)"
erList="$(az network express-route list --subscription "sub1" --query [].name --output tsv)"
for i in $rgList; do
    if [[ $(az network express-route list -g "$i" --subscription "sub-network-central-services" --query "[].name | length(@))" > 0 ]]
    then
        for j in $erList; do
            hubname+="$(az network express-route auth list --circuit-name "$j" --resource-group "$i" --query [].authorizations[].name --output tsv)"
        done
    fi
done

我收到以下錯誤bash:意外標記“完成”附近出現語法錯誤

如上所述,是的,在我們的本地環境中進行測試時存在一些語法錯誤,我們已經修復了這些錯誤並且我們也修改了上述腳本。

修改后的腳本將提取授權名稱和快速路由電路名稱。

如果要獲取具有快速路由電路的資源組列表,可以直接參考我的解決方案中的替代腳本

這是修改后的 Bash 腳本:

hubname=""
rglist=$(az group list --subscription "<subNameorSubId>" --query [].name --output tsv)
erList=$(az network express-route list --subscription "<subNameorSubId>" --query [].name --output tsv)
for i in $rglist;
do
if [[ $(az network express-route list -g $i --subscription "<subNameorSubId>" --query "[].name | length(@)") > 0 ]]
    then
        for j in $erList;
        do
             hubname+=$(az network express-route auth list --circuit-name $j --resource-group $i --query [].name --output tsv)
             echo $j,$hubname
        done
    fi
done

這是示例 output 的屏幕截圖供參考:

在此處輸入圖像描述

或者,您可以使用下面的 bash 腳本,如果其中存在快速路由電路,這將為您提供資源組列表。

替代腳本:

 rgList=$(az group list --subscription "<SubNameorSubId>" --query [].name --output tsv)
    for i in $rgList;do
        resourcelist=$(az resource list -g $i --query [].type -o tsv)
        for j in $resourcelist;do
            if [[ $j ==  "Microsoft.Network/expressRouteCircuits" ]]
            then
                echo $i
            fi
        done
    done

這是供參考的樣品Output:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM