如何在Azure功能应用程序中的文件之间共享代码(例如,Mongo架构定义)?
我需要这样做,因为我的函数需要访问共享的mongo架构和模型,例如这个基本示例:
var blogPostSchema = new mongoose.Schema({
id: 'number',
title: 'string',
date: 'date',
content: 'string'
});
var BlogPost = mongoose.model('BlogPost', blogPostSchema);
Run Code Online (Sandbox Code Playgroud)
我试图在"watchDirectories": [ "Shared" ]我的host.json文件夹中添加一行,添加了一个index.js包含上述变量定义的行,但这似乎不适用于其他函数.
我只是得到一个Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost is not defined.
我也尝试过挖掘require.js文件,但似乎没有找到.可能是我错了路径.
有没有人有关于如何.js在天蓝色功能之间共享代码的示例或提示?
我正在寻找一种将标准 azure 函数添加到每个 azure 函数项目的方法。我们的环境要求所有 API 都有一个运行状况端点,因此为了保持一致,我想编写一次并多次使用它。
我的想法是将该函数放在类库中,然后在我的azure函数项目中引用它,但它似乎不起作用。对于我尝试过的每件事,仅显示我的 azure 函数项目中的函数。
这是我的共享函数类,写在单独的引用类库中:
public class HealthEndpointFunctions
{
[FunctionName("Health")]
public async Task<IActionResult> Health(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "health")] HttpRequest req)
{
return new OkResult();
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经尝试过:
public class Function1 : HealthEndpointFunctions
{
[FunctionName("Function1")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req)
{
return new OkObjectResult("OKely dokely");
}
}
Run Code Online (Sandbox Code Playgroud)
...在这种情况下,仅Function1在派生类中可用
我觉得天蓝色功能项目中必须有一些配置才能启用此功能(如果确实可能的话)。
也欢迎建议其他方法。