Visual Studio Azure 函数发布 function.json
Visual Studio Azure Function Publishing function.json
我是 Azure Functions 的新手,正在尝试将它们与 Blob 存储结合使用。
我已经下载了 Visual Studio 2017 预览版,它使我能够创建 Azure Functions 项目模板 (https://marketplace.visualstudio.com/items?itemName=AndrewBHall-MSFT.AzureFunctionToolsforVisualStudio2017)
然后按照这个例子https://blogs.msdn.microsoft.com/webdev/2017/05/10/azure-function-tools-for-visual-studio-2017/我可以在 VS 中创建一个新函数,然后发布到 Azure。
当我查看 Azure 时,我可以看到我的新函数,但它只显示 function.json
文件中的 json。
所以当我的函数代码只是
时这工作正常
public static void Run([BlobTrigger("images/{name}",
Connection = "fakename_STORAGE")]Stream myBlob, string name, TraceWriter log)
但是,当我想开始尝试输出时,我更改了我的代码以包含 out string myOutputBlob
public static void Run([BlobTrigger("images/{name}",
Connection = "fakename_STORAGE")]Stream myBlob, string name, out string myOutputBlob, TraceWriter log)
然后发布到 Azure,我看到一个错误:
Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'myOutputBlob' to
type String&. Make sure the parameter Type is supported by the
binding.
我可以解决这个问题,更新 Azure 上的 function.json 文件以包含更多信息,
但是每次我发布到 Azure 时,这个文件都会被覆盖。
我已经尝试将 function.json 文件添加到我的项目中,该文件与所需的配置相匹配,但这不起作用。我错过了什么吗?
如何确保 function.json 文件不会每次都被覆盖?我需要配置我的项目以允许我管理文件吗?
您必须使用属性修饰您的输出参数以配置您需要的输出绑定类型:
public static void Run(
[BlobTrigger("images/{name}", Connection = "fakename_STORAGE")]Stream myBlob,
string name,
[Blob("images/copy-{name}", Connection = "fakename_STORAGE")]out string myOutputBlob,
TraceWriter log)
这将在发布期间在您的 function.json
中添加所需的行。
我是 Azure Functions 的新手,正在尝试将它们与 Blob 存储结合使用。
我已经下载了 Visual Studio 2017 预览版,它使我能够创建 Azure Functions 项目模板 (https://marketplace.visualstudio.com/items?itemName=AndrewBHall-MSFT.AzureFunctionToolsforVisualStudio2017)
然后按照这个例子https://blogs.msdn.microsoft.com/webdev/2017/05/10/azure-function-tools-for-visual-studio-2017/我可以在 VS 中创建一个新函数,然后发布到 Azure。
当我查看 Azure 时,我可以看到我的新函数,但它只显示 function.json
文件中的 json。
所以当我的函数代码只是
时这工作正常public static void Run([BlobTrigger("images/{name}",
Connection = "fakename_STORAGE")]Stream myBlob, string name, TraceWriter log)
但是,当我想开始尝试输出时,我更改了我的代码以包含 out string myOutputBlob
public static void Run([BlobTrigger("images/{name}",
Connection = "fakename_STORAGE")]Stream myBlob, string name, out string myOutputBlob, TraceWriter log)
然后发布到 Azure,我看到一个错误:
Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'myOutputBlob' to type String&. Make sure the parameter Type is supported by the binding.
我可以解决这个问题,更新 Azure 上的 function.json 文件以包含更多信息,
但是每次我发布到 Azure 时,这个文件都会被覆盖。
我已经尝试将 function.json 文件添加到我的项目中,该文件与所需的配置相匹配,但这不起作用。我错过了什么吗?
如何确保 function.json 文件不会每次都被覆盖?我需要配置我的项目以允许我管理文件吗?
您必须使用属性修饰您的输出参数以配置您需要的输出绑定类型:
public static void Run(
[BlobTrigger("images/{name}", Connection = "fakename_STORAGE")]Stream myBlob,
string name,
[Blob("images/copy-{name}", Connection = "fakename_STORAGE")]out string myOutputBlob,
TraceWriter log)
这将在发布期间在您的 function.json
中添加所需的行。