Udostępnij za pomocą


Samouczek: Połączenie aplikacji sieciowej z usługą Azure App Configuration za pomocą łącznika usługi

Dowiedz się, jak połączyć aplikację ASP.NET Core działającą w usłudze Azure App Service z usługą Azure App Configuration przy użyciu jednej z następujących metod:

  • Tożsamość zarządzana przypisana przez system (SMI)
  • Tożsamość zarządzana przypisana przez użytkownika (UMI)
  • Główna usługa
  • Łańcuch połączenia

W tym samouczku użyj interfejsu wiersza polecenia platformy Azure, aby wykonać następujące zadania:

  • Konfigurowanie zasobów platformy Azure
  • Tworzenie połączenia między aplikacją internetową a usługą App Configuration
  • Kompilowanie i wdrażanie aplikacji w usłudze Azure App Service

Prerequisites

Zaloguj się do Azure

Uruchom polecenie az login w interfejsie wiersza polecenia platformy Azure, aby zalogować się na platformie Azure.

Konfigurowanie zasobów platformy Azure

Zacznij od utworzenia zasobów platformy Azure.

  1. Sklonuj następujące przykładowe repozytorium:

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
    
  2. Wdróż aplikację internetową na platformie Azure.

    Wykonaj następujące kroki, aby utworzyć usługę App Service i wdrożyć przykładową aplikację. Upewnij się, że masz rolę subskrypcji Współautor lub Właściciel.

    Utwórz usługę app service i wdróż przykładową aplikację, która używa przypisanej przez system tożsamości zarządzanej do interakcji z konfiguracją aplikacji.

    # Change directory to the SMI sample
    cd serviceconnector-webapp-appconfig-dotnet\system-managed-identity
    
    # Create a web app
    
    LOCATION='eastus'
    RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
    APP_SERVICE_NAME='webapp-appconfig-smi'
    
    az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
    
    Parameter Description Example
    Location Wybierz lokalizację w pobliżu. Użyj polecenia az account list-locations --output table , aby wyświetlić listę lokalizacji. eastus
    Nazwa grupy zasobów Użyj tej grupy zasobów, aby zorganizować wszystkie zasoby platformy Azure potrzebne do ukończenia tego samouczka. service-connector-tutorial-rg
    Nazwa usługi App Service Nazwa usługi app Service jest używana jako nazwa zasobu na platformie Azure i do utworzenia w pełni kwalifikowanej nazwy domeny dla aplikacji w postaci punktu końcowego serwera. Dozwolone znaki to A-Z, 0-9i .- Platforma Azure dołącza losowy ciąg, aby punkt końcowy serwera był unikatowy dla całej platformy Azure. webapp-appconfig-smi
  3. Utwórz magazyn usługi Azure App Configuration.

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create --resource-group $RESOURCE_GROUP_NAME --name $APP_CONFIG_NAME --sku Free --location eastus
    
  4. Zaimportuj plik konfiguracji testowej do usługi Azure App Configuration.

    Zaimportuj plik konfiguracji testowej do usługi Azure App Configuration przy użyciu przypisanej przez system tożsamości zarządzanej.

    1. Zmień katalogi na folder ServiceConnectorSample.

    2. Zaimportuj plik konfiguracji testu ./sampleconfigs.json do magazynu usługi App Configuration. Jeśli używasz usługi Cloud Shell, przekaż sampleconfigs.json przed uruchomieniem polecenia.

      az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
      

Łączenie aplikacji internetowej z usługą App Configuration

Utwórz połączenie między swoją aplikacją internetową a sklepem App Configuration.

Utwórz połączenie między aplikacją internetową a magazynem App Configuration, używając uwierzytelniania za pomocą tożsamości zarządzanej przypisanej przez system. To połączenie odbywa się za pośrednictwem łącznika usługi.

az webapp connection create appconfig --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME --app-config $APP_CONFIG_NAME --tg $RESOURCE_GROUP_NAME --connection "app_config_smi" --system-identity

system-identity odnosi się do typu uwierzytelniania tożsamości zarządzanej przypisanej przez system (SMI). Łącznik usługi obsługuje również następujące uwierzytelnianie: tożsamość zarządzana przypisana przez użytkownika (UMI), parametry połączenia (wpis tajny) i jednostka usługi.

Sprawdzanie poprawności połączenia

Aby sprawdzić, czy połączenie działa, przejdź do aplikacji internetowej. Najprostszym sposobem uzyskania dostępu do aplikacji internetowej jest otwarcie jej w portalu Azure. Na stronie Przegląd wybierz domenę domyślną. Po uruchomieniu witryny internetowej zostanie wyświetlony komunikat: Witaj. Aplikacja internetowa platformy Azure jest teraz połączona z usługą App Configuration by ServiceConnector.

Jak to działa

Dowiedz się, czym łącznik usługi zarządza w tle dla każdego typu uwierzytelniania.

Łącznik usługi zarządza konfiguracją połączenia:

  • Skonfiguruj aplikację AZURE_APPCONFIGURATION_ENDPOINT internetową, aby umożliwić aplikacji dostęp do niej i uzyskać punkt końcowy usługi App Configuration. Uzyskaj dostęp do przykładowego kodu.
  • Aktywuj zarządzane uwierzytelnianie przypisane przez system aplikacji internetowej i przyznaj usłudze App Configuration rolę Czytelnik danych, aby umożliwić aplikacji uwierzytelnianie w usłudze App Configuration przy użyciu opcji DefaultAzureCredential z poziomu usługi Azure.Identity. Uzyskaj dostęp do przykładowego kodu.

Aby uzyskać więcej informacji, zobacz Service Connector internals (Wewnętrzne elementy łącznika usługi).

Test (opcjonalnie)

Opcjonalnie wykonaj następujące testy:

  1. Zaktualizuj wartość klucza SampleApplication:Settings:Messages w sklepie App Configuration Store.

    az appconfig kv set --name <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. Przejdź do aplikacji internetowej platformy Azure zgodnie z wcześniejszym opisem i odśwież stronę. Zobaczysz, że komunikat został zaktualizowany do: hello.

Uprzątnij zasoby

Jeśli nie zamierzasz już używać tych zasobów platformy Azure, usuń je, uruchamiając az group delete polecenie . To polecenie usuwa grupę zasobów i wszystkie zasoby w niej.

az group delete --name <myResourceGroupName> --yes

Następny krok