VS CodeからHTTP Triggerで実行する関数をデプロイしても、「No HTTP triggers found.」とVS Codeのコンソールに表示され関数がデプロイできない
idea-seeds
25
評価のポイント
タグに「Azure」を選択すると必須選択項目である子タグに「Azure SQL Database」しか表示されないため、VS Codeも関係する問題であることからタグは「Visual Studio」を選択しています。
VS Codeを使用して以前Azureの関数アプリにデプロイできていたコードをそのまま既存の関数アプリに上書きデプロイしようとしてみたり、新たな関数アプリにデプロイしようとしてみたりしても、デプロイできません。 デプロイは成功しているように見えていますが、「No HTTP triggers found.」とVS Codeのコンソールに表示されておりファイル自体もAzure上に配置されていないように見えています。
どのようにすれば、VS Codeから関数アプリをデプロイできるでしょうか。
なお、関数アプリ自体をVS Codeから作成するのではなくAzureポータル上から作成することも試してみましたが、結果は変わりません。
試したこと:
※関数アプリの名前など、一部は[******REDACTED******]
に置き換えています。
- VS Codeを起動
- 新たなテンプレートを作成するために、VS Codeのコマンドパレットから、次のように操作をする。
-
> Azure Functions: Create New Project
を選択 - プロジェクト保存先として、特定のフォルダを指定
- 言語に「Python」を指定
- Pythonの実行環境は「Skip virtual environment」を指定
- テンプレートは「HTTP trigger」を指定
- テンプレートの関数名を「http_trigger」に指定
- 実行時の認証レベルは「ANONYMOUS」を指定
- 「Open in current window」を選択
-
- 新規作成したテンプレートをそのままデプロイしてみるために、VS Codeのコマンドパレットから、次のように操作して新たに関数アプリを作成をする。
-
> Azure Functions: Create Function App in Azure (advanced)
を選択- 関数名に任意の名前を指定
- タイプとして「Linux Consumption」を選択
- リージョンとして「Japan East」を選択
- スタックとして「Python 3.11」を選択
- リソースグループとして当方の関数アプリ用リソースグループを選択
- Create new storage accountを選択
- ストレージアカウント名に任意の名前を指定
- Application Insightsは「Skip for now」を選択
- Assigned identityは「Create Assigned identity」を選択
実行した結果、VS Codeの出力に表示された内容は以下のとおりでした。
16:11:16: Failed to get latest templates: The operation was aborted. Rejecting from abort signal callback while making request.
16:15:41: Creating user assigned identity "[******REDACTED******]" in location "Japan East"...
16:15:42: Successfully created user assigned identity "[******REDACTED******]".
16:15:42: Ensuring App Service plan "[******REDACTED******]" exists...
16:15:42: Creating App Service plan "[******REDACTED******]"...
16:15:44: Successfully created App Service plan "[******REDACTED******]".
16:15:44: Creating storage account "[******REDACTED******]" in location "Japan East" with sku "Standard_LRS"...
16:16:09: Successfully created storage account "[******REDACTED******]".
16:16:10: Role assignment "Storage Blob Data Owner" created for the storageAccounts resource "[******REDACTED******]".
16:16:10: Creating new function app "[******REDACTED******]"...
16:16:34: Successfully created function app "[******REDACTED******]": https://[******REDACTED******].azurewebsites.net
-
> Azure Funtions: Deploy to Function App
を選択 - あらかじめ作成した関数アプリ名を選択
- 上書きされ、元に戻せない旨の警告が表示されたら、「Deploy」を選択
この結果、次のようなログがVS Codeの出力に表示され、HTTP Triggerできる関数が存在しません。
16:18:32 [******REDACTED******]: Starting deployment...
16:18:33 [******REDACTED******]: Creating zip package...
16:18:33 [******REDACTED******]: Adding 4 files to zip package...
16:18:33 [******REDACTED******]: c:\[******REDACTED******]\testing\requirements.txt
16:18:33 [******REDACTED******]: c:\[******REDACTED******]\testing\host.json
16:18:33 [******REDACTED******]: c:\[******REDACTED******]\testing\function_app.py
16:18:33 [******REDACTED******]: c:\[******REDACTED******]\testing\.funcignore
16:18:33 [******REDACTED******]: Zip package size: 1.28 kB
16:18:34 [******REDACTED******]: Fetching changes.
16:18:35 [******REDACTED******]: Cleaning up temp folders from previous zip deployments and extracting pushed zip file /tmp/zipdeploy/[******REDACTED******].zip (0.00 MB) to /tmp/zipdeploy/extracted
16:18:38 [******REDACTED******]: Updating submodules.
16:18:39 [******REDACTED******]: Preparing deployment for commit id '7e4a567c-3'.
16:18:39 [******REDACTED******]: PreDeployment: context.CleanOutputPath False
16:18:39 [******REDACTED******]: PreDeployment: context.OutputPath /home/site/wwwroot
16:18:39 [******REDACTED******]: Repository path is /tmp/zipdeploy/extracted
16:18:39 [******REDACTED******]: Running oryx build...
16:18:39 [******REDACTED******]: Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.11 -p packagedir=.python_packages/lib/site-packages
16:18:40 [******REDACTED******]: Querying triggers...
16:18:47 [******REDACTED******]: No HTTP triggers found.
開発者向けテクノロジ Visual Studio その他
147 件の質問
サインインして回答する