1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

半年くらい前までは問題なくリリースできていた関数アプリがエラーにより発行できなくなったので、その際の確認ポイントです。

事象

Visual Studio 2022で.NET6のアプリケーションを関数アプリ(Azure Functions)に「発行」(デプロイ)すると「公開でエラーが発生しました。」のダイアログボックスが表示され失敗する。
このとき次のようなログが出力される。

コンソール.出力
2>xxx\.nuget\packages\microsoft.net.sdk.functions\4.1.0\build\
Microsoft.NET.Sdk.Functions.Publish.ZipDeploy.targets(46,5):
エラー : The attempt to publish the ZIP file through <関数アプリのFQDN>/api/zipdeploy
failed with HTTP status code Unauthorized.

原因(の一つの可能性)

[SCM 基本認証の発行資格情報]が「オフ」になっており、基本認証(ユーザー名とパスワードの認証)によるアプリの展開資格情報が得られないため、該当の設定を「オン」にする必要がある。
該当箇所:関数アプリ左ペインの[設定]にある[構成] > [全般設定]タブ
(Webアプリも同様)

20241217_1.png

Azure Functions の zip プッシュ デプロイ | Microsoft Learn
デプロイ資格情報を構成する - Azure App Service | Microsoft Learn

引っかかった点

関数アプリを普通にデプロイした場合に、該当の設定は既定で「オン」になります。
このため特段意識をしなくても本事象に当たることはないと思います。

が、Visual Studio 2022でデプロイを行う先の関数アプリを[新しいプロファイル]として登録しますが、この際に[基本認証を有効にする(非推奨)]が既定でチェックが外れていました。
20241217_5.png

このため関数アプリをこのまま登録してAzureポータルを確認すると「SCM 基本認証の発行資格情報」がオフに変わっています。
20241217_3.png

以前は普通にデプロイできていたし、.NET6ランタイムの関数アプリが2024年11月より選択できなくなっているため、その辺りがエラーの原因かな、と見当違いなアプローチで調査をしていたのですが、Visual Studio 2022で恐らくデフォルトが変わっていてハマりました。

既定値も意識しないと、というお話でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?