source

Azure 지역을 모두 나열할 수 있는 API가 있습니까?

manycodes 2023. 5. 16. 22:46
반응형

Azure 지역을 모두 나열할 수 있는 API가 있습니까?

저는 일부 API를 통해 모든 Azure 위치를 나열하고 싶습니다(모든 지역에 대한 구성 파일을 생성해야 하며 오타를 방지하기 위해 Azure가 수행하는 정확한 이름을 사용해야 합니다). 질문을 찾았지만 특정 구독이 사용할 수 있는 지역만 나열됩니다.

구독에 액세스할 수 있는지 여부에 관계없이 존재하는 모든 지역을 나열하려고 합니다.

az account list-locations -o table

다음과 같은 표를 제공합니다.

DisplayName               Name                 RegionalDisplayName
------------------------  -------------------  -------------------------------------
East US                   eastus               (US) East US
East US 2                 eastus2              (US) East US 2
South Central US          southcentralus       (US) South Central US
West US 2                 westus2              (US) West US 2
Australia East            australiaeast        (Asia Pacific) Australia East
Southeast Asia            southeastasia        (Asia Pacific) Southeast Asia
North Europe              northeurope          (Europe) North Europe
UK South                  uksouth              (Europe) UK South
West Europe               westeurope           (Europe) West Europe
Central US                centralus            (US) Central US
North Central US          northcentralus       (US) North Central US
West US                   westus               (US) West US
South Africa North        southafricanorth     (Africa) South Africa North
Central India             centralindia         (Asia Pacific) Central India
East Asia                 eastasia             (Asia Pacific) East Asia
Japan East                japaneast            (Asia Pacific) Japan East
JIO India West            jioindiawest         (Asia Pacific) JIO India West
Korea Central             koreacentral         (Asia Pacific) Korea Central
Canada Central            canadacentral        (Canada) Canada Central
France Central            francecentral        (Europe) France Central
Germany West Central      germanywestcentral   (Europe) Germany West Central
Norway East               norwayeast           (Europe) Norway East
Switzerland North         switzerlandnorth     (Europe) Switzerland North
UAE North                 uaenorth             (Middle East) UAE North
Brazil South              brazilsouth          (South America) Brazil South
Central US (Stage)        centralusstage       (US) Central US (Stage)
East US (Stage)           eastusstage          (US) East US (Stage)
East US 2 (Stage)         eastus2stage         (US) East US 2 (Stage)
North Central US (Stage)  northcentralusstage  (US) North Central US (Stage)
South Central US (Stage)  southcentralusstage  (US) South Central US (Stage)
West US (Stage)           westusstage          (US) West US (Stage)
West US 2 (Stage)         westus2stage         (US) West US 2 (Stage)
Asia                      asia                 Asia
Asia Pacific              asiapacific          Asia Pacific
Australia                 australia            Australia
Brazil                    brazil               Brazil
Canada                    canada               Canada
Europe                    europe               Europe
Global                    global               Global
India                     india                India
Japan                     japan                Japan
United Kingdom            uk                   United Kingdom
United States             unitedstates         United States
East Asia (Stage)         eastasiastage        (Asia Pacific) East Asia (Stage)
Southeast Asia (Stage)    southeastasiastage   (Asia Pacific) Southeast Asia (Stage)
Central US EUAP           centraluseuap        (US) Central US EUAP
East US 2 EUAP            eastus2euap          (US) East US 2 EUAP
West Central US           westcentralus        (US) West Central US
West US 3                 westus3              (US) West US 3
South Africa West         southafricawest      (Africa) South Africa West
Australia Central         australiacentral     (Asia Pacific) Australia Central
Australia Central 2       australiacentral2    (Asia Pacific) Australia Central 2
Australia Southeast       australiasoutheast   (Asia Pacific) Australia Southeast
Japan West                japanwest            (Asia Pacific) Japan West
Korea South               koreasouth           (Asia Pacific) Korea South
South India               southindia           (Asia Pacific) South India
West India                westindia            (Asia Pacific) West India
Canada East               canadaeast           (Canada) Canada East
France South              francesouth          (Europe) France South
Germany North             germanynorth         (Europe) Germany North
Norway West               norwaywest           (Europe) Norway West
Switzerland West          switzerlandwest      (Europe) Switzerland West
UK West                   ukwest               (Europe) UK West
UAE Central               uaecentral           (Middle East) UAE Central
Brazil Southeast          brazilsoutheast      (South America) Brazil Southeast

Get-AzureRMLocation계정/ 테넌트/구독을 실행할 위치 목록이 표시됩니다.

아래 답변에서, 이것은 Azure PS의 최신 버전과 완벽하게 작동합니다!

Get-AzLocation | select DisplayName, Location | Format-Table

이것은 오래된 질문이며 이미 승인된 답변을 가지고 있습니다.그러나 Azure 모듈에는 변경 사항이 거의 없으므로 최신 명령을 여기에 추가합니다.

위치에 대한 API가 아직 존재하지 않는 것 같습니다.그러나 Powershell Az 모듈의 최신 버전을 사용하면 위치를 가져올 수 있습니다.

Get-AzLocation | select DisplayName, Location | Format-Table

이렇게 하면 필요한 속성을 선택하고 출력 형식을 표 형식으로 지정할 수 있습니다.AZ CLI 명령은 여전히 위와 동일하게 유지됩니다.

powershell 스크립트를 사용하여 가능한 해결책은 URL: https://azure.microsoft.com/en-us/regions/ 에서 응답을 구문 분석하는 것입니다.이것을 이용하여, 당신은 새로 발표된 지역에 대한 정보를 얻을 수 있습니다.

Java 또는 C#을 사용해도 괜찮다면 아래 솔루션도 유용합니다.

  1. java의 지역 목록의 경우 maven의 의존성은 https://github.com/Azure/azure-libraries-for-java/tree/master/azure-mgmt-resources 에 있는 zure-mgmt-dll입니다.설명서: https://azure.github.io/azure-sdk-for-java/com/microsoft/azure/management/resources/fluentcore/arm/Region.html

  2. c#을 사용하는 경우 nuget의 종속성은 Microsoft입니다.애저. 매니지먼트.리소스 관리자.유창합니다. 참고로 소스 코드 URL: https://github.com/Azure/azure-libraries-for-net/blob/master/src/ResourceManagement/ResourceManager/Region.cs

저는 Azure에 인증할 필요 없이 Azure 지역을 얻을 수 있는 방법을 알아보다가 우연히 이 스레드를 발견했습니다.@girip11의 응답과 유사하게, 저는 공개 Azure 문서를 기반으로 구축해 왔습니다.다음은 데이터를 가져오는 파이썬 스크립트입니다.

import requests
import pandas as pd
from re import search


def list_azure_regions():
    url = 'https://azure.microsoft.com/en-us/explore/global-infrastructure/geographies/'
    html = requests.get(url).content
    df_list = pd.read_html(html)

    regions_list = []
    locations_list = []

    for df in df_list:
        for dc in list(df):
            if search('Regions', dc):
                pass
            else:
                if search('Coming soon', dc):
                    state = 'planned'
                else:
                    state = 'active'

                location = df[dc][0]
                region = dc.removesuffix('  Start free')
                region = region.removesuffix('  Get started')
                region = region.removesuffix('  Coming soon')
                if region in regions_list:
                    pass
                else:
                    regions_list.append(region)
                    locations_list.append(
                        dict({
                            'display_name': region,
                            'name': region.replace(' ','').lower(),
                            'location': location,
                            'state': state
                        })
                    )

    return locations_list

azure_regions = list_azure_regions()
print(azure_regions)

는 스립트유응반환다니합답을형의 유형의 응답을 반환합니다.<class 'list'>필요하다면 좀 더 읽기 쉬운 것으로 변환할 수도 있습니다.Windows에서 실행되는 경우 I.E:

> python .\get-azure-regions.py | ConvertFrom-Json

display_name         name               location        state
------------         ----               --------        -----
East Asia            eastasia           Hong Kong       active
Southeast Asia       southeastasia      Singapore       active
Australia Central    australiacentral   Canberra        active
Australia East       australiaeast      New South Wales active
Australia Southeast  australiasoutheast Victoria        active
China East           chinaeast          Shanghai        active
China East 2         chinaeast2         Shanghai        active
China North          chinanorth         Beijing         active
China North 2        chinanorth2        Beijing         active
China North 3        chinanorth3        Hebei           active
Central India        centralindia       Pune            active
India South Central  indiasouthcentral  Hyderabad       active
South India          southindia         Chennai         active
Indonesia Central    indonesiacentral   Jakarta         planned
Japan East           japaneast          Tokyo, Saitama  active
Japan West           japanwest          Osaka           active
Korea Central        koreacentral       Seoul           active
Malaysia West        malaysiawest       Kuala Lumpur    planned
New Zealand North    newzealandnorth    Auckland        planned
Taiwan North         taiwannorth        Taipei          planned
Austria East         austriaeast        Vienna          planned
Belgium Central      belgiumcentral     Brussels        active
...

다음 REST API를 사용할 수 있습니다. https://management.azure.com/subscriptions/**YOUR_SUBSCRIPTION_ID**/providers?api -version=2020-10-01

참조:

그러나 PowerShell 및 AZ 명령줄과 마찬가지로 지정된 구독에서 사용할 수 있는 데이터 센터 영역만 표시됩니다.

언급URL : https://stackoverflow.com/questions/44143981/is-there-an-api-to-list-all-azure-regions

반응형