Konfigurowanie ról usług w chmurze platformy Azure przy użyciu programu Visual Studio

Uwaga

Ten artykuł dotyczy usług Azure Cloud Services (wersja klasyczna), która jest obecnie przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. Istniejące usługi utworzone za pomocą tej technologii są nadal obsługiwane za pośrednictwem usług Azure Cloud Services (wsparcie dodatkowe). W przypadku nowego programowania zalecamy użycie nowszego typu usługi przeznaczonego do określonego celu, takiego jak aplikacja systemu Azure Service, Azure Functions lub Azure Container Apps. Aby uzyskać najnowszą listę dostępnych usług, zobacz Katalog produktów platformy Azure.

Usługa w chmurze platformy Azure może mieć co najmniej jedną rolę procesu roboczego lub internetowego. Dla każdej roli należy zdefiniować sposób konfigurowania tej roli, a także skonfigurować sposób działania tej roli.

Informacje dotyczące usługi w chmurze są przechowywane w następujących plikach:

  • ServiceDefinition.csdef — plik definicji usługi definiuje ustawienia czasu wykonywania dla usługi w chmurze, w tym wymagane role, punkty końcowe i rozmiar maszyny wirtualnej. Żadna z danych przechowywanych w programie ServiceDefinition.csdef nie może zostać zmieniona, gdy rola jest uruchomiona.
  • ServiceConfiguration.cscfg — plik konfiguracji usługi konfiguruje, ile wystąpień roli jest uruchamianych, oraz wartości ustawień zdefiniowanych dla roli. Dane przechowywane w programie ServiceConfiguration.cscfg można zmienić, gdy rola jest uruchomiona.

Aby przechowywać różne wartości ustawień, które kontrolują sposób uruchamiania roli, można zdefiniować wiele konfiguracji usługi. Dla każdego środowiska wdrażania można użyć innej konfiguracji usługi. Możesz na przykład ustawić konto magazynu parametry połączenia użyć lokalnego emulatora usługi Azure Storage w konfiguracji usługi lokalnej i utworzyć inną konfigurację usługi do korzystania z usługi Azure Storage w chmurze.

Podczas tworzenia usługi w chmurze platformy Azure w programie Visual Studio dwie konfiguracje usługi są tworzone automatycznie i dodawane do projektu platformy Azure:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Wymagania wstępne

Konfigurowanie usługi w chmurze platformy Azure

Usługę w chmurze platformy Azure można skonfigurować z poziomu Eksplorator rozwiązań w programie Visual Studio, jak pokazano w poniższych krokach:

  1. Utwórz lub otwórz projekt usługi w chmurze platformy Azure w programie Visual Studio.

  2. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt, a następnie z menu kontekstowego wybierz pozycję Właściwości.

    Solution Explorer project context menu

  3. Na stronie właściwości projektu wybierz kartę Programowanie .

    Project properties page - development tab

  4. Na liście Konfiguracja usługi wybierz nazwę konfiguracji usługi, którą chcesz edytować. (Jeśli chcesz wprowadzić zmiany we wszystkich konfiguracjach usługi dla tej roli, wybierz pozycję Wszystkie konfiguracje).

    Ważne

    Jeśli wybierzesz określoną konfigurację usługi, niektóre właściwości są wyłączone, ponieważ można je ustawić tylko dla wszystkich konfiguracji. Aby edytować te właściwości, musisz wybrać pozycję Wszystkie konfiguracje.

    Service Configuration list for an Azure cloud service

Zmienianie liczby wystąpień ról

Aby zwiększyć wydajność usługi w chmurze, możesz zmienić liczbę uruchomionych wystąpień roli na podstawie liczby użytkowników lub oczekiwanego obciążenia dla określonej roli. Oddzielna maszyna wirtualna jest tworzona dla każdego wystąpienia roli, gdy usługa w chmurze działa na platformie Azure. Ma to wpływ na rozliczenia dotyczące wdrożenia tej usługi w chmurze. Aby uzyskać więcej informacji na temat rozliczeń, zobacz Omówienie rachunku za korzystanie z platformy Microsoft Azure.

  1. Utwórz lub otwórz projekt usługi w chmurze platformy Azure w programie Visual Studio.

  2. W Eksplorator rozwiązań rozwiń węzeł projektu. W węźle Role kliknij prawym przyciskiem myszy rolę, którą chcesz zaktualizować, a następnie z menu kontekstowego wybierz polecenie Właściwości.

    Solution Explorer Azure role context menu

  3. Wybierz kartę Konfiguracja.

    Configuration tab

  4. Na liście Konfiguracja usługi wybierz konfigurację usługi, którą chcesz zaktualizować.

    Service Configuration list 1

  5. W polu tekstowym Liczba wystąpień wprowadź liczbę wystąpień, które chcesz uruchomić dla tej roli. Każde wystąpienie jest uruchamiane na oddzielnej maszynie wirtualnej podczas publikowania usługi w chmurze na platformie Azure.

    Updating the Instance Count

  6. Na pasku narzędzi programu Visual Studio wybierz pozycję Zapisz.

Zarządzanie parametry połączenia dla kont magazynu

Konfiguracje usługi można dodawać, usuwać lub modyfikować parametry połączenia. Na przykład możesz chcieć użyć lokalnego parametry połączenia dla konfiguracji usługi lokalnej, która ma wartość UseDevelopmentStorage=true. Możesz również skonfigurować konfigurację usługi w chmurze, która używa konta magazynu na platformie Azure.

Ostrzeżenie

Po wprowadzeniu informacji o kluczu konta usługi Azure Storage dla konta magazynu parametry połączenia te informacje są przechowywane lokalnie w pliku konfiguracji usługi. Jednak te informacje nie są obecnie przechowywane jako zaszyfrowany tekst.

Używając innej wartości dla każdej konfiguracji usługi, nie musisz używać różnych parametry połączenia w usłudze w chmurze ani modyfikować kodu podczas publikowania usługi w chmurze na platformie Azure. Możesz użyć tej samej nazwy dla parametry połączenia w kodzie, a wartość jest inna, na podstawie konfiguracji usługi wybranej podczas kompilowania usługi w chmurze lub publikowania.

  1. Utwórz lub otwórz projekt usługi w chmurze platformy Azure w programie Visual Studio.

  2. W Eksplorator rozwiązań rozwiń węzeł projektu. W węźle Role kliknij prawym przyciskiem myszy rolę, którą chcesz zaktualizować, a następnie z menu kontekstowego wybierz polecenie Właściwości.

    Solution Explorer Azure role context menu

  3. Wybierz kartę Ustawienia.

    Settings tab

  4. Na liście Konfiguracja usługi wybierz konfigurację usługi, którą chcesz zaktualizować.

    Service Configuration

  5. Aby dodać parametry połączenia, wybierz pozycję Dodaj ustawienie.

    Add connection string

  6. Po dodaniu nowego ustawienia do listy zaktualizuj wiersz na liście przy użyciu niezbędnych informacji.

    New connection string

    • Nazwa — wprowadź nazwę, której chcesz użyć dla parametry połączenia.
    • Typ — wybierz pozycję ciąg Połączenie ion z listy rozwijanej.
    • Wartość — możesz wprowadzić parametry połączenia bezpośrednio w komórce Value lub wybrać wielokropek (...) do pracy w oknie dialogowym Tworzenie ciągu Połączenie ion magazynu.
  7. W oknie dialogowym Tworzenie ciągu Połączenie ion magazynu wybierz opcję Połączenie using. Następnie postępuj zgodnie z instrukcjami dotyczącymi wybranej opcji:

    • Emulator usługi Microsoft Azure Storage — jeśli wybierzesz tę opcję, pozostałe ustawienia w oknie dialogowym zostaną wyłączone, ponieważ mają zastosowanie tylko do platformy Azure. Wybierz przycisk OK.
    • Twoja subskrypcja — jeśli wybierzesz tę opcję, użyj listy rozwijanej, aby wybrać i zalogować się do konta Microsoft lub dodać konto Microsoft. Wybierz subskrypcję platformy Azure i konto magazynu. Wybierz przycisk OK.
    • Ręcznie wprowadzone poświadczenia — wprowadź nazwę konta magazynu i klucz podstawowy lub drugi. Wybierz opcję Połączenie ion (protokół HTTPS jest zalecany w przypadku większości scenariuszy). Wybierz przycisk OK.
  8. Aby usunąć parametry połączenia, wybierz parametry połączenia, a następnie wybierz pozycję Usuń ustawienie.

  9. Na pasku narzędzi programu Visual Studio wybierz pozycję Zapisz.

Programowy dostęp do parametry połączenia

W poniższych krokach pokazano, jak programowo uzyskać dostęp do parametry połączenia przy użyciu języka C#.

  1. Dodaj następujące dyrektywy using do pliku C#, w którym będzie używane ustawienie:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Poniższy kod ilustruje przykład sposobu uzyskiwania dostępu do parametry połączenia. Zastąp <symbol zastępczy Połączenie ionStringName> odpowiednią wartością.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Dodawanie ustawień niestandardowych do użycia w usłudze w chmurze platformy Azure

Ustawienia niestandardowe w pliku konfiguracji usługi umożliwiają dodanie nazwy i wartości ciągu dla określonej konfiguracji usługi. Możesz użyć tego ustawienia, aby skonfigurować funkcję w usłudze w chmurze, odczytując wartość ustawienia i używając tej wartości do kontrolowania logiki w kodzie. Możesz zmienić te wartości konfiguracji usługi bez konieczności ponownego kompilowania pakietu usługi lub uruchamiania usługi w chmurze. Kod może sprawdzać powiadomienia o zmianie ustawienia. Aby uzyskać więcej informacji, zobacz RoleEnvironment.Changing Event(Zmienianie zdarzenia).

Możesz dodawać, usuwać lub modyfikować ustawienia niestandardowe dla konfiguracji usługi. Możesz chcieć użyć różnych wartości dla tych ciągów dla różnych konfiguracji usługi.

Używając innej wartości dla każdej konfiguracji usługi, nie musisz używać różnych ciągów w usłudze w chmurze ani modyfikować kodu podczas publikowania usługi w chmurze na platformie Azure. Możesz użyć tej samej nazwy dla ciągu w kodzie, a wartość jest inna w zależności od konfiguracji usługi wybranej podczas kompilowania usługi w chmurze lub publikowania.

  1. Utwórz lub otwórz projekt usługi w chmurze platformy Azure w programie Visual Studio.

  2. W Eksplorator rozwiązań rozwiń węzeł projektu. W węźle Role kliknij prawym przyciskiem myszy rolę, którą chcesz zaktualizować, a następnie z menu kontekstowego wybierz polecenie Właściwości.

    Solution Explorer Azure role context menu

  3. Wybierz kartę Ustawienia.

    Settings tab

  4. Na liście Konfiguracja usługi wybierz konfigurację usługi, którą chcesz zaktualizować.

    Service Configuration list 2

  5. Aby dodać ustawienie niestandardowe, wybierz pozycję Dodaj ustawienie.

    Add custom setting

  6. Po dodaniu nowego ustawienia do listy zaktualizuj wiersz na liście przy użyciu niezbędnych informacji.

    New custom setting

    • Nazwa — wprowadź nazwę ustawienia.
    • Typ — wybierz pozycję Ciąg z listy rozwijanej.
    • Wartość — wprowadź wartość ustawienia. Możesz wprowadzić wartość bezpośrednio w komórce Wartość lub wybrać wielokropek (...) , aby wprowadzić wartość w oknie dialogowym Edytowanie ciągu .
  7. Aby usunąć ustawienie niestandardowe, wybierz ustawienie, a następnie wybierz pozycję Usuń ustawienie.

  8. Na pasku narzędzi programu Visual Studio wybierz pozycję Zapisz.

Programowy dostęp do wartości ustawienia niestandardowego

W poniższych krokach pokazano, jak programowo uzyskać dostęp do ustawienia niestandardowego przy użyciu języka C#.

  1. Dodaj następujące dyrektywy using do pliku C#, w którym będzie używane ustawienie:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Poniższy kod ilustruje przykład sposobu uzyskiwania dostępu do ustawienia niestandardowego. Zastąp <symbol zastępczy SettingName> odpowiednią wartością.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Zarządzanie magazynem lokalnym dla każdego wystąpienia roli

Możesz dodać lokalny magazyn systemu plików dla każdego wystąpienia roli. Dane przechowywane w tym magazynie nie są dostępne dla innych wystąpień roli, dla której są przechowywane dane lub przez inne role.

  1. Utwórz lub otwórz projekt usługi w chmurze platformy Azure w programie Visual Studio.

  2. W Eksplorator rozwiązań rozwiń węzeł projektu. W węźle Role kliknij prawym przyciskiem myszy rolę, którą chcesz zaktualizować, a następnie z menu kontekstowego wybierz polecenie Właściwości.

    Solution Explorer Azure role context menu

  3. Wybierz kartę Magazyn lokalny.

    Local storage tab

  4. Upewnij się, że na liście Konfiguracja usługi wybrano opcję Wszystkie konfiguracje, ponieważ ustawienia magazynu lokalnego mają zastosowanie do wszystkich konfiguracji usługi. Każda inna wartość powoduje wyłączenie wszystkich pól wejściowych na stronie.

    Service Configuration list 3

  5. Aby dodać wpis magazynu lokalnego, wybierz pozycję Dodaj magazyn lokalny.

    Add local storage

  6. Po dodaniu nowego wpisu magazynu lokalnego do listy zaktualizuj wiersz na liście przy użyciu niezbędnych informacji.

    New local storage entry

    • Nazwa — wprowadź nazwę, której chcesz użyć dla nowego magazynu lokalnego.
    • Rozmiar (MB) — wprowadź rozmiar w MB, który jest potrzebny dla nowego magazynu lokalnego.
    • Wyczyść w koszu roli — wybierz tę opcję, aby usunąć dane w nowym magazynie lokalnym, gdy maszyna wirtualna dla roli zostanie odzyskana.
  7. Aby usunąć wpis magazynu lokalnego, wybierz wpis, a następnie wybierz pozycję Usuń magazyn lokalny.

  8. Na pasku narzędzi programu Visual Studio wybierz pozycję Zapisz.

Programowe uzyskiwanie dostępu do magazynu lokalnego

W tej sekcji pokazano, jak programowo uzyskać dostęp do magazynu lokalnego przy użyciu języka C#, pisząc testowy plik MyLocalStorageTest.txttekstowy .

Zapisywanie pliku tekstowego w magazynie lokalnym

Poniższy kod przedstawia przykład pisania pliku tekstowego w magazynie lokalnym. Zastąp <symbol zastępczy LocalStorageName> odpowiednią wartością.

// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

Znajdowanie pliku zapisanego w magazynie lokalnym

Aby wyświetlić plik utworzony przez kod w poprzedniej sekcji, wykonaj następujące kroki:

  1. W obszarze powiadomień systemu Windows kliknij prawym przyciskiem myszy ikonę platformy Azure, a następnie z menu kontekstowego wybierz pozycję Pokaż interfejs użytkownika emulatora obliczeniowego.

    Show Azure compute emulator

  2. Wybierz rolę internetową.

    Azure compute emulator

  3. W menu Emulator obliczeń platformy Microsoft Azure wybierz pozycję Narzędzia>Otwórz sklep lokalny.

    Open local store menu item

  4. Po otwarciu okna Eksploratora Windows wprowadź ciąg "MyLocalStorageTest.txt" w polu tekstowym Wyszukaj , a następnie wybierz klawisz Enter , aby rozpocząć wyszukiwanie.

Dowiedz się więcej o projektach platformy Azure w programie Visual Studio, czytając artykuł Configuring an Azure Project (Konfigurowanie projektu platformy Azure). Dowiedz się więcej o schemacie usługi w chmurze, czytając dokumentację schematu.