我一直在查看 Amazon 的 C# 和 Lambda 文档。我尝试过使用他们的 yeoman 生成器和 Visual Studio 工具包。我的目标只是拥有一个包含多个功能的项目,我可以在本地计算机上调试这些功能。问题是,运行调试器会给我一条关于没有项目入口点的消息,考虑到它是作为类库创建的,这是有道理的。
据我所知,开发过程似乎是编写代码、在 AWS 上部署和运行该功能。调试将检查输出并从那里开始。有没有办法实际使用 Visual Studio 的内置调试器?更好的是,我想要一个在我的 Mac 上进行本地调试的工作流程。例如,在 NodeJS 中,我可以使用 Serverless 框架并将 VS Code 中的 launch.json 文件设置为以下内容:
"configurations": [{
"type": "node",
"request": "launch",
"protocol": "legacy",
"name": "run hello",
"program": "${workspaceRoot}/node_modules/.bin/sls",
"args": [
"invoke",
"local",
"--function",
"hello",
"--data",
"{}"
]
}
Run Code Online (Sandbox Code Playgroud)
这允许我模拟数据并使用断点进行调试。
我有一个使用Stormpath中间件进行身份验证的应用程序设置.我还有我的帐户设置来使用每个组织模型的组.它似乎登录和一切,但我正在努力找到一个合理的方法来获取组织ID或名称基于登录的用户.
使用Stormpath.SDK.Account引用,我可以执行以下操作:
private readonly IAccount _account;
var name = _account.FullName;
Run Code Online (Sandbox Code Playgroud)
我希望有类似的东西可以检索组织,但我没有在他们的SDK参考中找到任何东西.到目前为止,我已经尝试过:
从我的索赔中检索组织.看起来它可以通过"onk"声明获得,但是当我从以下代码查看_claim的属性时,我没有看到它作为一个选项:
ClaimsPrincipal _claim = new ClaimsPrincipal(User.Identity);
var OrganizationId = _claim.FindFirst("onk").Value;
Run Code Online (Sandbox Code Playgroud)
我也没有看到从标题中检索组织的方法.这似乎是主机可用的头,但核心的SDK似乎并没有让我明白了.
理想情况下,我希望用户能够登录而不将其租户指定为子域或登录表单中的字段.由于它将按顺序通过我的组织商店,我希望这是可行的.
关于我缺少的任何想法?
我在 Azure Functions 中使用 JavaScript 语言。使用 Cosmos DB 作为输入时,我无法将整数作为变量进行查询。例如,我有以下内容:
使用 Azure Cosmos DB 作为我的输入(公司)的函数设置。这是使用分区键作为{partitionKey}和我的 SQL 查询作为设置SELECT * FROM c where c.random = {randomId}。
在函数的代码中,我发送了以下内容作为我的测试数据:
{
"randomId": 1,
"partitionKey": "prospect"
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我没有得到任何结果。我已经确定我有一个random值为 1 的对象。
如果我要向我的收藏中添加random值为 的内容"1",则以下操作将起作用:
{
"randomId": "1",
"partitionKey": "prospect"
}
Run Code Online (Sandbox Code Playgroud)
我已经在 DocumentDB API 和 MongoDB API 上尝试过这个,这应该无关紧要,因为绑定内置于 Azure Functions 中。我在不同数据集上看到的趋势是,当您将整数参数绑定到查询或文档 ID 字段中的某些内容时,查询将不起作用。
任何想法如何解决这一问题?
编辑:
我已经通过可用文档确认这在 C# 中有效。