Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł opisuje, jak stworzyć gotowy do uruchomienia pakiet wdrożenia .zip, wdrożyć go na Azure oraz skonfigurować aplikację funkcjonalną tak, aby działała bezpośrednio z tego pakietu. Możesz wdrażać za pomocą narzędzi Azure Functions Core, Azure CLI lub API REST do wdrożenia.
Wdrażanie na pakietach jest domyślnym dla aplikacji funkcyjnych działających na podstawie kodu. Technologia wdrożenia i konfiguracja pakietu zależą od planu hostingowego. Wybierz swój plan hostingowy na górze tego artykułu.
Azure Functions oferuje pełen zakres opcji ciągłego wdrażania i integracji, które oferuje Azure App Service. Aby uzyskać więcej informacji, zobacz Ciągłe wdrażanie dla usługi Azure Functions.
Wdrażanie pakietu według planu hostingowego
Poniższa tabela podsumowuje proces wdrażania oraz konfigurację pakietów dla każdego planu hostingowego:
| Plan hostingu | Proces wdrażania | Konfiguracja pakietu |
|---|---|---|
| Elastyczny Plan Konsumpcji | Wdrażanie zarządzanych pakietów | Domyślnie uruchamia się z wdrożonego pakietu. Nie ustawiaj wartości WEBSITE_RUN_FROM_PACKAGE. |
| Plan Premium | Wdrożenie ZIP | Ustaw WEBSITE_RUN_FROM_PACKAGE na 1, aby uruchamiać z wdrożonego pakietu. |
| Plan dedykowany (App Service) | Wdrożenie ZIP | Ustaw WEBSITE_RUN_FROM_PACKAGE na 1, aby uruchamiać z wdrożonego pakietu. |
| Plan konsumpcji na Windows | Wdrożenie ZIP | Ustaw WEBSITE_RUN_FROM_PACKAGE na 1, aby uruchamiać z wdrożonego pakietu. |
| Plan konsumpcji na Linuksie | Zdalne kompilowanie lub zewnętrzny adres URL pakietu | Użyj zewnętrznego adresu URL dla pakietu zbudowanego lokalnie. |
| Azure Container Apps | Wdrażanie obrazów kontenera | Wdrażanie kodu opartego na pakietach nie ma zastosowania. |
Note
Treść zawarta w tym artykule nie jest istotna dla obecnie wybranego planu hostingu. Aby wybrać inny plan, użyj selektora na górze tego artykułu. Aby porównać wszystkie plany hostingu, zobacz Opcje hostingu usługi Azure Functions.
Aplikacje funkcji hostowane w usłudze Azure Container Apps są wdrażane jako obrazy kontenerów, a nie pakiety .zip. Aby stworzyć i wdrożyć aplikację funkcyjną opartą na obrazach, zobacz: Stwórz aplikację funkcyjną w Azure Container Apps z użyciem kodu.
Stwórz pakiet wdrożeniowy
W większości przypadków nie musisz samodzielnie tworzyć pakietu wdrożenia. Te metody wdrożenia oparte na narzędziach tworzą pakiet jako część procesu publikowania:
- Polecenie programu Azure Functions Core Tools
func azure functionapp publish. - Publikowanie w Visual Studio Code.
- Visual Studio publishing.
- GitHub Actions deployment, który pakuje skonfigurowaną ścieżkę projektu.
Dla Azure Pipelines wdrożenia kroki budowy pipeline tworzą archiwum .zip i przekazują je do zadania wdrożeniowegoAzureFunctionApp.
Gdy musisz pracować bezpośrednio z gotowym do uruchomienia pakietem wdrożeniowym, stwórz go za pomocą func pack. Na przykład, utworz pakiet samodzielnie podczas wdrożenia, używając zewnętrznego adresu URL pakietu.
Możesz też ręcznie utworzyć archiwum .zip. Tworząc archiwum ręcznie, należy przestrzegać tych wymagań dotyczących struktury pakietu.
Wymagania dotyczące pakietów wdrożenia
Wdrożone archiwum zip musi zawierać wszystkie pliki potrzebne do uruchomienia aplikacji funkcji. Możesz ręcznie utworzyć archiwum zip z zawartości folderu projektu Funkcji przy użyciu wbudowanych funkcji kompresji .zip lub narzędzi innych niż Microsoft.
Archiwum musi zawierać plik host.json w katalogu głównym wyodrębnionego folderu. Wybrany stos języka dla aplikacji funkcji tworzy inne wymagania:
- .NET (izolowany model procesu roboczego)
- .NET (model wewnątrzprocesowy)
- Jawa
- JavaScript
- TypeScript
- PowerShell
- Pyton
Ważne
W przypadku języków, które wygenerowały skompilowane dane wyjściowe do wdrożenia, upewnij się, że skompresowano zawartość folderu wyjściowego, który planujesz opublikować, a nie cały folder projektu. Gdy funkcja wyodrębnia zawartość archiwum zip, host.json plik musi istnieć w katalogu głównym pakietu.
Proces wdrażania zip rozpakowuje pliki i foldery archiwum .zip w katalogu wwwroot . Jeśli podczas tworzenia archiwum dołączysz katalog nadrzędny, system nie znajduje plików, które powinien znaleźć w wwwroot.
Wdrożenie pakietu
Flex Consumption wykorzystuje wdrażanie pakietów do przechowywania gotowego do uruchomienia pakietu w kontenerze pamięci wdrożeniowej aplikacji. Aplikacja działa bezpośrednio z tego pakietu. Nie ustawiaj WEBSITE_RUN_FROM_PACKAGE ustawień aplikacji.
Wdroż pakiet, korzystając z Core Tools, Visual Studio Code lub Azure CLI. Narzędzia te automatycznie wybierają właściwe zachowanie wdrażania pakietów dla aplikacji Flex Consumption.
Narzędzia te wykonują wdrożenie push, wysyłając pakiet do punktu końcowego aplikacji. W przypadku Flex Consumption ci klienci wysyłają pakiet do /api/publish na hoście scm aplikacji. Gdy punkt wdrożenia jest dostępny tylko przez prywatny punkt końcowy, komputer, runner lub agent wykonujący wdrożenie musi mieć łączność sieciową oraz rozdzielanie DNS dla prywatnego endpointu wdrożenia. Usługa wdrożenia przechowuje przetworzony pakiet w skonfigurowanym kontenerze wdrożenia; bezpośrednie przesłanie pakietu do tego kontenera nie powoduje jego wdrożenia. Aby wdrożyć bez wysyłania z klienta inicjującego do punktu końcowego wdrożenia, użyj szablonu wdrożenia Bicep lub ARM z adresem pakietu, do którego usługa wdrożeniowa ma dostęp.
Wdrażanie przy użyciu interfejsu wiersza polecenia platformy Azure
Użyj az functionapp deployment source config-zip polecenia do wdrożenia pakietu:
az functionapp deployment source config-zip --resource-group <RESOURCE_GROUP> \
--name <APP_NAME> --src <ZIP_FILE_PATH>
Dodaj --build-remote true, gdy projekt źródłowy wymaga zdalnego kompilowania. Nie żądaj zdalnego kompilowania pakietu, który func pack został już zbudowany do postaci gotowej do uruchomienia, na przykład pakietu wdrożeniowego Go.
Aby skonfigurować pamięć wdrożenia lub odzyskać wcześniejsze wdrożenie, zobacz Tworzenie i zarządzanie aplikacjami funkcjonalnymi w planie Flex Consumption.
Wdrożenie pakietu
Aplikacje w planach Premium, Dedykowanym i Zużyciowym korzystają z interfejsu API wdrażania ZIP. Usługa wdrożenia wykonuje następujące działania:
- Usuń pliki, które pozostały z wcześniejszych wdrożeń.
- Uruchamiaj skrypty wdrożeniowe i inne modyfikacje wdrożenia.
- Zapisuj logi wdrożeń.
- Funkcja synchronizacji się uruchamia.
Ważne
W wdrożeniu zip pliki z poprzedniego wdrożenia są usuwane lub aktualizowane, gdy były częścią tego wdrożenia. Proces wdrożenia zachowuje inne pliki i katalogi w aplikacji Function, które nie były częścią poprzedniego wdrożenia. Szczegółowe informacje o implementacji można znaleźć w dokumentacji wdrażania ZIP.
Wdrażanie przy użyciu interfejsu wiersza polecenia platformy Azure
Użyj Azure CLI, aby wywołać wdrożenie push. Aby wypchnąć plik .zip do aplikacji funkcji, użyj polecenia az functionapp deployment source config-zip. Aby użyć tego polecenia, musisz użyć interfejsu wiersza polecenia platformy Azure w wersji 2.0.21 lub nowszej. Aby zobaczyć, której wersji Azure CLI używasz, skorzystaj z polecenia az --version.
W poniższym poleceniu zastąp <zip_file_path> symbol zastępczy ścieżką do lokalizacji pliku .zip. Również zastąp <app_name> unikatową nazwą swojej aplikacji funkcji i zastąp <resource_group> nazwą swojej grupy zasobów.
az functionapp deployment source config-zip -g <resource_group> -n \
<app_name> --src <zip_file_path>
To polecenie wdraża pliki projektowe z pliku .zip do aplikacji Function w Azure i restartuje aplikację.
Kiedy używasz interfejsu wiersza polecenia platformy Azure na swoim lokalnym komputerze, <zip_file_path> jest ścieżką do pliku .zip na komputerze. Możesz również uruchomić interfejs wiersza polecenia platformy Azure w usłudze Azure Cloud Shell. W przypadku korzystania z usługi Cloud Shell należy najpierw przekazać plik wdrożenia .zip do konta usługi Azure Files skojarzonego z usługą Cloud Shell. W takim przypadku lokalizacja magazynu używana przez konto usługi Cloud Shell to <zip_file_path>. Aby uzyskać więcej informacji, zobacz Utrwalanie plików w usłudze Azure Cloud Shell.
Wdrażanie pliku ZIP przy użyciu interfejsów API REST
Możesz użyć interfejsów API REST usługi wdrażania, aby wdrożyć plik .zip w swojej aplikacji na platformie Azure. Aby wdrożyć, wyślij żądanie POST do https://<app_name>.scm.azurewebsites.net/api/zipdeploy. Żądanie POST musi zawierać plik .zip w treści wiadomości. Poświadczenia wdrażania dla aplikacji są podawane w żądaniu za pomocą podstawowego uwierzytelniania HTTP. Aby uzyskać więcej informacji, zobacz dokumentację wdrażania push .zip.
Do uwierzytelniania HTTP BASIC potrzebne są poświadczenia wdrożenia usługi App Service. Aby zobaczyć, jak ustawić poświadczenia wdrożenia, zobacz Ustawianie i resetowanie poświadczeń na poziomie użytkownika.
Za pomocą biblioteki cURL
W poniższym przykładzie użyto narzędzia cURL do wdrożenia pliku .zip. Zastąp zastępniki <deployment_user>, <zip_file_path> i <app_name>. Po wyświetleniu monitu przez cURL, wpisz hasło.
curl -X POST -u <deployment_user> --data-binary "@<zip_file_path>" https://<app_name>.scm.azurewebsites.net/api/zipdeploy
To żądanie wyzwala wdrożenie wypychane z przekazanego pliku .zip. Bieżące i wcześniejsze wdrożenia można przejrzeć przy użyciu punktu końcowego https://<app_name>.scm.azurewebsites.net/api/deployments, jak pokazano w poniższym przykładzie cURL. Ponownie zastąp <app_name> nazwą aplikacji i <deployment_user> nazwą użytkownika poświadczeń wdrożenia.
curl -u <deployment_user> https://<app_name>.scm.azurewebsites.net/api/deployments
Wdrożenie pliku zip asynchronicznego
Podczas wdrażania synchronicznego mogą wystąpić błędy związane z przekroczeniami limitu czasu połączenia. Dodaj ?isAsync=true do adresu URL, aby wdrożyć asynchronicznie. Natychmiast po przekazaniu pliku zip otrzymasz odpowiedź z nagłówkiem Location wskazującym adres URL stanu wdrożenia z możliwością sprawdzenia. Podczas sondowania adresu URL podanego w nagłówku Location otrzymasz odpowiedź HTTP 202 (Zaakceptowana), gdy proces jest w toku, a odpowiedź HTTP 200 (OK) po rozwinięciu archiwum i pomyślnym zakończeniu wdrażania.
Uwierzytelnianie Microsoft Entra
Alternatywą dla użycia uwierzytelniania HTTP BASIC we wdrożeniu zip jest zastosowanie tożsamości Microsoft Entra. Jeśli uwierzytelnianie HTTP BASIC jest wyłączone dla witryny SCM, tożsamość firmy Microsoft Entra może być potrzebna.
Wymagany jest prawidłowy token dostępu firmy Microsoft dla użytkownika lub jednostki usługi wykonującej wdrożenie. Token dostępu można pobrać przy użyciu polecenia Azure CLI az account get-access-token. Token dostępu jest używany w nagłówku autoryzacji w żądaniu HTTP POST.
curl -X POST \
--data-binary "@<zip_file_path>" \
-H "Authorization: Bearer <access_token>" \
"https://<app_name>.scm.azurewebsites.net/api/zipdeploy"
Przy użyciu programu PowerShell
W poniższym przykładzie użyto polecenia Publish-AzWebapp do przesłania pliku .zip. Zastąp zastępniki <group-name>, <app-name> i <zip-file-path>.
Publish-AzWebapp -ResourceGroupName <group-name> -Name <app-name> -ArchivePath <zip-file-path>
To żądanie wyzwala wdrożenie wypychane z przekazanego pliku .zip.
Aby przejrzeć bieżące i wcześniejsze wdrożenia, uruchom następujące polecenia. Ponownie zastąp <deployment-user>symbole zastępcze , <deployment-password>i <app-name> .
$username = "<deployment-user>"
$password = "<deployment-password>"
$apiUrl = "https://<app-name>.scm.azurewebsites.net/api/deployments"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))
$userAgent = "powershell/1.0"
Invoke-RestMethod -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -Method GET
Wdrażaj za pomocą Bicep lub szablonu Azure Resource Manager
Możesz wdrożyć pakiet do aplikacji Flex Consumption jako część wdrożenia szablonu Bicep lub Azure Resource Manager (ARM). Zdefiniuj zasób Microsoft.Web/sites/extensions, który korzysta z rozszerzenia /onedeploy i określa zdalny adres URL pakietu we właściwości packageUri.
Musisz nazwać plik pakietu released-package.zip. Host usługi Functions musi mieć możliwość uzyskania dostępu zarówno do zdalnego adresu URL pakietu, jak i do kontenera magazynu wdrożenia. Bezpośrednie przesłanie pakietu do kontenera wdrożenia go nie uruchamia.
Przykłady szablonów Bicep i ARM znajdziesz w artykule Definiuj pakiet wdrożenia Flex Consumption.
Wdrażaj za pomocą szablonu Azure Resource Manager
Możesz użyć szablonu Azure Resource Manager (ARM) rozszerzenia ZipDeploy, aby przesłać plik .zip do aplikacji funkcyjnej.
Przykładowy szablon ZipDeploy ARM
Ten szablon zawiera zarówno slot produkcyjny, jak i testowy, a wdraża się w jedno lub drugie środowisko. Zazwyczaj używasz tego szablonu do wdrożenia w slocie przejściowym, a następnie zamieniasz sloty, aby uruchomić nowy pakiet ZIP w slocie produkcyjnym.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appServiceName": {
"type": "string"
},
"deployToProduction": {
"type": "bool",
"defaultValue": false
},
"slot": {
"type": "string",
"defaultValue": "staging"
},
"packageUri": {
"type": "secureString"
}
},
"resources": [
{
"condition": "[parameters('deployToProduction')]",
"type": "Microsoft.Web/sites/extensions",
"apiVersion": "2021-02-01",
"name": "[format('{0}/ZipDeploy', parameters('appServiceName'))]",
"properties": {
"packageUri": "[parameters('packageUri')]",
"appOffline": true
}
},
{
"condition": "[not(parameters('deployToProduction'))]",
"type": "Microsoft.Web/sites/slots/extensions",
"apiVersion": "2021-02-01",
"name": "[format('{0}/{1}/ZipDeploy', parameters('appServiceName'), parameters('slot'))]",
"properties": {
"packageUri": "[parameters('packageUri')]",
"appOffline": true
}
}
]
}
W przypadku wdrożenia początkowego wdrażasz bezpośrednio do slotu produkcyjnego. Aby uzyskać więcej informacji, zobacz Wdrożenia slotów.
Uruchamianie funkcji z pakietu wdrożeniowego
Uruchamianie bezpośrednio z pakietu wdrożenia pomija kopiowanie plików do katalogu wwwroot . Zamiast tego środowisko uruchomieniowe Functions montuje pakiet jako katalog wwwroot tylko do odczytu. Takie podejście:
- Zmniejsza to problemy z blokowaniem kopii plików.
- Sprawdza pliki, które są uruchomione w aplikacji.
- Poprawia wydajność wdrożeń Azure Resource Manager.
- Może skrócić czas zimnego startu, szczególnie dla aplikacji JavaScript z dużymi drzewami pakietów npm.
Konfiguracja pakietu Flex Consumption
Aplikacje Flex Consumption działają domyślnie z pakietu. Nie dodawaj WEBSITE_RUN_FROM_PACKAGE ustawień aplikacji. Ustawienia wdrożenia, w tym kontener pamięci i jego metoda uwierzytelniania, są właściwościami zasobu aplikacji funkcyjnej. Aby uzyskać więcej informacji, zobacz Opcje wdrażania.
Konfiguracja pakietów Premium i dedykowanych
Ustaw WEBSITE_RUN_FROM_PACKAGE na 1, aby uruchamiać bezpośrednio z lokalnie wdrożonego pakietu. Runtime przechowuje pakiet w folderze c:\home\data\SitePackages na Windows lub /home/data/SitePackages w folderze na Linuksie.
Konfiguracja pakietu konsumpcyjnego
Wartość obsługiwana WEBSITE_RUN_FROM_PACKAGE zależy od systemu operacyjnego:
| System operacyjny | Wartość | Behavior |
|---|---|---|
| Windows | 1 |
Aplikacja działa z pakietu w folderze c:\home\data\SitePackages . |
| Linux | <URL> |
Aplikacja działa z pakietu pod podanym adresem URL. Użyj prywatnego kontenera Azure Blob Storage, do którego dostęp należy uzyskać za pomocą tożsamości zarządzanej. |
Ważne
Aplikacje funkcjonalne, które nadal uruchamiają wycofane z użytku środowisko uruchomieniowe w wersji 3 w systemie Linux w planie konsumpcyjnym, przestaną działać po 30 września 2026 r. Aby uniknąć przerw w działaniu usługi, przeprowadź migrację aplikacji do środowiska uruchomieniowego w wersji 4.
Opcja hostowania aplikacji funkcji w systemie Linux w planie konsumpcyjnym zostanie wycofana 30 września 2028 r. Plan Konsumpcji systemu Linux nie będzie otrzymywał nowych funkcji ani wersji językowych. Aplikacje działające w systemie Windows w planie Zużycie nie są obecnie dotknięte. Przeprowadź migrację aplikacji do planu Flex Consumption przed datą wycofania.
Rozważania dotyczące wdrażania pakietów
Miej na uwadze te wymagania i ograniczenia, wdrażając i uruchamiając aplikację funkcjonalną z pakietu:
- Pakiet musi używać .zip formatu. Formaty tar i gzip nie są obsługiwane.
- Maksymalny rozmiar pakietu to 1 GB. Wdrożenie wykorzystuje tymczasową pamięć podczas rozpakowywania plików projektowych, więc aplikacja musi mieć również wystarczającą ilość tymczasowej pamięci. Plan Zużycie udostępnia 500 MB tymczasowej przestrzeni dyskowej w ramach planu.
- Gdy uruchamiasz z pakietu, pliki w
wwwrootsą tylko do odczytu, również w portalu Azure. - Nie możesz używać lokalnej pamięci podręcznej podczas uruchamiania z pakietu.
- Nie ustawiaj
WEBSITE_RUN_FROM_PACKAGE, gdy prosisz o zdalną budowę. Zamiast tego ustawSCM_DO_BUILD_DURING_DEPLOYMENT=true. Na Linuksie również ustawENABLE_ORYX_BUILD=true. -
WEBSITE_RUN_FROM_PACKAGEnie działa z MSDeploy. Zamiast tego użyj wdrażania z pliku ZIP.
Dodaj ustawienie WEBSITE_RUN_FROM_PACKAGE
Istnieje kilka sposobów dodawania, aktualizowania i usuwania ustawień aplikacji funkcji:
- W portalu Azure
- Przy użyciu Azure CLI
- Przy użyciu programu Azure PowerShell
Zmiany ustawień aplikacji funkcji wymagają ponownego uruchomienia aplikacji funkcji.
Uruchom z pakietu przesłanego przez zip deployment
Ustaw WEBSITE_RUN_FROM_PACKAGE na 1 przed wdrożeniem pakietu. API wdrażania zip kopiuje pakiet do folderu SitePackages zamiast rozpakowywać jego zawartość do wwwroot. Wdrożenie tworzy także plik packagename.txt , który identyfikuje pakiet do zamontowania. Po ponownym uruchomieniu aplikacji pakiet jest montowany jako katalog wwwroot tylko do odczytu. Aplikacje Linux Consumption nie obsługują tej wartości ustawienia i muszą działać z zewnętrznego adresu URL pakietu.
Po ponownym uruchomieniu aplikacji bieżąco wykonywane funkcje się kończą. Aby uzyskać informacje o pisaniu funkcji, które bezpiecznie obsługują ponowne uruchomienia, zobacz Jak pisać funkcje bezstanowe.
Uruchom z zewnętrznego adresu URL pakietu
Używaj zewnętrznego adresu URL, gdy musisz samodzielnie zarządzać przechowywaniem pakietów. Potrzebujesz tej opcji, aby uruchomić lokalnie zbudowany pakiet w aplikacji Linux Consumption. Nie jest wspierany w Flex Consumption.
Note
Nie można zmienić istniejącej aplikacji funkcji, która używa WEBSITE_RUN_FROM_PACKAGE=1, tak aby była uruchamiana z zewnętrznego adresu URL pakietu. Aby użyć zewnętrznego adresu URL pakietu, stwórz nową aplikację funkcyjną i ustaw WEBSITE_RUN_FROM_PACKAGE ją na adres URL pakietu.
Użyj prywatnego kontenera Blob Storage i przyznaj zarządzaną tożsamość aplikacji funkcjonalnej do pakietu. Używaj zarządzanej tożsamości, ponieważ tokeny SAS wygasają i wymagają konserwacji. Za każdym razem, gdy publikujesz zaktualizowany pakiet, musisz ręcznie synchronizować wyzwalacze. Jeśli zaktualizujesz pakiet na miejscu bez zmiany adresu URL, zrestartuj aplikację Function przed synchronizacją wyzwalaczy.
Ręcznie wgraj pakiet do Azure Blob Storage
Stwórz pakiet wdrożenia .zip.
W portalu Azure przejdź do swojego konta przechowywania.
W sekcji Data storage wybierz Kontenery, a następnie utwórz lub wybierz prywatny kontener.
Przeładuj paczkę do kontenera.
Wybierz przesłany blob i skopiuj jego URL. Jeśli nie używasz zarządzanej tożsamości, wygeneruj zamiast tego adres URL SAS.
W aplikacji funkcjonalnej rozwiń Ustawienia, wybierz zmienne środowiskowe, a następnie Dodaj na zakładce ustawień aplikacji .
Dodaj ustawienie o nazwie
WEBSITE_RUN_FROM_PACKAGEi ustaw jako jego wartość adres URL pakietu.Zastosuj zmiany, zrestartuj aplikację i ręcznie zsynchronizuj wyzwalacze.
Pobierz pakiet z usługi Azure Blob Storage przy użyciu tożsamości zarządzanej
Usługę Azure Blob Storage można skonfigurować tak, aby autoryzować żądania za pomocą identyfikatora Entra firmy Microsoft. Ta konfiguracja oznacza, że zamiast generować klucz SAS z datą wygaśnięcia, można polegać na tożsamości zarządzanej aplikacji.
Domyślnie jest używana tożsamość przypisana przez system aplikacji. Jeśli chcesz określić tożsamość przypisaną przez użytkownika, możesz ustawić ustawienie aplikacji WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID na identyfikator tej tożsamości. Ustawienie może również zaakceptować SystemAssigned jako wartość, która jest równoważna pomijaniu ustawienia.
Aby umożliwić pobranie pakietu przy użyciu tożsamości:
Upewnij się, że obiekt blob jest skonfigurowany pod kątem dostępu prywatnego.
Nadaj tożsamości rolę Czytelnik danych obiektu blob usługi Storage z zakresem obejmującym obiekt blob pakietu. Aby uzyskać szczegółowe informacje na temat tworzenia przypisania roli, zobacz Przypisanie roli Azure w celu uzyskania dostępu do danych obiektów blob.
WEBSITE_RUN_FROM_PACKAGEUstaw ustawienie aplikacji na adres URL obiektu blob pakietu. Ten adres URL jest zwykle w postacihttps://<storage-account-name>.blob.core.windows.net/<container-name>/<path-to-package>lub podobnej.Jeśli chcesz określić tożsamość przypisaną przez użytkownika, możesz ustawić ustawienie aplikacji
WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_IDna identyfikator tej tożsamości. Ustawienie może również akceptować wartość SystemAssigned jako wartość, chociaż jest to takie samo, jak całkowite pominięcie ustawienia. Identyfikator zasobu to standardowa reprezentacja zasobu na platformie Azure. W przypadku tożsamości zarządzanej przypisanej przez użytkownika będzie to/subscriptions/subid/resourcegroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name. Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika można uzyskać w Ustawienia>Właściwościach>tożsamości zarządzanej przypisanej przez użytkownika.
Dostosowywanie wdrożenia
W procesie wdrażania przyjęto założenie, że wypchnięty plik .zip zawiera aplikację gotową do uruchomienia. Domyślnie nie są uruchamiane żadne dostosowania. Aby włączyć te same procesy kompilacji, które uzyskujesz z ciągłą integracją, dodaj następujące elementy do ustawień aplikacji:
SCM_DO_BUILD_DURING_DEPLOYMENT=true
Jeśli używasz wdrażania za pomocą .zip, to ustawienie jest domyślnie wyłączone. Domyślną wartością dla wdrożeń ciągłej integracji jest true. Gdy ustawisz wartość na true, ustawienia związane z wdrożeniem są używane podczas wdrażania. Te ustawienia można skonfigurować jako ustawienia aplikacji lub w pliku konfiguracji wdrożenia znajdującym się w katalogu głównym pliku .zip. Aby uzyskać więcej informacji, zobacz Ustawienia związane z repozytorium i wdrażaniem w dokumentacji wdrożenia.
Pobierz pliki aplikacji funkcjonalnej
Jeśli potrzebujesz dokładnie takiego pakietu, jaki obecnie działa w Twojej aplikacji, pobierz go z kontenera Blob Storage skonfigurowanego pod wdrożenia aplikacji:
Na stronie aplikacji funkcjonalnej w portalu Azure rozwiń Ustawienia, a następnie wybierz Ustawienia wdrożenia.
W sekcji lokalizacja pakietu aplikacji zwróć uwagę na konto pamięci oraz kontener używany do wdrożeń.
Przejdź do tego konta pamięciowego, rozwiń pamięć danych, a następnie wybierz Kontenery.
Wybierz kontener wdrożenia, wybierz aktualny pakiet, a następnie wybierz Pobierz.
Pobrany pakiet zawiera wbudowaną zawartość aplikacji, którą wdrożyłeś, a która może różnić się od Twojego projektu źródłowego. Każde wdrożenie nadpisuje aktualny pakiet, a kontener wdrożenia nie udostępnia historii wdrożeń.
W przypadku aplikacji wdrażanych z użyciem CI/CD przechowuj projekt źródłowy w systemie kontroli wersji i zachowuj gotowe do uruchomienia artefakty kompilacji zgodnie z zasadami przechowywania wydań. Użyj zachowanego artefaktu, aby ponownie wdrożyć określone wydanie. Używaj pakietu w kontenerze wdrożenia, gdy potrzebujesz dokładnie tego samego pakietu, na którym aplikacja obecnie działa lub gdy oryginalny artefakt nie jest już dostępny.
Pobierz pliki aplikacji funkcjonalnej
Jeśli funkcje zostały utworzone przy użyciu edytora w witrynie Azure Portal, możesz pobrać istniejący projekt aplikacji funkcji jako plik .zip w jeden z następujących sposobów:
Zaloguj się do witryny Azure Portal, a następnie przejdź do aplikacji funkcji.
Na karcie Przegląd wybierz pozycję Pobierz zawartość aplikacji. Wybierz opcje pobierania, a następnie wybierz pozycję Pobierz.
Pobrany plik .zip jest w poprawnym formacie, który może być ponownie opublikowany w aplikacji funkcji przy użyciu wdrożenia typu push w formacie .zip. Opcja pobierania portalu może również dodać pliki potrzebne do otwarcia aplikacji funkcji bezpośrednio w programie Visual Studio.
W przypadku aplikacji wdrażanych z użyciem CI/CD przechowuj projekt źródłowy w systemie kontroli wersji i zachowuj gotowe do uruchomienia artefakty kompilacji zgodnie z zasadami przechowywania wydań. Archiwum źródłowe pobrane z repozytorium nie jest pakietem wdrożenia. Użyj procesu wdrażania, aby skompilować i wdrożyć projekt.