我有一个关于消费计划的简单pythonAzure函数。
它在本地运行得很好。下面的代码。
import logging
import azure.functions as func
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
name = req.params.get('name')
if not name:
try:
req_body = req.get_json()
except ValueError:
pass
else:
name = req_body.get('name')
if name:
return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
else:
return func.HttpResponse(
"This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
status_code=200
)
当部署到服务器时,所有的代码和必要的包也会得到很好的部署。
但是,http触发器根本没有同步。
错误是其中之一。
11:25:36 pm MyAzureFunctionConsumptionPlan04: Uploading built content /home/site/artifacts/functionappartifact.squashfs for linux consumption function app...
11:25:36 pm MyAzureFunctionConsumptionPlan04: Resetting all workers for MyAzureFunctionConsumptionPlan04.azurewebsites.net
11:25:37 pm MyAzureFunctionConsumptionPlan04: Deployment successful.
11:25:52 pm MyAzureFunctionConsumptionPlan04: Syncing triggers...
11:25:54 pm MyAzureFunctionConsumptionPlan04: Querying triggers...
11:25:57 pm MyAzureFunctionConsumptionPlan04: No HTTP triggers found.
或者它只创建了一个名为WarmUp的触发器,这在我的代码中没有使用。
11:16:57 pm MyAzureFunctionConsumptionPlan01: Querying triggers...
11:16:59 pm MyAzureFunctionConsumptionPlan01: HTTP Trigger Urls:
WarmUp: https://MyAzureFunctionConsumptionPlan01.azurewebsites.net/api/%7Bx:regex(^(warmup|csharphttpwarmup)$)%7D
我使用的触发器,即myhttptrigger根本没有同步。可能出了什么问题。
我已经尝试了微软支持文章中的所有步骤,在这里:https://learn.microsoft.com/en-us/answers/questions/249753/azure-functions-are-not-visible-in-the-function-li.html包括
重新启动Azure功能,
从头开始重新创建Azure功能以及
在ssh 上手动验证文件
查询kudu控制台,
点击管理url(通过REST API(。
他们似乎还没有一个积极的解决方案!
这似乎是冷启动的一个问题,通常是Azure功能-消费计划中的情况。
在这种情况下,一次简单的重试确实起到了作用,我能够使用项目上下文菜单上deploy to Function App项中内置的VS Code成功部署。