Welcome to Microsoft Q&A! Thanks for posting the question.
You can refer to this. The article refers has link to sample ARM template. Once the Function App is created, you will see that the sample has used MS Deploy extension and set the packageUri parameter and you assign the value to your function app zip (deployed in a storage account or access over the internet). Once the function app resource is created the below ARM template will deploy the function app code on your depended resource.
{
"apiVersion": "2014-06-01",
"name": "MSDeploy",
"type": "Extensions",
"dependsOn": [
"[concat('Microsoft.Web/Sites/', parameters('name'))]",
],
"properties": {
"packageUri": "https://auxmktplceprod.blob.core.windows.net/packages/wordpress-4.2.4-IIS.zip",
}
}
Update:
You cannot use the relative path as the ARM does not support stream content.
Note: ARM does not support stream content; meaning, one cannot upload local content directly to WebApp via ARM. Instead, the content needs to be out-of-band upload to a service (such as Azure Storage) which subsequently allows access to http(s). Then, configure the packageUri with the content URL with ARM template.
Reference: https://github.com/projectkudu/kudu/wiki/MSDeploy-VS.-ZipDeploy
Feel free to get back to me if you need any assistance.