4

由于遗留库,我创建并成功测试了一个需要 .net 框架的函数应用程序,并设置为使用运行时版本 ~1。我正在寻找 Invoke Url 和代码,以帮助自动化部署。

按照这篇MS 文章并使用azure-functions-core-tools v2 ( npm i -g azure-functions-core-tools@^2),我可以在使用选项调用发布时看到Invoke Url--verbose

但是,由于 .net Framework 要求和运行时版本 ~1,我们必须使用azure-functions-core-tools v1 ( npm i -g azure-functions-core-tools@^1)(请参阅此处)。从 func azure functionapp 执行任何命令不包括 Invoke Url。该--verbose选项不可用。

>func azure functionapp publish <MyApp>

Getting site publishing info...
Publish C:\<MyProject> contents to an Azure Function App. Locally deleted files are not removed from destination.
Creating archive for current directory...
Uploading archive...
Upload completed successfully.

相同的list-functions

>func azure functionapp list-functions <MyApp>

Functions in <MyApp>:
    FunctionOne - [httpTrigger]
    FunctionTwo - [httpTrigger]

我还没有尝试过ARM。

有没有办法在运行时版本 ~1 上获取函数应用程序的调用 URL ?

4

3 回答 3

1

你可以使用 REST API 来获取它:List Function Secrets,它将响应秘密和 triggerUrl。

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets?api-version=2016-08-01

您也可以使用 PowerShell GetFunctionInvokeUrl来实现它。

于 2019-05-15T03:12:14.407 回答
1

您可以使用Azure CLI执行此操作:

az functionapp 函数显示

az functionapp function show --function-name MyFunction --name MyApp --resource-group MyResourceGroup --query "invokeUrlTemplate" --output tsv
于 2021-01-25T05:31:47.467 回答
1

我使用以下 Azure CLI 命令获取 Invoke Url 和代码:

FUNCTION_CODE=$(az functionapp function keys list -g ${SOLUTION_NAME} -n $FUNCTIONS_NAME --function-name DPSCustomAllocationFunction --query "default")
FUNCTION_CODE=$(echo "$FUNCTION_CODE" | tr -d '"') #Remove "" from result
FUNCTION_URL=$(az functionapp function show --function-name DPSCustomAllocationFunction --resource-group $SOLUTION_NAME --query "invokeUrlTemplate" --output tsv --name $FUNCTIONS_NAME)
FUNCTION_URL=$(echo $FUNCTION_URL|tr -d '\r\n') #Remove breaklines from result
INVOKE_FUNCTION="$FUNCTION_URL?code=$FUNCTION_CODE"
于 2021-04-26T11:56:43.607 回答