Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Du kannst einen GitHub Actions-Workflow nutzen, um automatisch deinen Funktionscode auf Azure zu erstellen und bereitzustellen, indem du die Azure/functions-action.
Um mit GitHub Actions zu deployen, erfüllen Sie diese drei wichtigsten Schritte:
- Erstellen Sie eine benutzerdefinierte verwaltete Identität in Azure mit einer föderierten Zugangsberechtigung, die Ihrem GitHub-Repository vertraut, und weisen Sie ihr die Rolle des Website-Mitwirkenden in Ihrer Funktions-App zu.
- Fügen Sie die Client-ID, Tenant-ID und Abonnement-ID der Identität als Repository-Geheimnisse in GitHub hinzu.
- Füge deinem Repository eine Workflow-YAML-Datei hinzu, die mit OpenID Connect (OIDC) zur Authentifizierung verwendet
azure/loginwird, dann AufrufeAzure/functions-actionzum Deployen.
Wenn du das Azure-Portal nutzt, um GitHub Actions zu aktivieren, führt Functions diese Aufgaben automatisch aus, sowohl in deinem Azure-Abonnement als auch in deinem GitHub-Repository.
Erstellen Sie eine Workflow-Konfiguration für Azure Functions
Sie pflegen eine YAML-Datei (.yml), die die Workflow-Konfiguration im /.github/workflows/ Pfad Ihres Repositorys definiert. Diese Definition enthält die Aktionen und Parameter, aus denen der Workflow besteht. Dies ist für die Entwicklungssprache Ihrer Funktionen spezifisch.
Wählen Sie eine Methode, um Ihre Workflow-Datei mit dem Selektor oben im Artikel zu erstellen:
| Method | Am besten geeignet für: | OIDC-Unterstützung |
|---|---|---|
| Workflow-Vorlage | Volle Kontrolle: Kopiere eine OIDC-taugliche Vorlage und passe sie an | Erfordert Konfiguration |
| Azure Portal | Einfachste Einrichtung: Das Portal kann Identität, Zugangsdaten und Workflow-Datei für dich erstellen | Für dich konfiguriert |
| GitHub-Marktplatz | GitHub zuerst: Beginnen Sie mit den integrierten Marktplatzvorlagen von GitHub | Erfordert Konfiguration und Modifikation der Vorlage |
Authentifizierungsübersicht
GitHub Actions müssen sich bei Azure authentifizieren, um Ihren Code bereitzustellen. Dieser Artikel verwendet OpenID Connect (OIDC), die empfohlene Authentifizierungsmethode. OIDC verwendet föderierte Zugangsdaten, um eine Vertrauensbeziehung zwischen Ihrem GitHub-Repository und einer vom Benutzer zugewiesenen verwalteten Identität in Microsoft Entra herzustellen. In GitHub werden keine Geheimnisse gespeichert.
Beispiel für OIDC-Authentifizierung
Das folgende Inline-Beispiel zeigt das zentrale OIDC-Authentifizierungs- und Bereitstellungsmuster, das in allen Workflow-Vorlagen verwendet wird:
permissions:
id-token: write
contents: read
steps:
- name: 'Login via OIDC'
uses: azure/login@v3
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: 'Deploy to Azure Functions'
uses: Azure/functions-action@v1
with:
app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
Überlegungen zur GitHub Actions OIDC-Authentifizierung
- OIDC verwendet Workload Identity Federation und unterstützt ausschließlich benutzerdefinierte verwaltete Identitäten.
- Wenn Sie eine auf GitHub Actions basierende Bereitstellung im Azure-Portal aktivieren, wird standardmäßig die OIDC-Authentifizierung verwendet.
- Mit OIDC werden die Client-ID, die Tenant-ID und die Abonnement-ID der verwalteten Identität als GitHub-Repository-Geheimnisse gespeichert.
- Verwenden Sie Azure rollenbasierte Zugriffskontrolle (Azure RBAC), um den Zugriff nur auf die für Ihre Bereitstellung benötigten Azure-Ressourcen zu beschränken.
Voraussetzungen
Ein Azure Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
Ein GitHub Konto. Falls Sie noch nicht über ein Konto verfügen, können Sie sich kostenlos registrieren.
Project-Quellcode in einem GitHub-Repository.
Ein grundlegendes Verständnis der GitHub Actions-Workflows. Wenn du neu bei GitHub Actions bist, siehe Understanding GitHub Actions.
Eine funktionierende Funktions-App, die auf Azure gehostet wird (nur codebasiert oder containerbasiert).
(Nur Container-Deployments) Eine bestehende Container-Registry, wie zum Beispiel Azure Container Registry.
- Azure CLI bei lokaler Entwicklung. Sie können die Azure CLI auch in Azure Cloud Shell verwenden.
Erstellen Sie eine verwaltete Identität für die Bereitstellung von GitHub Actions
OpenID Connect (OIDC) ist die empfohlene Authentifizierungsmethode für GitHub Actions-Deployments an Azure Functions. Mit OIDC konfigurieren Sie eine benutzerdefinierte verwaltete Identität in Azure und schaffen eine Vertrauensbeziehung zu Ihrem GitHub-Repository. Der Workflow kann sich dann mit Azure authentifizieren, ohne Zugangsdaten als Geheimnisse zu speichern.
Verwenden Sie den Befehl az identity create zum Erstellen einer benutzerseitig zugewiesenen verwalteten Identität:
az identity create --name myGitHubDeployIdentity --resource-group <RESOURCE_GROUP> \ --query "{clientId: clientId, tenantId: tenantId}" -o tableErsetzen Sie
<RESOURCE_GROUP>durch den Namen Ihrer Ressourcengruppe.Aus der Ausgabe notieren Sie die und
clientIddietenantIdWerte. Holen Sie sich außerdem Ihre Abonnement-ID:az account show --query "{subId: id}" -o tableDiese drei Werte brauchst du später, wenn du Zugangsdaten zu GitHub hinzufügst.
Verwenden Sie den Befehl az role assignment create , um die
Website ContributorRolle der verwalteten Identität zuzuweisen, die auf Ihre Funktions-App abgegrenzt ist:IDENTITY_PRINCIPAL=$(az identity show --name myGitHubDeployIdentity --resource-group <RESOURCE_GROUP> --query 'principalId' -o tsv) FUNCTION_APP_ID=$(az functionapp show --name <APP_NAME> --resource-group <RESOURCE_GROUP> --query 'id' -o tsv) az role assignment create --assignee $IDENTITY_PRINCIPAL --role "Website Contributor" --scope $FUNCTION_APP_IDErsetzen Sie
<APP_NAME>und<RESOURCE_GROUP>durch die Namen Ihrer App bzw. Ihrer Ressourcengruppe.Verwenden Sie den Befehl az identity federated-credential create, um eine föderierte Zugangsdaten zu erstellen, die Token aus Ihrem GitHub-Repository vertraut:
az identity federated-credential create \ --identity-name myGitHubDeployIdentity \ --resource-group <RESOURCE_GROUP> \ --name github-deploy-credential \ --issuer https://token.actions.githubusercontent.com \ --subject repo:<GITHUB_ORG>/<REPO_NAME>:ref:refs/heads/<BRANCH_NAME> \ --audiences api://AzureADTokenExchangeErsetzen Sie
<RESOURCE_GROUP>,<GITHUB_ORG>,<REPO_NAME>und<BRANCH_NAME>durch Ihre Werte. Das Thema muss mit dem Zweig übereinstimmen, der deinen Workflow auslöst.(Optional) Wenn Sie einen Container aus dem Azure Container Registry bereitstellen, weisen Sie die
acrpullRolle auch der verwalteten Identität zu:IDENTITY_PRINCIPAL=$(az identity show --name myGitHubDeployIdentity --resource-group <RESOURCE_GROUP> --query 'principalId' -o tsv) az role assignment create --assignee $IDENTITY_PRINCIPAL --role acrpull \ --scope /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<REGISTRY_NAME>Ersetzen Sie
<SUBSCRIPTION_ID>,<RESOURCE_GROUP>und<REGISTRY_NAME>durch Ihre Werte.
Fügen Sie Zugangsdaten zu GitHub hinzu
Verwenden Sie die Werte, die Sie beim Erstellen der verwalteten Identität kopiert haben.
Wechseln Sie in GitHub zu Ihrem Repository.
Gehe zu Einstellungen>Geheimnisse und Variablen Aktionen>.
Im Reiter Geheimnisse wählen Sie Neues Repository-Geheimnis.
Erstellen Sie jedes der folgenden Geheimnisse:
Name Wert AZURE_CLIENT_IDDie clientIdder verwalteten IdentitätAZURE_TENANT_IDDie tenantIdder verwalteten IdentitätAZURE_SUBSCRIPTION_IDDie Abonnement-ID, die Ihre Funktions-App enthält
Für Container-Deployments aus einem privaten Register benötigen Sie außerdem registry-spezifische Geheimnisse. Weitere Informationen finden Sie unter Docker-Login-Aktion.
Erstellen des Workflows anhand einer Vorlage
Die beste Möglichkeit zum manuellen Erstellen einer Workflowkonfiguration besteht darin, mit der offiziell unterstützten Vorlage zu beginnen.
Wählen Sie entweder Windows oder Linux aus, um sicherzustellen, dass Sie die Vorlage für das richtige Betriebssystem erhalten.
Verwenden Sie die sprachspezifische OIDC-Workflow-Vorlage aus dem Azure Functions Actions-Repository. Kopieren Sie den vollständigen Dateiinhalt in eine neue Datei, die in Ihrem Repository benannt
.github/workflows/deploy-function-app.ymlist:name: Build and deploy .NET project to Azure Function App using OIDC on: push: branches: [ main ] workflow_dispatch: env: AZURE_FUNCTIONAPP_NAME: 'APP_NAME' # Set this to your function app name on Azure AZURE_FUNCTIONAPP_PROJECT_PATH: '.' # Set this to the path to your function app project, defaults to the repository root. The deploy action will package the contents of this path. DOTNET_VERSION: '10.0.x' # Set this to the .NET version of your project BUILD_ARTIFACT_NAME: 'released-package' # Set this according to your team's naming convention jobs: build: runs-on: windows-latest # Assumes your target function app is Windows-based permissions: id-token: write # Required for OIDC contents: read # Required for actions/checkout defaults: run: shell: bash working-directory: ${{ env.AZURE_FUNCTIONAPP_PROJECT_PATH }} steps: - name: 'Checkout repository' uses: actions/checkout@v6 - name: 'Set up .NET version: ${{ env.DOTNET_VERSION }}' uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.DOTNET_VERSION }} # Perform additional steps such as running tests, if needed - name: 'Build and prepare .NET project for deployment' run: dotnet publish --configuration Release --output ./output - name: Upload artifact for the deployment job uses: actions/upload-artifact@v7 with: name: ${{ env.BUILD_ARTIFACT_NAME }} path: ${{ env.AZURE_FUNCTIONAPP_PROJECT_PATH }}/output include-hidden-files: true # Required for .NET projects deploy: runs-on: windows-latest # Assumes your target function app is Windows-based needs: build permissions: id-token: write # Required for OIDC steps: - name: 'Download artifact from build job' uses: actions/download-artifact@v8 with: name: ${{ env.BUILD_ARTIFACT_NAME }} path: '${{ env.AZURE_FUNCTIONAPP_PROJECT_PATH }}/downloaded-artifact' - name: 'Log in to Azure with AZ CLI' uses: azure/login@v3 with: client-id: ${{ vars.AZURE_CLIENT_ID }} tenant-id: ${{ vars.AZURE_TENANT_ID }} subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }} - name: 'Run the Azure Functions action' uses: Azure/functions-action@v1 id: deploy-to-function-app with: app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }} package: '${{ env.AZURE_FUNCTIONAPP_PROJECT_PATH }}/downloaded-artifact'Aktualisieren Sie in der Vorlage die
env:Variablen für Ihr Projekt. Jede Vorlage benötigtAZURE_FUNCTIONAPP_NAME. Die anderen Variablen hängen von deiner Sprache ab:Variable Erforderlich Description AZURE_FUNCTIONAPP_NAMEJa Your function app name in Azure DOTNET_VERSIONJa Die .NET-Version deines Projekts (zum Beispiel, 10.0.x)AZURE_FUNCTIONAPP_PROJECT_PATHNein Pfad zu deinem Projektordner. Standard: .(Repository-Root)Die OIDC-Vorlagen enthalten bereits den
azure/loginSchritt mit OIDC-Authentifizierung. Überprüfen Sie, ob die ,secrets.AZURE_CLIENT_ID, undsecrets.AZURE_TENANT_IDdiesecrets.AZURE_SUBSCRIPTION_IDReferenzen mit den von Ihnen erstellten Repository-Geheimnissen übereinstimmen.Fügen Sie diese neue YAML-Datei im Pfad
/.github/workflows/in Ihrem Repository hinzu.
Erstellen der Workflowkonfiguration im Portal
Wenn du das Portal nutzt, um GitHub Actions zu aktivieren, übernimmt Functions die gesamte Einrichtung automatisch. Du musst keine verwaltete Identität manuell erstellen, keine Zugangsdaten konfigurieren oder eine Workflow-Datei schreiben. Functions übernimmt folgende Aufgaben für Sie:
In deinem Azure-Abonnement:
- Erstellt eine vom Benutzer zugewiesene verwaltete Identität und weist ihr die Rolle des Website-Mitwirkenden in Ihrer Funktions-App zu.
- Fügt der verwalteten Identität für die GitHub OIDC-Authentifizierung eine föderierte Zugangsdaten hinzu.
In deinem GitHub-Repository:
- Fügt die Client-ID, Abonnement-ID und Tenant-ID-Werte als GitHub Actions-Geheimnisse hinzu.
- Erstellt eine Workflow-Datei basierend auf deinem Anwendungsstack und committet sie in
.github/workflows.
Während der Erstellung von Funktions-Apps
Sie können schnell mit GitHub Actions über die Registerkarte "Bereitstellung" beginnen, wenn Sie eine Funktion im Azure Portal erstellen. So fügen Sie einen GitHub Actions Workflow hinzu, wenn Sie eine neue Funktions-App erstellen:
Wählen Sie im Azure-PortalBereitstellung im Erstellen Funktions-App-Fluss aus.
Aktivieren Sie Kontinierte Bereitstellung, wenn für jede Codeaktualisierung ein Code-Push an Azure Portal ausgelöst werden soll.
Unter den GitHub-Einstellungen wählen Sie Autorisieren, um Ihr GitHub-Konto zu verbinden. Melden Sie sich mit dem GitHub-Konto an, das Schreibzugriff auf Ihr Repository hat.
Geben Sie Ihre GitHub-Organisation, Ihr Repository und Ihren Branch ein.
Optional wählen Sie Vorschaudatei, um zu sehen, wie die Workflow-Datei aussieht, bevor sie erstellt und Ihrem Repository hinzugefügt wird.
Schließen Sie die Konfiguration Ihrer Funktions-App ab. Ihr GitHub Repository enthält jetzt eine neue Workflowdatei in
/.github/workflows/.
Für eine vorhandene Funktions-App
So fügen Sie einer vorhandenen Funktions-App einen GitHub Actions Workflow hinzu:
Gehe im Azure-Portal zu deiner Funktions-App und wähle Deployment>Deployment Center.
Wählen Sie Continuous Deployment (CI/CD). Wählen Sie unter Quelle die Option GitHub. Wenn Sie die Standardmeldung Building with GitHub Actions nicht sehen, wählen Sie Anbieter ändern, wählen Sie GitHub Actions und OK.
Wenn du den GitHub-Zugriff noch nicht autorisiert hast, wähle Authorize. Geben Sie Ihre GitHub Anmeldeinformationen an, und wählen Sie Sign in aus. Um ein anderes GitHub Konto zu autorisieren, wählen Sie Konto ändern aus, und melden Sie sich mit einem anderen Konto an.
Wählen Sie Ihre GitHub Organization, Repository und Branch aus. Um mit GitHub Actions bereitzustellen, benötigen Sie Schreibzugriff auf dieses Repository.
Für die Option Workflow wählen Sie Workflow hinzufügen. Diese Option erstellt eine neue Workflow-Datei in
/.github/workflows/. Um einen bestehenden Workflow zu verwenden, wählen Sie den verfügbaren Workflow verwenden und wählen Sie Ihre Workflow-Datei.In den Authentifizierungseinstellungen wählen Sie Benutzer-zugewiesene Identität, um OpenID Connect (OIDC) zu verwenden, was empfohlen wird, da Sie keine Geheimnisse in GitHub speichern müssen. Wählen Sie Ihr Abo und den (neuen) vorgeschlagenen Identitätsnamen aus. Eine neue, vom Nutzer zugewiesene verwaltete Identität wird erstellt und erhält Zugriff auf die Rolle des Website-Mitwirkenden . Wenn Sie eine bestehende Identität verwenden, müssen Sie ihr zunächst Zugang zur Rolle des Website-Mitwirkenden gewähren.
Wichtig
Wenn Sie Basic Authentication auswählen, wird Ihr Veröffentlichungsprofil, das gemeinsame Geheimnisse enthält, in GitHub Secrets gespeichert. Du musst außerdem die SCM-Basisauthentifizierung aktivieren, was deine App weniger sicher macht.
Wählen Sie Vorschaudatei aus, um die Workflowdatei anzuzeigen, die Ihrem GitHub-Repository in
.github/workflows/hinzugefügt wird.Wählen Sie Speichern aus, um die Workflowdatei Ihrem Repository hinzuzufügen. Wählen Sie den Reiter Logs, um den Status aktueller und vorheriger Deployments einzusehen.
Erstellen der Workflowkonfigurationsdatei
Sie können die GitHub Actions Workflowkonfigurationsdatei aus den Azure Functions Vorlagen direkt aus Ihrem GitHub Repository erstellen.
Wechseln Sie in GitHub zu Ihrem Repository.
Wählen Sie Actions (Aktionen) und New Workflow (Neuer Workflow) aus.
Suchen Sie nach Funktionen.
Suchen Sie in den angezeigten Funktionen-App-Workflows, die von Microsoft Azure erstellt wurden, das Ihrer Codesprache entspricht, und wählen Sie Configure aus.
Aktualisieren Sie in der neu erstellten YAML-Datei den Parameter
env.AZURE_FUNCTIONAPP_NAMEmit dem Namen Ihrer Funktions-App-Ressource in Azure. Du musst vielleicht auch den Parameter aktualisieren, der die von deiner App verwendete Sprachversion festlegt, zum BeispielDOTNET_VERSIONfür C# oderPYTHON_VERSIONPython-Apps.Die Standardvorlagen verwenden möglicherweise die Publizierungs-Profil-Authentifizierung anstelle des empfohlenen OIDC. Um auf OIDC umzusteigen und sich an das Verhalten des Portals anzupassen, nehmen Sie folgende Änderungen vor:
Entfernen Sie die
publish-profileParameter ,scm-do-build-during-deployment, undenable-oryx-buildausAzure/functions-action.Entferne die Einstellung
environmentaus dem Job (falls vorhanden), da das föderierte Credential-Subjekt mit dem Branch-Trigger übereinstimmen muss.Fügen Sie einen
azure/loginSchritt vor dem SchrittAzure/functions-actionhinzu:- name: 'Login via OIDC' uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: 'Run Azure Functions Action' uses: Azure/functions-action@v1 with: app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }} package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}Füge dem Job folgende Berechtigungen hinzu:
permissions: id-token: write contents: read
Überprüfen Sie, dass die neue Workflow-Datei mit einem passenden Namen
/.github/workflows/gespeichert ist, und wählen Sie Änderungen committen.
Azure Functions-Aktion
Die Azure Functions-Aktion (Azure/functions-action) definiert, wie Ihr Code in einer vorhandenen Funktions-App in Azure oder in einem bestimmten Slot in Ihrer App veröffentlicht wird.
Parameter
Die folgende Tabelle beschreibt die von folgenden Eingabeparametern unterstützt Azure/functions-action:
| Parameter | Description |
|---|---|
| app-name | (Erforderlich) Der Name deiner Funktions-App in Azure. |
| package | (Erforderlich) Der Weg zu deinem Projekt zur Veröffentlichung. Standard: . (alle Dateien im Repository). |
| Fernbau | Stellen Sie auf true ein, um eine Build-Aktion von Kudu zu aktivieren, wenn Sie in eine Flex-Consumption-App deployen. Ein Oryx-Build wird immer ausgeführt; Setze nicht auch SCM-DO-Build-While-Deployment oder Enable-Oryx-Build. Standardwert: false. |
| scm-do-build-withing-deployment | Erlauben Sie der Kudu-Standort, Pre-Deployment-Operationen wie Remote-Builds durchzuführen. Setze dich so ein true , dass Kudu dein Projekt während der Bereitstellung baut. Standardwert: false. Weitere Informationen finden Sie unter SCM_DO_BUILD_DURING_DEPLOYMENT. |
| enable-oryx-build | Erlaube Kudu, Projektabhängigkeiten mit Oryx zu lösen. Stelle sowohl dieses als auch scm-do-build-whileing-deployment so ein, dass true Oryx statt des Workflows verwendet wird. Standardwert: false. Nur Linux. |
| slot-name | Der Einsatzplatz für den Einsatz. Standard: Produktionsplatz. |
| publish-profile | Der Name des GitHub geheimen Schlüssels, der Ihr Veröffentlichungsprofil enthält. Nicht nötig, wenn die empfohlene OIDC-Authentifizierung verwendet wird. |
| SKU | Setzen Sie auf flexconsumption bei der Authentifizierung mit Publish-Profile in einem Flex-Consumption-Plan. Nicht erforderlich bei OIDC-Authentifizierung oder anderen Hosting-Plänen. |
| respect-pom-xml | (nur Java) Setzen auf true , um das Deployment-Artefakt aus pom.xmlabzuleiten. Wenn true, setze das Paket auf .. Standardwert: false. |
| respect-funcignore | Setze auf true deine .funcignore-Datei und schließen die aufgeführten Pfade aus. Standardwert: false. |
Die folgende Tabelle zeigt, welche Parameter für jeden Hosting-Plan unterstützt werden:
| Parameter | Flex Consumption | Elastischer Aufpreis | Dedicated | Verbrauch |
|---|---|---|---|---|
| app-name | Erforderlich | Erforderlich | Erforderlich | Erforderlich |
| package | Erforderlich | Erforderlich | Erforderlich | Erforderlich |
| Fernbau | Optional | — | — | — |
| scm-do-build-withing-deployment | — | Optional | Optional | Optional |
| enable-oryx-build | — | Optional (Linux) | Optional (Linux) | Optional (Linux) |
| slot-name | Nicht unterstützt | Optional | Optional | Optional |
| publish-profile | Nicht empfohlen | Nicht empfohlen | Nicht empfohlen | Nicht empfohlen |
| SKU | Nur Veröffentlichungsprofil | — | — | — |
| respect-pom-xml | Optional (Java) | Optional (Java) | Optional (Java) | Optional (Java) |
| respect-funcignore | Optional | Optional | Optional | Optional |
Bereitstellungsmethoden
Wenn du GitHub Actions verwendest, hängt die Bereitstellungsmethode von deinem Hosting-Plan ab:
| Hostingplan | Bereitstellungsmethode |
|---|---|
| Flex-Verbrauch | OneDeploy |
| Elastischer Aufpreis | ZIP-Bereitstellung |
| Dediziert (App Service) | ZIP-Bereitstellung |
| Verbrauch | Windows: ZIP-Bereitstellung Linux: URL des externen Pakets* |
* Die Möglichkeit, Ihre Apps unter Linux in einem Verbrauchsplan auszuführen, ist für den Ruhestand geplant. Weitere Informationen finden Sie unter Azure Functions-Verbrauchsplan-Hosting.
Weitere Informationen finden Sie unter Deployment-Technologien in Azure Functions.