Azure Function App-如何获取调用网址和代码

时间:2019-05-14 19:48:45

标签: azure azure-functions azure-cli azure-function-app

由于遗留库,我已经创建并成功测试了需要.net Framework的Function App,并设置为使用运行时版本〜1。我正在寻找Invoke Url和代码,以帮助自动化部署。

遵循此MS article并使用 azure-functions-core-tools v2 npm i -g azure-functions-core-tools@^2),我 可以 使用--verbose选项调用发布时,请参见调用网址

但是,由于.net Framework要求和运行时版本〜1,我们必须使用 azure-functions-core-tools v1 npm i -g azure-functions-core-tools@^1)({{ 3}})。从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

3 个答案:

答案 0 :(得分:1)

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

az functionapp function show

az functionapp function show --function-name MyFunction --name MyApp --resource-group MyResourceGroup --query "invokeUrlTemplate" --output tsv

答案 1 :(得分:0)

您可以使用REST API来获取它:List Function Secrets,它将响应secret和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来实现它。

答案 2 :(得分:0)

我使用以下 Azure CLI 命令获取调用 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"