何が起こったか
-
terraform import
で抽出したAzureFunctions
の情報を抽出。 - 1で抽出した情報を元に、別リソースグループにて
AzureFunctions
を作成。 -
VSCode
を使用してソースコードデプロイ - デプロイには成功するのだが、同期に失敗する。
デプロイには成功するのだが、同期に失敗する
上記の「4」について、もう少し詳細状況を残します。
VSCode
を使用してソースコードをデプロイし、待つこと数分経ちますと、ログに以下のような出力がされます。
Deployment successful. deployer = ms-azuretools-vscode deploymentPath = Functions App ZipDeploy. Extract zip. Remote build.
Syncing triggers...
Syncing triggers (Attempt 2/6)...
Syncing triggers (Attempt 3/6)...
Syncing triggers (Attempt 4/6)...
Syncing triggers (Attempt 5/6)...
Syncing triggers (Attempt 6/6)...
Encountered an error (ServiceUnavailable) from host runtime.
デプロイには成功したが、同期には失敗しました、と表示されています、、、。
結論
私の場合は、AzureFunctions
のランタイムのバージョンを
python3.11 ⇒ python3.9
に変更したら解決しました。
修正までの経緯
なぜ上記のような修正に至ったかをご紹介していきます。
ログの確認
Kudu Service Overviewにあるように、Kudu
を使用することでデプロイ時のログを確認することが出来ます。
App Service
のリソース名を使用して、https://<app-name>.scm.azurewebsites.net
にアクセスすると、以下のような画面に遷移できます。
右上の「Log stream」から、App Service
のログを確認できます。
そちらのログで、以下のような出力が確認できました。
ImportError: cannot import name 'Sequence' from 'collections'
上記のエラー文をそのまま検索し、一番最初に引っかかったISSUEにて、「python 3.10
でデプロイすると同様のインポートエラーが発生する」と記載されていたので、もしやと思い バージョンを python 3.9
にしたら、解決しました、、。
最後に
Azure Functions
デプロイ時の同期エラーに関して、備忘録がてら残させていただきました。
本事象について、根本原因はさらに調査が必要となりますが、今回この方法で暫定的に対処ができたため、ご紹介させていただきました。
もし、本事象についての知見がある方がいらっしゃいましたら、コメント頂けると幸いです。
ご紹介
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください:
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area