Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ustawienia aplikacji funkcji zawierają opcje konfiguracji, które mają wpływ na wszystkie funkcje w ramach tej aplikacji. Te ustawienia są dostępne jako zmienne środowiskowe. Ten artykuł wymienia ustawienia aplikacji, które są dostępne w aplikacjach funkcjonalnych.
Istnieje kilka sposobów dodawania, aktualizowania i usuwania ustawień aplikacji funkcji:
- W witrynie Azure Portal
- Przy użyciu interfejsu wiersza polecenia platformy Azure
- Przy użyciu programu Azure PowerShell
Zmiany ustawień aplikacji funkcji wymagają ponownego uruchomienia aplikacji funkcji.
W tym artykule wartości przykładowego ciągu połączenia są obcinane w celu ulepszenia czytelności.
Usługa Azure Functions używa platformy Azure App Service do hostowania. Niektóre ustawienia istotne dla hostowania aplikacji funkcji mogą być zlokalizowane w Zmienne środowiskowe i ustawienia aplikacji w usłudze Azure App Service.
Zagadnienia dotyczące ustawień aplikacji
Podczas korzystania z ustawień aplikacji należy pamiętać o następujących kwestiach:
Zmiana ustawień aplikacji powoduje domyślne ponowne uruchomienie aplikacji funkcji we wszystkich planach hostingu. W przypadku wdrożeń bez przestojów podczas zmieniania ustawień należy użyć planu Flex Consumption z aktualizacjami kroczącymi jako strategią aktualizacji lokacji. Aby uzyskać informacje o innych planach hostingu, zobacz Optymalizowanie wdrożeń , aby uzyskać wskazówki dotyczące minimalizowania przestojów.
W nazwach parametrów podwójne podkreślenie (
__) i dwukropek (:) są uznawane za wartości zarezerwowane. Podkreślenia podwójne są interpretowane jako ograniczniki hierarchiczne w systemach Windows i Linux. Dwukropki są interpretowane w ten sam sposób tylko w systemie operacyjnym Windows. Na przykład ustawienieAzureFunctionsWebHost__hostid=somehost_123456zostanie zinterpretowane jako następujący obiekt JSON:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }W tym artykule są używane tylko podkreślenia podwójne, ponieważ są one obsługiwane w obu systemach operacyjnych. Większość ustawień wspierających połączenia z wykorzystaniem tożsamości zarządzanej używa podwójnych znaków podkreślenia.
Gdy funkcje są uruchamiane lokalnie, ustawienia aplikacji są określone w
Valueskolekcji w local.settings.json.Istnieją inne opcje konfiguracji aplikacji funkcji w pliku host.json i w pliku local.settings.json .
Ustawienia aplikacji umożliwiają zastąpienie wartości ustawień host.json bez konieczności zmieniania samego pliku host.json. Takie podejście jest przydatne w scenariuszach, w których należy skonfigurować lub zmodyfikować określone ustawienia host.json dla określonego środowiska. Takie podejście umożliwia również zmianę ustawień host.json bez konieczności ponownego publikowania projektu. Aby dowiedzieć się więcej, zobacz artykuł referencyjny dotyczący host.json.
W tym artykule opisano ustawienia, które są najbardziej istotne dla aplikacji funkcjonalnych. Ponieważ usługa Azure Functions działa w usłudze App Service, obsługiwane są również inne ustawienia aplikacji. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe i ustawienia aplikacji w usłudze aplikacja systemu Azure Service.
Niektóre scenariusze wymagają również pracy z ustawieniami udokumentowanymi w ustawieniach witryny usługi App Service.
Zmiana dowolnych ustawień tylko do odczytuaplikacji usługi App Service może umieścić aplikację funkcji w stanie nieodpowiadającym.
Należy zachować ostrożność podczas aktualizowania ustawień aplikacji przy użyciu interfejsów API REST, w tym szablonów usługi ARM. Ponieważ te interfejsy API zastępują istniejące ustawienia aplikacji, należy uwzględnić wszystkie istniejące ustawienia podczas dodawania lub modyfikowania ustawień przy użyciu interfejsów API REST lub szablonów usługi ARM. Jeśli to możliwe, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby programowo pracować z ustawieniami aplikacji. Aby uzyskać więcej informacji, zobacz Praca z ustawieniami aplikacji.
APPINSIGHTS_INSTRUMENTATIONKEY
Klucz instrumentacji dla usługi Application Insights. Nie używaj jednocześnie APPINSIGHTS_INSTRUMENTATIONKEY i APPLICATIONINSIGHTS_CONNECTION_STRING. Jeśli to możliwe, użyj polecenia APPLICATIONINSIGHTS_CONNECTION_STRING. Gdy usługa Application Insights działa w suwerennej chmurze, należy użyć polecenia APPLICATIONINSIGHTS_CONNECTION_STRING. Aby uzyskać więcej informacji, zobacz How to configure monitoring for Azure Functions (Jak skonfigurować monitorowanie dla usługi Azure Functions).
| Key | Przykładowa wartość |
|---|---|
| APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Nie używaj jednocześnie APPINSIGHTS_INSTRUMENTATIONKEY i APPLICATIONINSIGHTS_CONNECTION_STRING. Zalecamy użycie APPLICATIONINSIGHTS_CONNECTION_STRING.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Umożliwia dostęp do usługi Application Insights przy użyciu uwierzytelniania firmy Microsoft Entra. Użyj tego ustawienia, jeśli musisz nawiązać połączenie z obszarem roboczym usługi Application Insights przy użyciu uwierzytelniania firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Microsoft Entra authentication for Application Insights (Uwierzytelnianie entra firmy Microsoft dla usługi Application Insights).
W przypadku użycia parametru APPLICATIONINSIGHTS_AUTHENTICATION_STRINGokreślona wartość zależy od typu tożsamości zarządzanej:
| Tożsamość zarządzana | Wartość ustawienia |
|---|---|
| System-assigned | Authorization=AAD |
| User-assigned | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
To wymaganie uwierzytelniania jest stosowane do połączeń z hosta usługi Functions, debugera migawek, profilera i wszystkich agentów specyficznych dla języka. Aby użyć tego ustawienia, tożsamość zarządzana musi być już dostępna dla aplikacji funkcji z przypisaną rolą równoważną Monitoring Metrics Publisher.
Note
W przypadku używania polecenia APPLICATIONINSIGHTS_AUTHENTICATION_STRING w celu nawiązania połączenia z usługą Application Insights przy użyciu uwierzytelniania entra firmy Microsoft należy również wyłączyć uwierzytelnianie lokalne dla usługi Application Insights. Ta konfiguracja wymaga uwierzytelniania Microsoft Entra, aby dane telemetryczne mogły być przetwarzane w Twoim obszarze roboczym.
APPLICATIONINSIGHTS_CONNECTION_STRING
Parametry połączenia dla usługi Application Insights. Nie używaj jednocześnie APPINSIGHTS_INSTRUMENTATIONKEY i APPLICATIONINSIGHTS_CONNECTION_STRING. Zalecamy użycie polecenia APPLICATIONINSIGHTS_CONNECTION_STRING we wszystkich przypadkach. Jest to wymagane w następujących przypadkach:
- Kiedy Twoja aplikacja funkcji wymaga dodatkowych dostosowań obsługiwanych za pomocą ciągu połączenia
- Kiedy wystąpienie usługi Application Insights działa w suwerennej chmurze, co wymaga użycia niestandardowego punktu końcowego
Aby uzyskać więcej informacji, zobacz Parametry połączenia.
| Key | Przykładowa wartość |
|---|---|
| APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Aby nawiązać połączenie z usługą Application Insights przy użyciu uwierzytelniania firmy Microsoft Entra, należy użyć polecenia APPLICATIONINSIGHTS_AUTHENTICATION_STRING.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Important
Serwery proxy usługi Azure Functions były funkcją wersji 1.x do 3.x środowiska uruchomieniowego usługi Azure Functions. Aby uzyskać więcej informacji, zobacz Serwery proxy usługi Functions.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Important
Serwery proxy usługi Azure Functions były funkcją wersji 1.x do 3.x środowiska uruchomieniowego usługi Azure Functions. Aby uzyskać więcej informacji, zobacz Serwery proxy usługi Functions.
AZURE_FUNCTIONS_ENVIRONMENT
Konfiguruje środowisko hostingu aplikacji funkcjonalnej podczas uruchamiania na platformie Azure. Ta wartość jest odczytywana podczas inicjowania. Środowisko uruchomieniowe akceptuje tylko następujące wartości:
| Value | Description |
|---|---|
Production |
Reprezentuje środowisko produkcyjne z ograniczonym rejestrowaniem i optymalizacjami pełnej wydajności. Ta wartość jest wartością domyślną, jeśli AZURE_FUNCTIONS_ENVIRONMENT nie jest ustawiona lub jest ustawiona na nieobsługiwaną wartość. |
Staging |
Reprezentuje środowisko stagingowe, takie jak podczas uruchamiania w slocie stagingowym. |
Development |
Środowisko programistyczne obsługuje bardziej rozbudowane rejestrowanie i inne optymalizacje ograniczające wydajność. Narzędzia Azure Functions Core Tools ustawia wartość AZURE_FUNCTIONS_ENVIRONMENT na Development podczas uruchamiania na komputerze lokalnym. Tego ustawienia nie można zastąpić w pliku local.settings.json. |
Użyj tego ustawienia zamiast ASPNETCORE_ENVIRONMENT wtedy, gdy musisz zmienić środowisko uruchomieniowe na platformie Azure na inną niż Production. Aby uzyskać więcej informacji, zobacz Environment-based Startup class and methods (Klasy i metody uruchamiania oparte na środowisku).
To ustawienie nie jest dostępne w wersji 1.x środowiska uruchomieniowego usługi Functions.
AzureFunctionsJobHost__*
W wersji 2.x lub nowszej środowiska uruchomieniowego usługi Functions ustawienia aplikacji mogą zastąpić ustawienia host.json w bieżącym środowisku. Te nadpisania są wyrażane jako ustawienia aplikacji o nazwie AzureFunctionsJobHost__path__to__setting. Aby uzyskać więcej informacji, zobacz Zastępowanie wartości pliku host.json.
AzureFunctionsWebHost__hostid
Ustawia identyfikator hosta dla danej aplikacji funkcjonalnej, który powinien być unikalnym identyfikatorem. To ustawienie zastępuje automatycznie wygenerowaną wartość identyfikatora hosta dla aplikacji. Użyj tego ustawienia tylko wtedy, gdy musisz zapobiec kolizjom identyfikatora hosta między aplikacjami funkcji, które dzielą to samo konto magazynowe.
Identyfikator hosta musi spełniać następujące wymagania:
- Długość od 1 do 32 znaków
- Zawiera tylko małe litery, cyfry i kreski
- Nie zaczynaj ani nie kończ kreską
- Nie zawiera następujących kresek
Łatwym sposobem wygenerowania identyfikatora jest usunięcie identyfikatora GUID, usunięcie kreski i zmniejszenie wielkości liter, na przykład przez przekonwertowanie identyfikatora GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 na wartość 1835d7b55c984790815d072cc94c6f71.
| Key | Przykładowa wartość |
|---|---|
| AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące identyfikatora hosta.
AzureWebJobsDashboard
To ustawienie jest przestarzałe i jest obsługiwane tylko w przypadku uruchamiania w wersji 1.x środowiska uruchomieniowego usługi Azure Functions.
Opcjonalne parametry połączenia konta magazynu do przechowywania dzienników i wyświetlania ich na karcie Monitorowanie w witrynie Azure Portal. Konto magazynu powinno być kontem ogólnego przeznaczenia, które obsługuje obiekty blob, kolejki i tabele. Aby dowiedzieć się więcej, zobacz Wymagania dotyczące kont przechowywania.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Wartość true wyłącza domyślną stronę docelową wyświetlaną dla głównego adresu URL aplikacji funkcji. Domyślna wartość to false.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsDisableHomepage | true |
Gdy to ustawienie aplikacji zostanie pominięte lub ustawione na wartość false, w odpowiedzi na adres URL <functionappname>.azurewebsites.net zostanie wyświetlona strona podobna do poniższego przykładu.
AzureWebJobsDotNetReleaseCompilation
true oznacza użycie Release trybu podczas kompilowania kodu platformy .NET.
false oznacza użycie trybu debugowania. Wartość domyślna to true.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
Rozdzielana przecinkami lista funkcji beta do włączenia. Funkcje w wersji beta włączone przez te flagi nie są gotowe do produkcji, ale można je włączyć do użytku eksperymentalnego przed rozpoczęciem ich działania.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Jeśli aplikacja ma obecnie to ustawienie, dodaj nowe flagi na końcu listy rozdzielone przecinkami.
Obecnie obsługiwane flagi funkcji:
| Wartość flagi | Description |
|---|---|
EnableProxies |
Ponownie włącza serwery proxy w wersji 4.x środowiska uruchomieniowego usługi Functions podczas planowania migracji do usługi Azure API Management. Aby uzyskać więcej informacji, zobacz Ponowne włączanie serwerów proxy w usłudze Functions w wersji 4.x. |
EnableAzureMonitorTimeIsoFormat |
ISO 8601 Włącza format czasu w dziennikach usługi Azure Monitor dla aplikacji systemu Linux uruchomionych w ramach dedykowanego planu (App Service). |
AzureWebJobsKubernetesSecretName
Wskazuje zasób Kubernetes Secrets używany do przechowywania kluczy. Obsługiwane tylko w przypadku uruchamiania na platformie Kubernetes.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Zagadnienia dotyczące korzystania z zasobu Sekret Kubernetes:
- Należy również ustawić
AzureWebJobsSecretStorageTypenakubernetes. JeśliAzureWebJobsKubernetesSecretNamenie zostanie ustawione, repozytorium jest uznawane za tylko do odczytu. W takim przypadku przed wdrożeniem należy wygenerować wartości. - Narzędzia Azure Functions Core Tools generują wartości automatycznie podczas wdrażania na platformie Kubernetes.
- Niezmienne wpisy tajne nie są obsługiwane i używanie ich powoduje błędy środowiska uruchomieniowego.
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsSecretStorageKeyVaultClientId
Identyfikator klienta dla tożsamości zarządzanej przypisanej użytkownikowi lub rejestracji aplikacji używanej do uzyskiwania dostępu do skarbca, w którym są przechowywane klucze. To ustawienie wymaga, abyś ustawił AzureWebJobsSecretStorageType na keyvault. Obsługiwane w wersji 4.x i nowszych wersjach środowiska uruchomieniowego usługi Functions.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsSecretStorageKeyVaultClientSecret
Tajny klucz dla identyfikatora klienta tożsamości zarządzanej przypisanej przez użytkownika lub rejestracji aplikacji, używanej do uzyskiwania dostępu do skarbca, w którym przechowywane są klucze. To ustawienie wymaga, abyś ustawił AzureWebJobsSecretStorageType na keyvault. Obsługiwane w wersji 4.x i nowszych wersjach środowiska uruchomieniowego usługi Functions.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsSecretStorageKeyVaultName
To ustawienie jest przestarzałe i było używane tylko podczas uruchamiania w wersji 3.x środowiska uruchomieniowego usługi Azure Functions.
Nazwa wystąpienia magazynu kluczy służącego do przechowywania kluczy. To ustawienie było używane tylko w wersji 3.x środowiska uruchomieniowego usługi Functions, które nie jest już obsługiwane. W przypadku wersji 4.x zamiast tego użyj polecenia AzureWebJobsSecretStorageKeyVaultUri. To ustawienie wymaga, abyś ustawił AzureWebJobsSecretStorageType na keyvault.
Sejf musi mieć zasady dostępu odpowiadające przypisanej przez system tożsamości zarządzanej zasobu hostującego. Zasady dostępu powinny przyznać tożsamości następujące uprawnienia tajnego: Get, Set, List, i Delete.
Gdy funkcje działają lokalnie, używana jest tożsamość dewelopera. Ustawienia muszą znajdować się w plikulocal.settings.json.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsSecretStorageKeyVaultTenantId
Identyfikator dzierżawcy rejestracji aplikacji wykorzystywany do uzyskiwania dostępu do magazynu, w którym są przechowywane klucze. To ustawienie wymaga, abyś ustawił AzureWebJobsSecretStorageType na keyvault. Obsługiwane w wersji 4.x i nowszych wersjach środowiska uruchomieniowego usługi Functions. Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
URI zasobu Key Vaultu używane do przechowywania kluczy. Obsługiwane w wersji 4.x i nowszych wersjach środowiska uruchomieniowego usługi Functions. Zalecamy ustawienie tej jednostki do przechowywania kluczy w magazynie kluczy. To ustawienie wymaga, abyś ustawił AzureWebJobsSecretStorageType na keyvault.
Wartość AzureWebJobsSecretStorageKeyVaultUri powinna być pełną wartością Vault URI wyświetlaną na karcie Przegląd Key Vault, w tym https://.
Sejf musi mieć zasady dostępu odpowiadające przypisanej przez system tożsamości zarządzanej zasobu hostującego. Zasady dostępu powinny przyznać tożsamości następujące uprawnienia tajnego: Get, Set, List, i Delete.
Gdy funkcje działają lokalnie, używana jest tożsamość dewelopera, a ustawienia muszą znajdować się w pliku local.settings.json.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Important
Sekrety nie są ograniczone do poszczególnych aplikacji funkcji poprzez ustawienie AzureWebJobsSecretStorageKeyVaultUri. Jeśli wiele aplikacji funkcji jest skonfigurowanych do używania tego samego magazynu kluczy, współużytkują te same sekrety, co potencjalnie prowadzi do konfliktu kluczy lub ich zastępowania. Aby uniknąć niezamierzonego zachowania, zalecamy użycie oddzielnego wystąpienia usługi Key Vault dla każdej aplikacji funkcjonalnej.
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsSecretStorageSas
Adres URL sygnatury dostępu współdzielonego (SAS) dla drugiego konta usługi Blob Storage używanego do przechowywania kluczy. Domyślnie usługa Functions używa konta ustawionego w programie AzureWebJobsStorage. Podczas korzystania z tej opcji magazynu tajnych, upewnij się, że AzureWebJobsSecretStorageType nie jest ustawiony jawnie lub jest ustawiony na blob. Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Określa repozytorium lub dostawcę do użycia w magazynie kluczy. Klucze są zawsze szyfrowane przed zapisaniem przy użyciu tajemnicy unikatowej dla aplikacji funkcjonalnej.
| Key | Value | Description |
|---|---|---|
| AzureWebJobsSecretStorageType | blob |
Klucze są przechowywane w kontenerze storage blob na koncie dostarczonym przez ustawienie AzureWebJobsStorage. Usługa Blob Storage jest zachowaniem domyślnym, jeśli AzureWebJobsSecretStorageType nie jest ustawiona.Aby określić inne konto magazynu, użyj ustawienia AzureWebJobsSecretStorageSas, aby wskazać adres URL sygnatury dostępu współdzielonego drugiego konta magazynu. |
| AzureWebJobsSecretStorageType | files |
Klucze są utrwalane w systemie plików. To zachowanie jest domyślne dla usługi Functions w wersji 1.x. |
| AzureWebJobsSecretStorageType | keyvault |
Klucze są przechowywane w wystąpieniu magazynu kluczy ustawionym przez AzureWebJobsSecretStorageKeyVaultName program. |
| AzureWebJobsSecretStorageType | kubernetes |
Jest obsługiwany tylko w przypadku uruchamiania środowiska uruchomieniowego usługi Functions na platformie Kubernetes. Jeśli AzureWebJobsKubernetesSecretName nie zostanie ustawione, repozytorium jest uznawane za tylko do odczytu. W takim przypadku przed wdrożeniem należy wygenerować wartości. Narzędzia Azure Functions Core Tools generują wartości automatycznie podczas wdrażania na platformie Kubernetes. |
Aby dowiedzieć się więcej, zobacz Zarządzanie magazynem kluczy.
AzureWebJobsStorage
Określa parametry połączenia dla konta usługi Azure Storage używanego przez środowisko uruchomieniowe usługi Functions na potrzeby normalnych operacji. Niektóre zastosowania tego konta magazynowego przez Funkcji obejmują zarządzanie kluczami, zarządzanie wyzwalaczami czasomierza oraz punkty kontrolne Event Hubs. Konto magazynu powinno być kontem ogólnego przeznaczenia, które obsługuje obiekty blob, kolejki i tabele. Aby uzyskać więcej informacji, zobacz Wymagania dotyczące konta magazynu.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=... |
Zamiast łańcucha połączenia można użyć połączenia opartego na tożsamości dla tego konta magazynowego. Aby uzyskać więcej informacji, zobacz Łączenie się z pamięcią masową hosta przy użyciu tożsamości.
AzureWebJobsStorage__accountName
W przypadku korzystania z połączenia magazynu opartego na tożsamości ustawia nazwę konta usługi magazynowej zamiast używać ciągu połączenia w AzureWebJobsStorage. Ta składnia jest unikatowa dla AzureWebJobsStorage i nie może być używana dla innych połączeń opartych na tożsamościach.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
W przypadku suwerennych chmur lub w przypadku używania niestandardowego systemu DNS należy zamiast tego użyć ustawień specyficznych dla AzureWebJobsStorage__*ServiceUri usługi.
AzureWebJobsStorage__blobServiceUri
W przypadku użycia połączenia magazynu opartego na tożsamości ustawia URI warstwy danych usługi Blob dla konta magazynu.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Użyj tego ustawienia zamiast AzureWebJobsStorage__accountName w suwerennych chmurach lub w przypadku korzystania z niestandardowego systemu DNS. Aby uzyskać więcej informacji, zobacz Łączenie się z pamięcią masową hosta przy użyciu tożsamości.
AzureWebJobsStorage__clientId
Ustawia identyfikator klienta określonej tożsamości przypisanej przez użytkownika używanej do uzyskiwania tokenu dostępu na potrzeby uwierzytelniania tożsamości zarządzanej. Wymaga, aby AzureWebJobsStorage__credential zostało ustawione na managedidentity. Wartość jest identyfikatorem klienta, który odpowiada tożsamości przypisanej do aplikacji. Nie można ustawić parametrów i AzureWebJobsStorage__managedIdentityResourceIdAzureWebJobsStorage__clientId. Jeśli nie zostanie ustawiona, zostanie użyta tożsamość przypisana przez system.
AzureWebJobsStorage__credential
Definiuje sposób uzyskiwania tokenu dostępu dla połączenia. Służy managedidentity do uwierzytelniania tożsamości zarządzanej. W przypadku korzystania z programu managedidentitytożsamość zarządzana musi być dostępna w środowisku hostingu. Nie ustawiaj AzureWebJobsStorage__credential w lokalnych scenariuszach programowania.
AzureWebJobsStorage__managedIdentityResourceId
Ustawia identyfikator zasobu tożsamości przypisanej przez użytkownika używanej do uzyskiwania tokenu dostępu na potrzeby uwierzytelniania tożsamości zarządzanej. Wymaga, aby AzureWebJobsStorage__credential zostało ustawione na managedidentity. Wartość to identyfikator zasobu tożsamości przypisanej do aplikacji używanej do uwierzytelniania tożsamości zarządzanej. Nie można ustawić parametrów i AzureWebJobsStorage__managedIdentityResourceIdAzureWebJobsStorage__clientId. Jeśli nie zostanie ustawiona, zostanie użyta tożsamość przypisana przez system.
AzureWebJobsStorage__queueServiceUri
W przypadku korzystania z połączenia magazynowego opartego na tożsamości, ustawia URI płaszczyzny danych dla usługi kolejki w koncie magazynu.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Użyj tego ustawienia zamiast AzureWebJobsStorage__accountName w suwerennych chmurach lub w przypadku korzystania z niestandardowego systemu DNS. Aby uzyskać więcej informacji, zobacz Łączenie się z pamięcią masową hosta przy użyciu tożsamości.
AzureWebJobsStorage__tableServiceUri
Podczas korzystania z połączenia magazynu opartego na tożsamości, ustawia URI płaszczyzny danych dla usługi tabel w koncie magazynu.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Użyj tego ustawienia zamiast AzureWebJobsStorage__accountName w suwerennych chmurach lub w przypadku korzystania z niestandardowego systemu DNS. Aby uzyskać więcej informacji, zobacz Łączenie się z pamięcią masową hosta przy użyciu tożsamości.
AzureWebJobs_TypeScriptPath
Ścieżka do kompilatora używanego dla języka TypeScript. Umożliwia zastąpienie wartości domyślnej, jeśli jest to konieczne.
| Key | Przykładowa wartość |
|---|---|
| AzureWebJobs_TypeScriptPath | %HOME%\typescript |
DOCKER_REGISTRY_SERVER_PASSWORD
Wskazuje hasło używane do uzyskiwania dostępu do prywatnego rejestru kontenerów. Te ustawienia są wymagane tylko wtedy, gdy wdrażasz swoją konteneryzowaną aplikację funkcji z prywatnego rejestru kontenerów. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe i ustawienia aplikacji w usłudze aplikacja systemu Azure Service.
DOCKER_REGISTRY_SERVER_URL
Wskazuje adres URL prywatnego rejestru kontenerów. Te ustawienia są wymagane tylko wtedy, gdy wdrażasz swoją konteneryzowaną aplikację funkcji z prywatnego rejestru kontenerów. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe i ustawienia aplikacji w usłudze aplikacja systemu Azure Service.
DOCKER_REGISTRY_SERVER_USERNAME
Wskazuje konto używane do uzyskiwania dostępu do prywatnego rejestru kontenerów. Te ustawienia są wymagane tylko wtedy, gdy wdrażasz swoją konteneryzowaną aplikację funkcji z prywatnego rejestru kontenerów. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe i ustawienia aplikacji w usłudze aplikacja systemu Azure Service.
DOCKER_SHM_SIZE
Ustawia rozmiar pamięci udostępnionej (w bajtach), gdy proces roboczy języka Python używa pamięci udostępnionej. Aby dowiedzieć się więcej, zobacz Pamięć współdzielona.
| Key | Przykładowa wartość |
|---|---|
| DOCKER_SHM_SIZE | 268435456 |
Poprzednia wartość ustawia rozmiar pamięci udostępnionej wynoszący ok. 256 MB.
Wymaga, aby FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED był ustawiony na 1.
ENABLE_ORYX_BUILD
Wskazuje, czy system kompilacji Oryx jest używany podczas wdrażania.
ENABLE_ORYX_BUILD musi być ustawione na true podczas wykonywania zdalnych wdrożeń kompilacji w systemie Linux. Aby uzyskać więcej informacji, zobacz Zdalna kompilacja.
| Key | Przykładowa wartość |
|---|---|
| ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Wskazuje, czy możesz edytować swoją aplikację funkcji w portalu Azure. Prawidłowe wartości to readwrite i readonly.
| Key | Przykładowa wartość |
|---|---|
| FUNCTION_APP_EDIT_MODE | readonly |
Środowisko uruchomieniowe ustawia wartość na podstawie stosu języka i statusu wdrożenia aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Ograniczenia programistyczne w witrynie Azure Portal.
FUNCTIONS_EXTENSION_VERSION
Wersja środowiska uruchomieniowego platformy Functions, która hostuje aplikację funkcji. Tylda (~) z wersją główną oznacza użycie najnowszej wersji wersji głównej, na przykład ~4. Gdy są dostępne nowe wersje pomocnicze tej samej wersji głównej, są one automatycznie instalowane w aplikacji funkcji.
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_EXTENSION_VERSION | ~4 |
Obsługiwane są następujące główne wartości wersji środowiska uruchomieniowego:
| Value | Cel uruchomieniowy | Comment |
|---|---|---|
~4 |
4.x | Recommended |
~1 |
1.x | Wsparcie kończy się 14 września 2026 r. |
Wartość ~4 oznacza, że aplikacja działa w wersji 4.x środowiska uruchomieniowego. Wartość ~1 przypina aplikację do wersji 1.x środowiska uruchomieniowego. Wersje środowiska uruchomieniowego 2.x i 3.x nie są już obsługiwane. Aby uzyskać więcej informacji, zobacz Omówienie wersji środowiska uruchomieniowego usługi Azure Functions.
Jeśli zostaniesz poproszony przez pomoc techniczną o przypięcie aplikacji do konkretnej wersji pomocniczej, użyj pełnego numeru wersji, na przykład 4.0.12345. Aby uzyskać więcej informacji, zobacz Wybieranie wersji środowiska uruchomieniowego usługi Azure Functions.
FUNCTIONS_INPROC_NET8_ENABLED
Wskazuje, czy aplikacja może używać platformy .NET 8 w modelu przetwarzania. Aby użyć platformy .NET 8 w modelu wewnątrzprocesowym, ta wartość musi być ustawiona na 1. Aby uzyskać pełne instrukcje, łącznie z innymi wymaganymi wartościami konfiguracji, zobacz Aktualizowanie do docelowej platformy .NET 8 .
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Ustaw na 0, aby wyłączyć obsługę platformy .NET 8 w modelu in-process.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
To ustawienie aplikacji to tymczasowy sposób dla aplikacji Node.js, aby włączyć zmiany wstecznie niekompatybilne, które ułatwiają rozwiązywanie problemów z błędami punktów wejściowych w wersji Node.js 18 lub niższej. Zdecydowanie zalecamy używanie programu true, szczególnie w przypadku aplikacji modelu programowania wersji 4, które zawsze używają plików startowych. Zachowanie bez zmiany powodującej niezgodność (false) ignoruje błędy punktu wejścia i nie rejestruje ich w usłudze Application Insights.
Począwszy od Node.js wersji 20, ustawienie aplikacji nie ma wpływu i zachowanie zmiany powodującej niezgodność jest zawsze włączone.
W przypadku Node.js wersji 18 lub niższej jest używane ustawienie aplikacji, a domyślne zachowanie zależy od tego, czy błąd występuje przed zarejestrowaniem lub po zarejestrowaniu funkcji modelu w wersji 4:
- Jeśli błąd jest zgłaszany wcześniej, domyślne zachowanie jest zgodne z
false. Jeśli na przykład używasz modelu wersji 3 lub plik punktu wejścia nie istnieje. - Jeśli błąd zostanie zgłoszony później, domyślne zachowanie będzie zgodne z
true. Jeśli na przykład spróbujesz zarejestrować zduplikowane funkcje modelu v4.
| Key | Value | Description |
|---|---|---|
| FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Blokuj błędy punktu wejścia i rejestruj je w usłudze Application Insights. |
| FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | false |
Ignoruj błędy punktu wejścia i nie loguj ich w usłudze Application Insights. |
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
Zastępuje domyślny limit rozmiaru treści żądań wysyłanych do punktów końcowych HTTP. Wartość jest podana w bajtach z domyślnym maksymalnym rozmiarem żądania wynoszącym 104 857 600 bajtów.
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_REQUEST_BODY_SIZE_LIMIT | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Important
To ustawienie nie jest już obsługiwane. Pierwotnie zapewniono rozwiązanie tymczasowe dla aplikacji przeznaczonych dla środowiska uruchomieniowego w wersji 2.x. Zamiast tego będą mogli działać w środowisku uruchomieniowym w wersji 3.x, gdy był on nadal obsługiwany. Z wyjątkiem starszych aplikacji uruchamianych w wersji 1.x wszystkie aplikacje funkcji muszą działać w wersji 4.x środowiska uruchomieniowego usługi Functions: FUNCTIONS_EXTENSION_VERSION=~4. Aby uzyskać więcej informacji, zobacz Omówienie wersji środowiska uruchomieniowego usługi Azure Functions.
FUNCTIONS_WORKER_PROCESS_COUNT
Określa maksymalną liczbę procesów roboczych języka, o wartości domyślnej 1. Dozwolona maksymalna wartość to 10. Wywołania funkcji są równomiernie dystrybuowane między procesami językowymi roboczymi. Procesy wykonywane przez język są uruchamiane co 10 sekund, aż do osiągnięcia liczby określonej przez FUNCTIONS_WORKER_PROCESS_COUNT. Używanie wielu procesów roboczych językowych nie jest tym samym co skalowanie. Rozważ użycie tego ustawienia, gdy obciążenie ma kombinację wywołań związanych z procesorem i wejściem/wyjściem. To ustawienie dotyczy wszystkich środowisk uruchomieniowych, z wyjątkiem .NET działającego w procesie (FUNCTIONS_WORKER_RUNTIME=dotnet).
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_WORKER_PROCESS_COUNT | 2 |
FUNCTIONS_WORKER_RUNTIME
Język lub stos języków środowiska wykonawczego, który ma zostać załadowany w aplikacji funkcji. Ta wartość odpowiada językowi używanemu w aplikacji, na przykład python. Począwszy od wersji 2.x środowiska uruchomieniowego usługi Azure Functions, dana aplikacja funkcji może obsługiwać tylko jeden język.
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_WORKER_RUNTIME | node |
Prawidłowe wartości:
| Value | Stos technologii językowych |
|---|---|
dotnet |
C# (biblioteka klas) C# (skrypt) |
dotnet-isolated |
C# (izolowany proces roboczy) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Other |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
To ustawienie umożliwia procesowi roboczemu języka Python używanie pamięci udostępnionej w celu zwiększenia przepływności. Włącz pamięć współdzieloną, gdy Twoja aplikacja funkcji Pythona boryka się z ograniczeniami pamięci.
| Key | Przykładowa wartość |
|---|---|
| FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED | 1 |
Po włączeniu tego ustawienia można użyć ustawienia DOCKER_SHM_SIZE , aby ustawić rozmiar pamięci udostępnionej. Aby dowiedzieć się więcej, zobacz Pamięć współdzielona.
JAVA_APPLICATIONINSIGHTS_ENABLE_TELEMETRY
Wskazuje, czy proces roboczy Języka Java powinien wysyłać dane telemetryczne w formacie Open Telemetry do punktu końcowego usługi Application Insights. Ustawienie tej flagi spowoduje, że True host usługi Functions zezwoli na bezpośrednie przesyłanie strumieniowe dzienników procesu roboczego Java OpenTelemetry, co uniemożliwia zduplikowanie wpisów na poziomie hosta. Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień aplikacji.
JAVA_ENABLE_SDK_TYPES
Umożliwia aplikacji funkcji korzystanie z natywnych typów Azure SDK w powiązaniach.
Note
Obsługa powiązania z typami zestawu SDK jest obecnie dostępna w wersji zapoznawczej i ograniczona do zestawu AZURE Blob Storage SDK. Aby uzyskać więcej informacji, zobacz Typy zestawów SDK w artykule dokumentacji języka Java.
| Key | Przykładowa wartość |
|---|---|
| JAVA_ENABLE_SDK_TYPES | true |
Aby uzyskać więcej informacji, zobacz Typy zestawów SDK w artykule dokumentacji języka Java.
JAVA_OPTS
Służy do dostosowywania maszyny wirtualnej Java (JVM) używanej do uruchamiania funkcji Java podczas uruchamiania w planie Premium lub w planie dedykowanym. Podczas pracy w ramach planu zużycia, zamiast tego użyj languageWorkers__java__arguments. Aby uzyskać więcej informacji, zobacz Dostosuj JVM.
languageWorkers__java__arguments
Służy do dostosowywania maszyny wirtualnej Java (JVM) używanej do uruchamiania funkcji Java podczas działania w planie zużycia. To ustawienie zwiększa czasy zimnego uruchamiania dla funkcji języka Java uruchamianych w planie konsumpcyjnym. W przypadku planu Premium lub Dedykowanego zamiast tego użyj JAVA_OPTS. Aby uzyskać więcej informacji, zobacz Dostosuj JVM.
MDMaxBackgroundUpgradePeriod
Określa okres aktualizacji w tle zarządzanych zależności dla aplikacji funkcji programu PowerShell, z domyślną wartością 7.00:00:00 (co tydzień).
Każdy proces roboczy PowerShell inicjuje sprawdzanie uaktualnień modułów w Galerii PowerShell podczas uruchamiania procesu oraz co MDMaxBackgroundUpgradePeriod po uruchomieniu. Gdy nowa wersja modułu jest dostępna w Galeria programu PowerShell, zostanie zainstalowana w systemie plików i udostępniona procesom roboczym programu PowerShell. Zmniejszenie tej wartości pozwala aplikacji funkcji uzyskać nowsze wersje modułów wcześniej, ale zwiększa również użycie zasobów aplikacji, w tym operacji we/wy sieci, procesora CPU i magazynu. Zwiększenie tej wartości zmniejsza użycie zasobów aplikacji, ale może również opóźnić dostarczanie nowych wersji modułów do aplikacji.
| Key | Przykładowa wartość |
|---|---|
| MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Aby dowiedzieć się więcej, zobacz Zarządzanie zależnościami.
MDNewSnapshotCheckPeriod
Określa, jak często każdy proces roboczy PowerShell sprawdza, czy zainstalowano aktualizacje zarządzanych zależności. Domyślna częstotliwość to 01:00:00 (co godzinę).
Po zainstalowaniu nowych wersji modułów w systemie plików należy ponownie uruchomić każdy proces roboczy programu PowerShell. Ponowne uruchamianie procesów roboczych programu PowerShell wpływa na dostępność aplikacji, ponieważ może przerwać bieżące wykonywanie funkcji. Do momentu ponownego uruchomienia wszystkich procesów roboczych programu PowerShell wywołania funkcji mogą używać starych lub nowych wersji modułów. Ponowne uruchamianie wszystkich procesów roboczych programu PowerShell kończy się w ciągu MDNewSnapshotCheckPeriod.
W ramach każdego programu MDNewSnapshotCheckPeriod, proces roboczy programu PowerShell sprawdza, czy są zainstalowane aktualizacje zależności zarządzanych. Po zainstalowaniu uaktualnień inicjowane jest ponowne uruchomienie. Zwiększenie tej wartości zmniejsza częstotliwość przerw w działaniu z powodu ponownych uruchomień. Jednak zwiększenie może również wydłużyć czas, w którym wywołania funkcji mogą niedeterministycznie korzystać ze starych lub nowych wersji modułów.
| Key | Przykładowa wartość |
|---|---|
| MDNewSnapshotCheckPeriod | 01:00:00 |
Aby dowiedzieć się więcej, zobacz Zarządzanie zależnościami.
MDMinBackgroundUpgradePeriod
Czas trwania po poprzednim sprawdzeniu aktualizacji zarządzanych zależności przed rozpoczęciem kolejnego sprawdzenia aktualizacji, z domyślną wartością 1.00:00:00 (codziennie).
Aby uniknąć nadmiernych uaktualnień modułów w przypadku częstych ponownych uruchomień procesów roboczych, sprawdzanie pod kątem uaktualnień modułów nie jest wykonywane, gdy jakikolwiek proces roboczy już zainicjował to sprawdzenie w ostatnim MDMinBackgroundUpgradePeriodelemenecie.
| Key | Przykładowa wartość |
|---|---|
| MDMinBackgroundUpgradePeriod | 1.00:00:00 |
Aby dowiedzieć się więcej, zobacz Zarządzanie zależnościami.
OTEL_EXPORTER_OTLP_ENDPOINT
Wskazuje adres URL, do którego dane w formacie OpenTelemetry są eksportowane do pozyskiwania. Aby uzyskać więcej informacji, zobacz Use OpenTelemetry with Azure Functions (Używanie biblioteki OpenTelemetry z usługą Azure Functions).
OTEL_EXPORTER_OTLP_HEADERS
Ustawia opcjonalną listę nagłówków, które są stosowane do wszystkich danych wychodzących wyeksportowanych do punktu końcowego OpenTelemetry. To ustawienie należy użyć, gdy punkt końcowy openTelemetry wymaga podania klucza interfejsu API. Aby uzyskać więcej informacji, zobacz Use OpenTelemetry with Azure Functions (Używanie biblioteki OpenTelemetry z usługą Azure Functions).
PIP_INDEX_URL
To ustawienie umożliwia zastąpienie podstawowego adresu URL indeksu pakietów języka Python, który domyślnie to https://pypi.org/simple. Użyj tego ustawienia, gdy musisz uruchomić kompilację zdalną przy użyciu zależności niestandardowych. Te niestandardowe zależności mogą znajdować się w repozytorium indeksów pakietów zgodnym z interfejsem PEP 503 (interfejs API prostego repozytorium) lub w katalogu lokalnym, który jest zgodny z tym samym formatem.
| Key | Przykładowa wartość |
|---|---|
| PIP_INDEX_URL | http://my.custom.package.repo/simple |
Aby dowiedzieć się więcej, zapoznaj się z pip dokumentacją --index-url oraz z sekcją dotyczącą używania zależności niestandardowych w dokumentacji dla deweloperów języka Python.
PIP_EXTRA_INDEX_URL
Wartość tego ustawienia wskazuje dodatkowy adres URL indeksu dla pakietów niestandardowych dla aplikacji języka Python, który ma być używany oprócz elementu --index-url. Użyj tego ustawienia, gdy musisz uruchomić kompilację zdalną przy użyciu niestandardowych zależności, które znajdują się w dodatkowym indeksie pakietów. Powinny być zgodne z tymi samymi regułami co --index-url.
| Key | Przykładowa wartość |
|---|---|
| PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Aby dowiedzieć się więcej, zobacz pipdokumentację dotyczącą--extra-index-url oraz zależności niestandardowych w odniesieniu do Pythona.
PROJECT
Ustawienie ciągłego wdrażania, które informuje usługę wdrażania Kudu o folderze w połączonym repozytorium w celu lokalizacji możliwego do wdrożenia projektu.
| Key | Przykładowa wartość |
|---|---|
| PROJECT | WebProject/WebProject.csproj |
PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY
Wskazuje, czy proces roboczy języka Python powinien wysyłać dane telemetryczne w formacie Otwórz telemetrię do punktu końcowego usługi Application Insights. Ustawienie tej flagi na True polecenie hostowi usługi Functions zezwalania procesowi roboczemu języka Python na eksportowanie danych OpenTelemetry do punktu końcowego usługi Application Insights. Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień aplikacji.
PYTHON_ISOLATE_WORKER_DEPENDENCIES
Konfiguracja jest specyficzna dla aplikacji funkcji języka Python. Definiuje priorytetyzację kolejności ładowania modułu. Domyślnie ta wartość jest ustawiona na 0.
| Key | Value | Description |
|---|---|---|
| PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Określanie priorytetów ładowania bibliotek języka Python z wewnętrznych zależności procesu roboczego języka Python, co jest zachowaniem domyślnym. Niemicorosftowe biblioteki zdefiniowane w requirements.txt mogą być przysłonięte. |
| PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Określanie priorytetów ładowania bibliotek języka Python z pakietu aplikacji zdefiniowanego w requirements.txt. Ta wartość zapobiega kolizjom twoich bibliotek z bibliotekami wewnętrznych pracowników Pythona. |
PYTHON_ENABLE_DEBUG_LOGGING
Włącza rejestrowanie na poziomie debugowania w aplikacji funkcji języka Python. Wartość 1 umożliwia rejestrowanie na poziomie debugowania. Bez tego ustawienia lub z wartością 0 tylko informacje i dzienniki o wyższym poziomie są wysyłane z pracownika Pythona do hosta usługi Functions. Użyj tego ustawienia podczas debugowania lub śledzenia wykonań funkcji języka Python.
Podczas debugowania funkcji Pythona należy również ustawić poziom rejestrowania debugowania lub śledzenia w pliku host.json, w razie potrzeby. Aby dowiedzieć się więcej, zobacz Jak skonfigurować monitorowanie dla usługi Azure Functions.
PYTHON_ENABLE_OPENTELEMETRY
Wskazuje, czy proces roboczy języka Python powinien eksportować dane telemetryczne do punktu końcowego Open Telemetry. Ustawienie tej flagi na True polecenie hostowi usługi Functions zezwalania procesowi roboczemu języka Python na eksportowanie danych OpenTelemetry do skonfigurowanego OTEL_EXPORTER_OTLP_ENDPOINT. Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień aplikacji.
PYTHON_ENABLE_WORKER_EXTENSIONS
Konfiguracja jest specyficzna dla aplikacji funkcji języka Python. Ustawienie tej wartości na 1 umożliwia procesowi roboczemu ładowanie rozszerzeń dla procesów roboczych w języku Python zdefiniowanych w requirements.txt. Umożliwia aplikacji funkcji dostęp do nowych funkcji udostępnianych przez pakiety partnerskie. Może również zmienić zachowanie ładowania i wywołania funkcji w aplikacji. Upewnij się, że wybrane rozszerzenie jest wiarygodne, ponieważ ponosisz ryzyko jego użycia. Usługa Azure Functions nie udziela ekspresowych gwarancji na wszelkie rozszerzenia. Aby dowiedzieć się, jak używać rozszerzenia, odwiedź stronę z instrukcją rozszerzenia lub dokument readme. Domyślnie ta wartość jest ustawiona na 0.
| Key | Value | Description |
|---|---|---|
| PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Wyłącz jakiekolwiek rozszerzenie robocze języka Python. |
| PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Zezwalaj procesowi roboczemu języka Python na ładowanie rozszerzeń z requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Określa maksymalną liczbę wątków używanych przez proces roboczy języka Python do uruchamiania wywołań funkcji z wartością 1 domyślną dla wersji 3.8 języka Python i poniżej. W przypadku wersji języka Python 3.9 i nowszych, wartość jest ustawiona na None. To ustawienie nie gwarantuje liczby wątków, które zostaną ustawione podczas wykonywania. Ustawienie umożliwia językowi Python rozszerzanie liczby wątków na określoną wartość. Ustawienie dotyczy tylko aplikacji funkcji języka Python. Ponadto ustawienie dotyczy wywołania funkcji synchronicznych, a nie dotyczy korutyn.
| Key | Przykładowa wartość | Wartość maksymalna |
|---|---|---|
| PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
SCALE_CONTROLLER_LOGGING_ENABLED
To ustawienie jest obecnie dostępne w wersji zapoznawczej.
To ustawienie kontroluje logowanie z kontrolera skalowania usługi Azure Functions. Aby uzyskać więcej informacji, zobacz dzienniki kontrolera skalowania.
| Key | Przykładowa wartość |
|---|---|
| SCALE_CONTROLLER_LOGGING_ENABLED | AppInsights:Verbose |
Wartość tego klucza jest dostarczana w formacie <DESTINATION>:<VERBOSITY>, który jest zdefiniowany w następujący sposób:
| Property | Description |
|---|---|
<DESTINATION> |
Miejsce docelowe, do którego są wysyłane dzienniki. Prawidłowe wartości to AppInsights i Blob.Podczas korzystania z AppInsights upewnij się, że Application Insights jest włączony w aplikacji funkcji.Po ustawieniu docelowego na Blob, dzienniki są tworzone w kontenerze obiektów blob o nazwie azure-functions-scale-controller w domyślnym koncie magazynu ustawionym w ustawieniu aplikacji AzureWebJobsStorage. |
<VERBOSITY> |
Określa poziom logowania. Obsługiwane wartości to None, Warningi Verbose.W przypadku ustawienia wartości Verbose, kontroler skalowania rejestruje powód każdej zmiany liczby pracowników oraz informacje o wyzwalaczach, które wpływają na te decyzje. Rozbudowane dzienniki zawierają ostrzeżenia wyzwalaczy oraz hasze używane przez te wyzwalacze przed i po uruchomieniu kontrolera skalowania. |
Tip
Należy pamiętać, że pozostawienie włączonego rejestrowania kontrolera skalowania wpływa na potencjalne koszty monitorowania funkcji aplikacji. Rozważ włączenie rejestrowania do momentu zebrania wystarczającej ilości danych, aby zrozumieć, jak działa kontroler skalowania, a następnie wyłączyć go.
SCM_DO_BUILD_DURING_DEPLOYMENT
Steruje zachowaniem kompilacji zdalnej podczas wdrażania. Gdy SCM_DO_BUILD_DURING_DEPLOYMENT jest ustawiona jako true, projekt jest budowany zdalnie podczas wdrażania.
| Key | Przykładowa wartość |
|---|---|
| SCM_DO_BUILD_DURING_DEPLOYMENT | true |
SCM_LOGSTREAM_TIMEOUT
Określa limit czasu (w sekundach) po nawiązaniu połączenia z dziennikami przesyłania strumieniowego. Wartość domyślna to 7200 (2 godziny).
| Key | Przykładowa wartość |
|---|---|
| SCM_LOGSTREAM_TIMEOUT | 1800 |
Poprzednia przykładowa wartość 1800 ustawia limit czasu 30 minut. Aby uzyskać więcej informacji, zobacz Włączanie dzienników wykonywania przesyłania strumieniowego w usłudze Azure Functions.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Łańcuch połączenia dla konta magazynu, gdzie kod aplikacji funkcji i konfiguracja są przechowywane w planach skalowania opartych na zdarzeniach. Aby uzyskać więcej informacji, zobacz ustawienia połączenia konta magazynowego.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
To ustawienie jest wymagane zarówno dla aplikacji planu Consumption, jak i Elastic Premium. Nie jest to wymagane w przypadku aplikacji w planie dedykowanym, których usługa Functions nie skaluje dynamicznie.
Plan Flex Consumption to teraz zalecany plan hostingu bezserwerowego dla usługi Azure Functions. Oferuje szybsze skalowanie, zmniejszenie zimnych startów, sieć prywatną i większą kontrolę nad wydajnością i kosztami. Aby uzyskać więcej informacji, zobacz Plan elastycznego zużycia.
Zmiana lub usunięcie tego ustawienia może spowodować, że aplikacja funkcji nie zostanie uruchomiona. Aby dowiedzieć się więcej, zobacz ten artykuł dotyczący rozwiązywania problemów.
Azure Files nie obsługuje użycia tożsamości zarządzanej do dostępu do udziału plików. Aby uzyskać więcej informacji, zobacz Scenariusze uwierzytelniania obsługiwane przez usługę Azure Files.
WEBSITE_CONTENTOVERVNET
Important
WEBSITE_CONTENTOVERVNET to starsze ustawienie aplikacji, które zostało zastąpione przez właściwość witryny vnetContentShareEnabled.
Wartość 1 umożliwia aplikacji funkcji skalowanie między sygnaturami, gdy masz konto magazynu ograniczone do sieci wirtualnej. To ustawienie należy włączyć, gdy ograniczasz konto przechowywania do sieci wirtualnej. Wymagane tylko w przypadku używania WEBSITE_CONTENTSHARE i WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Aby dowiedzieć się więcej, zobacz Ograniczanie konta magazynu do sieci wirtualnej.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_CONTENTOVERVNET | 1 |
To ustawienie aplikacji jest wymagane do skalowania krzyżowego w planach Elastic Premium i Dedicated (App Service) (wersja Standardowa i nowsza), gdy konto magazynu jest ograniczone przez sieć wirtualną. Bez tego ustawienia aplikacja funkcji może być skalowana tylko w ramach pojedynczej sygnatury (około 1–20 wystąpień). Nie jest obsługiwane podczas działania na planie Zużycia.
Note
Podczas kierowania do udziału w zawartości na koncie magazynu wykorzystywanego przez wiele aplikacji funkcji w ramach tego samego planu należy zachować szczególną ostrożność. Aby uzyskać więcej informacji, zobacz Spójny routing za pośrednictwem sieci wirtualnych w artykule "Zagadnienia dotyczące magazynu".
WEBSITE_CONTENTSHARE
Nazwa udziału plików używanego przez usługę Functions do przechowywania kodu aplikacji funkcji i plików konfiguracji. Ta zawartość jest wymagana przez plany skalowania oparte na zdarzeniach. Używany z WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Wartość domyślna to unikatowy ciąg wygenerowany przez środowisko uruchomieniowe, który zaczyna się od nazwy aplikacji funkcji. Aby uzyskać więcej informacji, zobacz ustawienia połączenia konta magazynowego.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_CONTENTSHARE | functionapp091999e2 |
To ustawienie jest wymagane tylko dla aplikacji w planie Konsumpcyjnym i Premium. Nie jest to wymagane w przypadku aplikacji w planie dedykowanym, które nie są dynamicznie skalowane przez usługę Functions.
Plan Flex Consumption to teraz zalecany plan hostingu bezserwerowego dla usługi Azure Functions. Oferuje szybsze skalowanie, zmniejszenie zimnych startów, sieć prywatną i większą kontrolę nad wydajnością i kosztami. Aby uzyskać więcej informacji, zobacz Plan elastycznego zużycia.
Udział jest tworzony podczas zakładania aplikacji funkcji. Zmiana lub usunięcie tego ustawienia może spowodować, że aplikacja funkcji nie zostanie uruchomiona. Aby dowiedzieć się więcej, zobacz ten artykuł dotyczący rozwiązywania problemów.
W przypadku korzystania z szablonu usługi Azure Resource Manager (ARM) lub pliku Bicep w celu utworzenia aplikacji funkcji podczas wdrażania należy wziąć pod uwagę następujące kwestie:
- Jeśli nie ustawisz
WEBSITE_CONTENTSHAREwartości dla aplikacji głównej funkcji ani żadnych aplikacji w slotach, unikatowe wartości współdzielenia są generowane dla ciebie. NieużycieWEBSITE_CONTENTSHAREjest zalecanym podejściem do wdrożenia szablonu ARM. - Istnieją scenariusze, w których należy ustawić
WEBSITE_CONTENTSHAREwartość na wstępnie zdefiniowaną wartość, na przykład w przypadku korzystania z zabezpieczonego konta magazynu w sieci wirtualnej. W takim przypadku należy ustawić unikatową nazwę udziału dla aplikacji głównej funkcji oraz aplikacji dla każdego slotu wdrożeniowego. W przypadku konta magazynu zabezpieczonego przez sieć wirtualną należy również utworzyć udział w ramach zautomatyzowanej instalacji. Aby uzyskać więcej informacji, zobacz Zabezpieczone wdrożenia. - Nie ustawiaj
WEBSITE_CONTENTSHAREjako ustawienia gniazda. - Po określeniu
WEBSITE_CONTENTSHAREparametru wartość musi być zgodna z poniższymi wskazówkami dotyczącymi nazw udziałów.
WEBSITE_DNS_SERVER
Ustawia serwer DNS używany przez aplikację podczas rozpoznawania adresów IP. To ustawienie jest często wymagane w przypadku korzystania z niektórych funkcji sieciowych, takich jak strefy prywatne usługi Azure DNS i prywatne punkty końcowe.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_DNS_SERVER | 168.63.129.16 |
WEBSITE_ENABLE_BROTLI_ENCODING
Określa, czy kodowanie Brotli jest używane do kompresji zamiast domyślnej kompresji gzip. Gdy WEBSITE_ENABLE_BROTLI_ENCODING jest ustawione na 1, stosowane jest kodowanie Brotli. W przeciwnym razie jest używane kodowanie gzip.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Wyłącza pamięć podręczną podczas wdrażania funkcji aplikacji przy użyciu szablonów usługi Azure Resource Manager (ARM).
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
Maksymalna liczba wystąpień, do których aplikacja może skalować się poziomo. Wartość domyślna to brak limitu.
Important
To ustawienie jest w wersji zapoznawczej. Właściwość aplikacji dla maksymalnego skalowania funkcji istnieje teraz. Zalecamy użycie tej właściwości do ograniczania skalowania w poziomie.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Tylko system Windows.
Ustawia wersję Node.js do użycia podczas uruchamiania aplikacji funkcji w systemie Windows. Należy użyć tyldy (~), aby środowisko uruchomieniowe używało najnowszej dostępnej wersji docelowej wersji głównej. Na przykład, gdy ustawisz wartość na ~18, używana jest najnowsza wersja Node.js 18. Jeśli wersja główna ma oznaczenie tyldą, nie trzeba ręcznie aktualizować wersji podrzędnej.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
W przypadku zamiany miejsc w aplikacji funkcji uruchomionej w planie Premium, proces ten może zakończyć się niepowodzeniem, gdy dedykowane konto magazynu używane przez aplikację ma ograniczenie sieciowe. Ten błąd jest spowodowany przez starszą funkcję rejestrowania aplikacji, którą dzielą zarówno Functions, jak i App Service. To ustawienie zastępuje funkcję rejestrowania starszej wersji i umożliwia zamianę.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS | 0 |
Dodaj WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS o wartości 0 do wszystkich slotów, aby upewnić się, że starsze ustawienia diagnostyczne nie blokują zamian. Możesz również dodać to ustawienie i wartość tylko do slotu produkcyjnego jako ustawienie slotu wdrożeniowego (sticky).
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS
Domyślnie ustawienia wersji aplikacji funkcji są specyficzne dla każdego slotu. To ustawienie jest używane podczas uaktualniania funkcji przy użyciu slotów wdrożeniowych. Takie podejście zapobiega nieoczekiwanym zachowaniom ze względu na zmianę wersji po zamianie. Ustaw wartość na 0 w środowisku produkcyjnym i w slocie, aby upewnić się, że wszystkie ustawienia wersji są także zamieniane. Aby uzyskać więcej informacji, zobacz Aktualizowanie przy użyciu slotów.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS | 0 |
WEBSITE_RUN_FROM_PACKAGE
Umożliwia uruchamianie aplikacji funkcji z pliku pakietowego, który może być zamontowany lokalnie lub wdrażany z zewnętrznego adresu URL.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_RUN_FROM_PACKAGE | 1 |
Prawidłowe wartości to adres URL prowadzący do lokalizacji pliku pakietu wdrożenia zewnętrznego lub 1. W ustawieniu na 1, pakiet musi znajdować się w folderze d:\home\data\SitePackages. Jeśli używasz wdrożenia zip z włączoną obsługą WEBSITE_RUN_FROM_PACKAGE , pakiet zostanie automatycznie przekazany do tej lokalizacji. Aby uzyskać więcej informacji, zobacz Uruchamianie funkcji z pliku pakietu.
Jeśli używasz WEBSITE_RUN_FROM_PACKAGE=<URL>polecenia , adres URL musi zostać rozpoznany jako lokalizacja pliku pakietu w dostępnej lokalizacji magazynu, takiej jak kontener usługi Azure Blob Storage. Kontener musi być prywatny, aby zapobiec nieautoryzowanemu dostępowi, co wymaga użycia sygnatury dostępu współdzielonego (SAS) w adresie URL lub uwierzytelnieniu identyfikatora Entra firmy Microsoft w celu zezwolenia na dostęp. Zalecane jest używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi.
Jest to przykład ustawienia WEBSITE_RUN_FROM_PACKAGE adresu URL pakietu wdrożeniowego w kontenerze usługi Azure Blog Storage:
WEBSITE_RUN_FROM_PACKAGE=https://contosostorageaccount.blob.core.windows.net/mycontainer/mypackage.zip
W przypadku korzystania z sygnatury dostępu współdzielonego token jest dołączany do adresu URL jako parametr zapytania.
Podczas wdrażania pakietu z usługi Azure Blob Storage przy użyciu tożsamości zarządzanej przypisanej przez użytkownika należy również ustawić WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika. Podczas wdrażania z zewnętrznego adresu URL pakietu należy również ręcznie zsynchronizować wyzwalacze. Aby uzyskać więcej informacji, zobacz Wyzwalanie synchronizacji.
WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID
Wskazuje identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika, która jest używana podczas uzyskiwania dostępu do pakietu wdrożeniowego z zewnętrznego kontenera usługi Azure Blob Storage zabezpieczonego przy użyciu identyfikatora Entra firmy Microsoft. To ustawienie wymaga WEBSITE_RUN_FROM_PACKAGE ustawienia adresu URL pakietu wdrożeniowego w kontenerze prywatnym.
Ustawienie WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID=SystemAssigned jest takie samo jak pominięcie ustawienia, w takim przypadku jest używana tożsamość zarządzana przypisana przez system dla aplikacji.
WEBSITE_SKIP_CONTENTSHARE_VALIDATION
Ustawienia WEBSITE_CONTENTAZUREFILECONNECTIONSTRING i WEBSITE_CONTENTSHARE mają dodatkowe kontrole poprawności, aby upewnić się, że aplikacja może zostać prawidłowo uruchomiona. Tworzenie ustawień aplikacji kończy się niepowodzeniem, gdy aplikacja funkcyjna nie może prawidłowo połączyć się z podrzędnym kontem przechowywania lub Key Vault z powodu ograniczeń sieciowych lub innych czynników ograniczających. Gdy WEBSITE_SKIP_CONTENTSHARE_VALIDATION jest ustawiony na 1, sprawdzanie poprawności zostanie pominięte. W przeciwnym razie wartość domyślna to 0, a walidacja odbywa się.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_SKIP_CONTENTSHARE_VALIDATION | 1 |
Jeśli walidacja zostanie pominięta, a parametry połączenia lub udział zawartości nie są prawidłowe, aplikacja nie może uruchomić się poprawnie. W takim przypadku funkcje zwracają błędy HTTP 500. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z błędem: "Środowisko uruchomieniowe usługi Azure Functions jest niedostępne".
WEBSITE_SLOT_NAME
Read-only. Nazwa bieżącego slotu wdrożeniowego. Nazwa miejsca produkcyjnego to Production.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_SLOT_NAME | Production |
WEBSITE_TIME_ZONE
Umożliwia ustawienie strefy czasowej dla aplikacji funkcjonalnej.
| Key | OS | Przykładowa wartość |
|---|---|---|
| WEBSITE_TIME_ZONE | Windows | Eastern Standard Time |
| WEBSITE_TIME_ZONE | Linux | America/New_York |
Domyślna strefa czasowa używana z wyrażeniami CRON to uniwersalny czas koordynowany (UTC). Aby zapewnić, że twoje wyrażenie CRON jest oparte na innej strefie czasowej, utwórz ustawienie aplikacji dla swojej aplikacji funkcji o nazwie WEBSITE_TIME_ZONE.
Wartość tego ustawienia zależy od systemu operacyjnego i planu, na którym działa aplikacja funkcji.
| System operacyjny | Plan | Value |
|---|---|---|
| Windows | All | Ustaw wartość na nazwę żądanej strefy czasowej, jak podano w drugim wierszu z każdej pary podanej przez polecenie systemu Windows tzutil.exe /L |
| Linux | Premium Dedykowana |
Ustaw wartość na nazwę żądanej strefy czasowej, jak pokazano w bazie danych tz |
Note
WEBSITE_TIME_ZONE i TZ nie są aktualnie obsługiwane podczas działania na systemie Linux w ramach planu Flex Consumption lub Consumption. W takim przypadku ustawienie WEBSITE_TIME_ZONE lub TZ może utworzyć problemy związane z protokołem SSL i spowodować, że metryki przestaną działać dla aplikacji.
Na przykład czas wschodni w Stanach Zjednoczonych (reprezentowany przez Eastern Standard Time (Windows) lub America/New_York (Linux)) obecnie używa czasu UTC-05:00 w czasie standardowym i UTC-04:00 w czasie letnim. Aby uruchomić wyzwalacz czasomierza o godzinie 10:00 czasu wschodniego każdego dnia, utwórz ustawienie aplikacji dla aplikacji funkcji o nazwie WEBSITE_TIME_ZONE, ustaw wartość Eastern Standard Time (Windows) lub America/New_York (Linux), a następnie użyj następującego wyrażenia NCRONTAB:
"0 0 10 * * *"
W przypadku używania WEBSITE_TIME_ZONEparametru czas jest dostosowywany pod kątem zmian czasu w określonej strefie czasowej, w tym czasu letniego i zmian w czasie standardowym.
WEBSITE_USE_PLACEHOLDER
Wskazuje, czy używać określonej optymalizacji zimnego startu podczas uruchamiania w Planie zużycia. Aby wyłączyć optymalizację zimnego startu w planie Zużycie, ustaw wartość 0.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Wskazuje, czy należy użyć konkretnej optymalizacji zimnego startu podczas uruchamiania funkcji procesu roboczego platformy .NET w trybie izolowanym na planie konsumpcyjnym. Aby wyłączyć optymalizację zimnego startu w planie Zużycie, ustaw wartość 0.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Important
WEBSITE_VNET_ROUTE_ALL to starsze ustawienie aplikacji, które zastąpiono ustawieniem witryny vnetRouteAllEnabled.
Wskazuje, czy cały ruch wychodzący z aplikacji jest kierowany przez sieć wirtualną. Wartość 1 ustawienia wskazuje, że cały ruch aplikacji jest kierowany przez sieć wirtualną. To ustawienie jest potrzebne podczas konfigurowania regionalnej integracji sieci wirtualnej w planach hostingu Elastic Premium i Dedicated. Jest on również używany, gdy brama NAT sieci wirtualnej służy do definiowania statycznego adresu wychodzącego IP.
| Key | Przykładowa wartość |
|---|---|
| WEBSITE_VNET_ROUTE_ALL | 1 |
WEBSITES_ENABLE_APP_SERVICE_STORAGE
Wskazuje, czy katalog /home jest udostępniany w skalowanych wystąpieniach, z domyślną wartością true. Należy ustawić tę wartość na false podczas wdrażania aplikacji funkcji w kontenerze.
Ustawienia witryny usługi App Service
Niektóre konfiguracje muszą być utrzymywane na poziomie usługi App Service jako ustawienia witryny, takie jak wersje językowe. Te ustawienia są zarządzane w witrynie Azure Portal przy użyciu interfejsów API REST lub przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Poniżej przedstawiono ustawienia witryny, które mogą być wymagane, w zależności od języka środowiska uruchomieniowego, systemu operacyjnego i wersji.
AcrUseManagedIdentityCreds
Wskazuje, czy obraz jest uzyskiwany z instancji usługi Azure Container Registry przy użyciu uwierzytelniania za pomocą tożsamości zarządzanej. Wartość true wymaga użycia tożsamości zarządzanej. Zalecamy takie podejście w odniesieniu do przechowywanych poświadczeń uwierzytelniania jako najlepsze rozwiązanie w zakresie zabezpieczeń.
AcrUserManagedIdentityID
Wskazuje tożsamość zarządzaną do użycia podczas pobierania obrazu z instancji Azure Container Registry. Wymaga, aby AcrUseManagedIdentityCreds było ustawione na true. Te wartości są prawidłowe:
| Value | Description |
|---|---|
system |
Używana jest zarządzana tożsamość przypisana przez system dla aplikacji funkcji. |
<USER_IDENTITY_RESOURCE_ID> |
W pełni kwalifikowany identyfikator zasobu przypisanej przez użytkownika tożsamości zarządzanej. |
Tożsamość, którą określisz, musi zostać dodana do roli ACRPull w rejestrze kontenerów. Aby uzyskać więcej informacji, zobacz Tworzenie i konfigurowanie aplikacji funkcji na platformie Azure przy użyciu obrazu.
alwaysOn
W przypadku aplikacji funkcji działającej w ramach planu dedykowanego (App Service), środowisko uruchomieniowe usługi Functions przechodzi w stan bezczynności po kilku minutach braku aktywności, w którym momencie tylko żądania do wyzwalacza HTTP wzbudzają aplikację funkcji. Aby upewnić się, że funkcje wyzwalane nie przez protokół HTTP działają poprawnie, w tym funkcje wyzwalane przez czasomierz, włącz opcję Zawsze włączone dla aplikacji funkcji, ustawiając alwaysOn witrynę na wartość true.
functionsRuntimeAdminIsolationEnabled
Określa, czy można uzyskać dostęp do wbudowanych punktów końcowych administratora (/admin) w aplikacji funkcji. Gdy ustawienie false jest na wartości domyślnej, aplikacja zezwala na żądania do punktów końcowych w obszarze /admin, jeśli te żądania zawierają klucz nadzorczy. Gdy nie można uzyskać dostępu do true/admin punktów końcowych, nawet przy użyciu klucza głównego.
Nie można ustawić tej właściwości dla aplikacji działających w systemie Linux w planie Zużycie. Nie można go ustawić dla aplikacji działających w wersji 1.x usługi Azure Functions. Jeśli używasz wersji 1.x, musisz najpierw przeprowadzić migrację do wersji 4.x.
Plan Flex Consumption to teraz zalecany plan hostingu bezserwerowego dla usługi Azure Functions. Oferuje szybsze skalowanie, zmniejszenie zimnych startów, sieć prywatną i większą kontrolę nad wydajnością i kosztami. Aby uzyskać więcej informacji, zobacz Plan elastycznego zużycia.
linuxFxVersion
W przypadku aplikacji funkcji działających w systemie Linux linuxFxVersion wskazuje język i wersję procesu roboczego specyficznego dla języka. Te informacje, w połączeniu z elementem FUNCTIONS_EXTENSION_VERSION, służą do określenia, który obraz kontenera systemu Linux został zainstalowany w celu uruchomienia aplikacji funkcji. To ustawienie można skonfigurować jako zdefiniowaną wartość lub niestandardowy URI obrazu.
Ta wartość jest ustawiana dla Ciebie, gdy tworzysz swoją aplikację funkcji Linux. Może być konieczne ustawienie go dla szablonu ARM i wdrożeń Bicep oraz w niektórych scenariuszach aktualizacji.
Prawidłowe wartości linuxFxVersion
Możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure, aby wyświetlić tabelę bieżących linuxFxVersion wartości według obsługiwanej wersji środowiska uruchomieniowego usługi Functions:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
Poprzednie polecenie wymaga uaktualnienia do wersji 2.40 interfejsu wiersza polecenia platformy Azure.
Obrazy niestandardowe
Podczas tworzenia i obsługi własnego niestandardowego kontenera systemu Linux dla aplikacji linuxFxVersion funkcji wartość jest zamiast tego w formacie DOCKER|<IMAGE_URI>, jak w poniższym przykładzie:
linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"
Ten przykład wskazuje źródło rejestru wdrożonego kontenera. Aby uzyskać więcej informacji, zobacz Praca z kontenerami i usługą Azure Functions.
Important
Podczas tworzenia własnych kontenerów musisz dbać o aktualizację podstawowego obrazu kontenera do najnowszej obsługiwanej wersji. Obsługiwane obrazy podstawowe dla usługi Azure Functions są specyficzne dla języka. Zobacz repozytoria obrazów podstawowych usługi Azure Functions.
Zespół Functions zobowiązuje się do publikowania comiesięcznych aktualizacji dla tych bazowych obrazów. Regularne aktualizacje obejmują najnowsze aktualizacje wersji pomocniczej i poprawki zabezpieczeń dla środowiska uruchomieniowego i języków usługi Functions. Należy regularnie aktualizować kontener z najnowszego obrazu podstawowego i ponownie wdrożyć zaktualizowaną wersję kontenera. Aby uzyskać więcej informacji, zobacz Obsługa kontenerów niestandardowych.
netFrameworkVersion
Ustawia określoną wersję platformy .NET dla funkcji języka C#. Aby uzyskać więcej informacji, zobacz Aktualizowanie aplikacji funkcji na platformie Azure.
powerShellVersion
Ustawia określoną wersję programu PowerShell, na której działają funkcje. Aby uzyskać więcej informacji, zobacz Zmienianie wersji programu PowerShell.
Gdy uruchamiasz lokalnie, należy zamiast tego użyć ustawienia FUNCTIONS_WORKER_RUNTIME_VERSION w pliku local.settings.json.
vnetContentShareEnabled
Aplikacje działające w planie Premium używają współdzielonego zasobu plików do przechowywania zawartości. Nazwa tego udziału zawartości jest przechowywana w WEBSITE_CONTENTSHARE ustawieniu aplikacji, a jego parametry połączenia są przechowywane w WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Aby kierować ruch między aplikacją funkcji a udziałem zawartości za pośrednictwem sieci wirtualnej, należy również ustawić vnetContentShareEnabled na true. Włączenie tej właściwości witryny jest wymagane do skalowania krzyżowego podczas ograniczania konta magazynu do sieci wirtualnej w planach hostingu Elastic Premium i Dedicated. Bez tego ustawienia aplikacja funkcji może być skalowana tylko w ramach pojedynczej sygnatury (około 1–20 wystąpień).
Note
Podczas kierowania do udziału w zawartości na koncie magazynu wykorzystywanego przez wiele aplikacji funkcji w ramach tego samego planu należy zachować szczególną ostrożność. Aby uzyskać więcej informacji, zobacz Spójny routing za pośrednictwem sieci wirtualnych w artykule "Zagadnienia dotyczące magazynu".
Ta właściwość witryny zastępuje starsze WEBSITE_CONTENTOVERVNET ustawienie.
vnetImagePullEnabled
Funkcje obsługują aplikacje funkcyjne działające w kontenerach na systemie Linux. Aby połączyć się i pobrać z rejestru kontenerów w sieci wirtualnej, musisz ustawić vnetImagePullEnabled na true. Ta właściwość witryny jest obsługiwana w planach hostingu Elastic Premium i Dedicated. Plan Flex Consumption nie polega na właściwościach witryny ani ustawieniach aplikacji do skonfigurowania sieci. Aby uzyskać więcej informacji, zobacz Wycofywanie planu Flex Consumption.
vnetRouteAllEnabled
Wskazuje, czy cały ruch wychodzący z aplikacji jest kierowany przez sieć wirtualną. Wartość true ustawienia wskazuje, że cały ruch aplikacji jest kierowany przez sieć wirtualną. Użyj tego ustawienia podczas konfigurowania regionalnej integracji sieci wirtualnej w planach Elastic Premium i Dedicated. Jest on również używany, gdy brama NAT sieci wirtualnej służy do definiowania statycznego adresu wychodzącego IP. Aby uzyskać więcej informacji, zobacz Konfigurowanie routingu aplikacji.
To ustawienie witryny zastępuje starsze ustawienie WEBSITE_VNET_ROUTE_ALL .
Deprecjacje planu Flex Consumption
W planie Flex Consumption, właściwości witryny i ustawienia aplikacji są przestarzałe i nie powinny być używane podczas tworzenia zasobów aplikacji funkcji.
| Setting/property | Reason |
|---|---|
ENABLE_ORYX_BUILD |
Zastąpiony parametrem remoteBuild podczas wdrażania w Flex Consumption |
FUNCTIONS_EXTENSION_VERSION |
Ustawienie aplikacji jest ustawiane przez zaplecze. Wartość ~1 można zignorować. |
FUNCTIONS_WORKER_RUNTIME |
Zastąpione przez name w properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Zastąpione przez version w properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Zastąpiono przez sekcję wyzwalacza skalowania i współbieżności |
FUNCTIONS_WORKER_PROCESS_COUNT |
Nieprawidłowe ustawienie |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Nieprawidłowe ustawienie |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Zastąpiony parametrem remoteBuild podczas wdrażania w Flex Consumption |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Zastąpione przez sekcję wdrażania functionAppConfig |
WEBSITE_CONTENTOVERVNET |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
WEBSITE_CONTENTSHARE |
Zastąpione przez sekcję wdrażania functionAppConfig |
WEBSITE_DNS_SERVER |
System DNS jest dziedziczony ze zintegrowanej sieci wirtualnej w rozwiązaniu Flex |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT |
Zastąpione przez maximumInstanceCount w properties.functionAppConfig.scaleAndConcurrency |
WEBSITE_NODE_DEFAULT_VERSION |
Zastąpione przez version w properties.functionAppConfig.runtime |
WEBSITE_RUN_FROM_PACKAGE |
Nie stosowane w przypadku wdrożeń w Flex Consumption |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
Udostępnianie treści nie jest używane w Flex Consumption |
WEBSITE_VNET_ROUTE_ALL |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
properties.alwaysOn |
Nieprawidłowe |
properties.containerSize |
Zmieniono nazwę jako instanceMemoryMB |
properties.ftpsState |
Usługa FTPS nie jest obsługiwana |
properties.isReserved |
Nieprawidłowe |
properties.IsXenon |
Nieprawidłowe |
properties.javaVersion |
Zastąpione przez version w properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Zastępuje properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Zastąpione przez version w properties.functionAppConfig.runtime |
properties.powerShellVersion |
Zastąpione przez version w properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Zmieniono nazwę jako maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Zmieniono nazwę jako alwaysReadyInstances |
properties.use32BitWorkerProcess |
32-bitowe nie jest obsługiwane |
properties.vnetBackupRestoreEnabled |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
properties.vnetContentShareEnabled |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
properties.vnetImagePullEnabled |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
properties.vnetRouteAllEnabled |
Nie jest używany do obsługi sieci w środowisku Flex Consumption |
properties.windowsFxVersion |
Nieprawidłowe |