---
title: Deploying Azure Functions – My favorite
description: Wir geben Ihnen einen Einblick in den Einsatz von Azure Functions, ein Baustein für schlanke, skalierbare Lösungsarchitekturen.
image: https://blog.hansevision.com/hubfs/pexels-nataliya-vaitkevich-5411999-1.jpg
---

[![HV_BechtleGroup_sRGB_Black_2025 (3)](https://blog.hansevision.com/hs-fs/hubfs/Website%20Weebly%20Bildmaterialien/Logos/HV_BechtleGroup_sRGB_Black_2025%20(3).png?width=225&height=45&name=HV_BechtleGroup_sRGB_Black_2025%20(3).png)](https://www.hansevision.com/) [Blog](https://blog.hansevision.com)

 Lösungen

 Leistungen

[Über uns](https://www.hansevision.com/hansevision.html)

 Karriere

[Kontakt](https://www.hansevision.com/kontakt.html)

[![HV_BechtleGroup_sRGB_Black_2025 (3)](https://blog.hansevision.com/hs-fs/hubfs/Website%20Weebly%20Bildmaterialien/Logos/HV_BechtleGroup_sRGB_Black_2025%20(3).png?width=163&height=32&name=HV_BechtleGroup_sRGB_Black_2025%20(3).png)](https://www.hansevision.com/) [Blog](https://blog.hansevision.com)

 Lösungen

 Leistungen

[Über uns](https://www.hansevision.com/hansevision.html)

 Karriere

Zurück

 2 Minuten Lesezeit  13.02.2019

[Tipps & Tricks](https://blog.hansevision.com/tag/tipps-tricks) [Azure](https://blog.hansevision.com/tag/azure)

<https://twitter.com/intent/tweet?original_referer=https://blog.hansevision.com/deploying-azure-functions-my-favorite?utm_medium=social&utm_source=twitter&url=https://blog.hansevision.com/deploying-azure-functions-my-favorite?utm_medium=social&utm_source=twitter&source=tweetbutton&text=> <http://www.linkedin.com/shareArticle?mini=true&url=https://blog.hansevision.com/deploying-azure-functions-my-favorite?utm_medium=social&utm_source=linkedin>

![Bild von Andreas Witt](https://blog.hansevision.com/hubfs/Theme%20Development/user-large-solid.svg)

[Andreas Witt](https://blog.hansevision.com/author/andreas-witt)

# Deploying Azure Functions – My favorite

---

Als Software- und Lösungsarchitekt kommt man im Azure Umfeld nicht um den Einsatz von Azure Functions drum herum. Und das ist auch gut so, da diese ein idealer Baustein für eine schlanke, skalierbare Lösungsarchitekturen sind.

Aus der Entwicklungsumgebung oder über die **Continuous Deployment** Mechanismen ist das Publizieren einer neuen Funktion Version nach Azure bis dato immer reibungslos verlaufen. Kürzlich sollte ich allerdings eine entwickelte Function komplett auf manuellem Wege in einer Kundenumgebung bereitstellen und habe mich im Vorfelde über die Best Practice schlau gemacht. Unter [https://docs.microsoft.com/de-de/azure/azure-functions/deployment-zip-push](https://docs.microsoft.com/de-de/azure/azure-functions/deployment-zip-push) ist Microsofts präferierter Weg über die Zip Push API ausführlich beschrieben.

Also habe ich mich voller Tatendrang ans Werk gemacht und die Beispiele adoptiert. Leider musste ich nach ca. einer Stunde feststellen, dass keiner der dort skizzierten Wege für mich funktioniert hat.

**Azure CLI** (az functionapp deployment source…) war fest der Meinung, dass die Ressourcengruppe nicht existiert?!

**REST API und PowerShell** antworteten mit 401 – Unauthorized: Access is denied due to invalid credentials. (Deployment Credentials waren definitiv richtig!)

 

Da das Veröffentlichen mit Visual Studio aber ohne Probleme funktioniert, habe ich nach einen Weg gesucht die Function mit MS Web Deploy (ohne Visual Studio) auszurollen und habe unter [https://blogs.technet.microsoft.com/livedevopsinjapan/2017/09/12/build-and-deploy-azure-functions-without-using-visual-studio-2017/](https://blogs.technet.microsoft.com/livedevopsinjapan/2017/09/12/build-and-deploy-azure-functions-without-using-visual-studio-2017/) eine super Anleitung gefunden, die auf Anhieb funktioniert.

**In Kürze zusammengefasst:**

Im ersten Schritt muss man in Azure vom angelegten App Service das Publishing Profile exportieren und Web Deploy ([https://www.microsoft.com/en-us/download/details.aspx?id=43717](https://www.microsoft.com/en-us/download/details.aspx?id=43717)) installieren.

Aus dem Publishing Profi (Teil 1 mit publishMethod=”MSDeploy”) benötigt man folgende Informationen:

- **msdeploySite**
- **userName**
- **userPWD**

Nach dem Installieren von Web Deploy kann das Zip mit folgendem Befehl ohne Probleme installiert werden:

“C:\\Program Files\\IIS\\Microsoft Web Deploy V3\\msdeploy.exe” -verb:sync -source:package='<path-to-Function.zip>’ -dest:auto,ComputerName=’[https://<**msdeploySite**](https://%3CmsdeploySite)>.scm.azurewebsites.net:443/msdeploy.axd?site=<**msdeploySite**>’,UserName='<**userName**>’,Password='<**userPWD**>’,AuthType=’Basic’ -enableRule:DoNotDeleteRule

 

Übrigens der Aufbau des Zip-Archives muss wie folgt aussehen:

```
FunctionApp  | - host.json  | - Myfirstfunction  | | - function.json  | | - ...    | - mysecondfunction  | | - function.json  | | - ...    | - SharedCode  | - bin 
```

Ich wünsche euch frohes, entspanntes Deployen!

 

 

![Bild von Andreas Witt](https://blog.hansevision.com/hubfs/Theme%20Development/user-large-solid.svg)

[Andreas Witt](https://blog.hansevision.com/author/andreas-witt) [Alle Artikel des Autors](https://blog.hansevision.com/author/andreas-witt)

### Ähnliche Blog-Artikel

![](https://blog.hansevision.com/hs-fs/hubfs/Theme%20Development/hansevision-newsletter.png?width=410&name=hansevision-newsletter.png)

### Mit unserem HanseVision Update sind Sie immer gut informiert über alle Themen rund um moderne Zusammenarbeit, Lösungen und Tools, Referenzen und Aktionen.

[![Jetzt zum Newsletter anmelden](https://hubspot-no-cache-eu1-prod.s3.amazonaws.com/cta/default/24882854/c769ef8c-5eed-48ae-ada2-7fc72d656a50.png)](https://hubspot-cta-redirect-eu1-prod.s3.amazonaws.com/cta/redirect/24882854/c769ef8c-5eed-48ae-ada2-7fc72d656a50)

Updates & Aktionen

Versand alle 4-6 Wochen

Trends & aktuelle Entwicklungen

![](https://blog.hansevision.com/hs-fs/hubfs/Theme%20Development/hansevision-newsletter.png?width=250&height=250&name=hansevision-newsletter.png)

[![Jetzt zum Newsletter anmelden](https://hubspot-no-cache-eu1-prod.s3.amazonaws.com/cta/default/24882854/c769ef8c-5eed-48ae-ada2-7fc72d656a50.png)](https://hubspot-cta-redirect-eu1-prod.s3.amazonaws.com/cta/redirect/24882854/c769ef8c-5eed-48ae-ada2-7fc72d656a50)

<https://www.youtube.com/channel/UCZQCgsNj4irQw3Ozhqf3YaA?sub_confirmation=1> <https://www.linkedin.com/company/5723266>

[Datenschutzerklärung](https://www.hansevision.com/datenschutzerklaerung.html)

[Impressum](https://www.hansevision.com/impressum-688471.html)

[AGB](https://www.hansevision.com/uploads/4/1/9/3/41931735/hansevision_agb_der_hansevision_gmbh_stand_31.03.2020.pdf)

[Telefon: +49 (40) 2880 7590 - 0](tel:+4940288075900)

 Adresse: Atlantic Haus, Bernhard-Nocht-Strasse 113, 20359 Hamburg

[Cookie-Richtlinien](https://www.hansevision.com/cookie-richtlinie.html)

 Cookie-Einstellungen

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Andreas Witt",
    "url" : "https://blog.hansevision.com/author/andreas-witt"
  },
  "dateModified" : "2023-04-27T08:20:38.720Z",
  "datePublished" : "2019-02-13T23:00:00.000Z",
  "headline" : "Deploying Azure Functions – My favorite",
  "image" : [ "https://blog.hansevision.com/hubfs/pexels-nataliya-vaitkevich-5411999-1.jpg" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.hansevision.com/deploying-azure-functions-my-favorite",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.hansevision.com/hubfs/HanseVision_sRGB_Black.png"
    },
    "name" : "HanseVision GmbH"
  }
}
```