小编Jan*_*wak的帖子

如何自定义 Azure 函数 url

刚刚开始使用 azure 函数。我将它用作 IoT 设备的 httptrigger。

我正在尝试设置一个功能,该功能适用​​于来自多个 IoT 设备的 httptrigger 请求 - 因此我不必为每个设备设置一个功能。所以理想情况下,在我的 c# 文件中,我会有这样的东西:

DeviceClient deviceClient;
string iotHubUri = "myhub";
string deviceName = "something dynamic here that changes with device";
string deviceKey = "something dynamic here that changes with device";
Run Code Online (Sandbox Code Playgroud)

然后,我想让我的函数 url 看起来像这样:

"https://<functionapp>.azurewebsites.net/api/<function>/{device_id}?code=xxxxx"
Run Code Online (Sandbox Code Playgroud)

其中 device_id 是 IoT 设备 ID。

我不确定如何首先将 c# 文件中的引用设置为动态,以及如何让 url 看起来像我想要的那样。

一些帮助将不胜感激。谢谢

azure azure-functions

5
推荐指数
1
解决办法
3460
查看次数

尝试启动Azure机器人功能时出现错误“无法解密设置...”

我们有一个实现为Azure功能的漫游器终结点,它在Azure中运行良好。

我们已遵循此过程来使我们能够在本地运行/调试Azure函数:https : //docs.microsoft.com/zh-cn/azure/azure-functions/functions-run-local

特别是以下PowerShell命令:

func azure functionapp fetch-app-settings <FunctionAppName>
Run Code Online (Sandbox Code Playgroud)

看起来运行良好,并将必要的设置放入local.settings.json,在构建项目时将其输出到bin。但是,当我们启动函数(右键单击项目-调试-启动新实例)时,会出现以下错误:

Failed to decrypt settings. Encrypted settings only be edited through 'func settings add'.
Run Code Online (Sandbox Code Playgroud)

在两台计算机上,我们收到上述解密错误,在两台计算机上,它运行正常。

有什么建议么?

PS:我们不尝试在机器之间共享相同的local.settings.json文件,据我了解,这也会产生这种错误。

更新

这是问题机器中的local.settings.json文件的内容,其中删除了加密的值:

{
  "IsEncrypted": true,
  "Values": {
    "AzureWebJobsStorage": "[encrypted content]",
    "AzureWebJobsDashboard": "[encrypted content]",
    "FUNCTIONS_EXTENSION_VERSION": "[encrypted content]",
    "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "[encrypted content]",
    "WEBSITE_CONTENTSHARE": "[encrypted content]",
    "WEBSITE_NODE_DEFAULT_VERSION": "[encrypted content]",
    "BotEnv": "[encrypted content]",
    "BotId": "[encrypted content]",
    "MicrosoftAppId": "[encrypted content]",
    "MicrosoftAppPassword": "[encrypted content]",
    "BotStateEndpoint": "[encrypted content]",
    "BotOpenIdMetadata": "[encrypted content]",
    "UseTableStorageForConversationState": "[encrypted content]",
    "BotDevAppInsightsKey": "[encrypted content]",
    "BotDevAppInsightsName": "[encrypted content]", …
Run Code Online (Sandbox Code Playgroud)

azure azure-functions

5
推荐指数
2
解决办法
2280
查看次数

Azure 函数:无法加载文件或程序集 Microsoft.IdentityModel.Tokens,版本 = 5.2.1.0

我正在编写一个 azure 函数来生成一个 JWT 令牌并将其返回给客户端。该代码在控制台应用程序中进行了本地测试,并且似乎一切正常。这是工作控制台应用程序和我的函数应用程序中包含的包参考:

<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.2.1" />

在本地运行函数主机func host start并执行代码时,会导致错误:

Could not load file or assembly 'Microsoft.IdentityModel.Tokens, Version=5.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'."

我不明白为什么会发生这种情况,dll 与我的应用程序 dll 一起放在输出文件夹中。我唯一能想到的另一件事是,函数主机有自己的一组包,它来自它的源,而这个包尚不可用,仅在 12 天前发布。

我不知道。关于为什么会发生这种情况或如何解决它的任何帮助?

详细信息:
Azure Functions Core Tools (2.0.1-beta.22)
函数运行时版本:2.0.11415.0

azure azure-functions azure-functions-runtime

5
推荐指数
3
解决办法
1971
查看次数

在 Postman 中为受 Azure AD B2C 保护的 Azure Function App 请求访问令牌

我有一个由 Azure Active Directory B2C 租户保护的 AspNetCore 2.0 MVC Web API。我已经能够使用 Postman 通过以下 SO 发布来测试 API 端点:在 Postman 中为 Azure AD B2C 请求访问令牌(特别是 SpottedMahn 的评论中引用的 Microsoft 记录步骤:https ://docs.microsoft.com /en-us/aspnet/core/security/authentication/azure-ad-b2c-webapi#use-postman-to-get-a-token-and-test-the-api )

现在,我正在开发上述的无服务器版本 - 该应用程序几乎相同,期望端点已由 Azure Functions 应用程序中的 Azure 函数实现

Functions App 已启用身份验证、使用 Azure Active Directory 登录以及以下设置:

在此处输入图片说明

这是我在 Azure B2C 租户中设置应用程序的方式:

在此处输入图片说明

如果我通过浏览器访问函数端点,我将成功路由到 Azure AD B2C 登录页面并可以登录,然后从 API 端点查看结果。所以我非常有信心,Azure AD B2C <-> Function App 配置都很好。

但是,我无法使用上面链接的请求访问令牌技术来获取令牌并检查 Postman 中的端点

如果我获取认证后获得的令牌(例如通过使用 fiddler 并观察返回的 id_token),并且在 Postman 中我选择 Bearer 身份验证并提供该 id_token,则 Postman 成功命中我的端点。但是,如果我按照上面链接文档中的步骤操作,我会得到“登录”弹出窗口,然后会得到一个有效的 [寻找] …

azure postman azure-ad-b2c azure-functions

5
推荐指数
1
解决办法
1665
查看次数

找不到“UserPasswordCredential”

我正在尝试在 C#、Visual Studio 17 中对 Azure 函数进行身份验证。这一行给出了错误:

    var credentials = new UserPasswordCredential(UserName, Password);
Run Code Online (Sandbox Code Playgroud)

它给出了错误,就像我没有包含 NuGet 包一样:“找不到类型或命名空间名称“UserpasswordCredential”(您是否缺少 using 指令或程序集引用?)”。

我已经包含了包 Microsoft.IdentityModel.Clients.ActiveDirectory(v. 3.19.2 - 最新稳定版)。但由于某种原因,这一点丢失了(我也尝试过旧版本)。微软自己说它应该是包https://docs.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.clients.activedirectory.userpasswordcredential?view=azure-dotnet 的一部分。但事实并非如此。

有人知道如何解决这个问题吗?

完整代码如下:

    /// <summary>
    /// Generates a new Azure Active Directory access token
    /// </summary>
    /// <param name = "url" > A URL for the end-point for which the access token is requested</param>
    /// <returns>The access token</returns>
    public static string GenerateActiveDirectoryAccessToken(string url)
    {
        var authority = AuthorityUrl;
        var authContext = new AuthenticationContext(authority);
        var credentials …
Run Code Online (Sandbox Code Playgroud)

c# azure nuget-package azure-active-directory azure-functions

5
推荐指数
1
解决办法
4661
查看次数

使用 CosmosDB 集合中筛选的文档类型触发 Azure Function

我们是否可以仅在将某些具有字段值的文档插入 Cosmos DB 时才触发 azure 函数?EG 具有国家/地区“美国”字段值的员工文档触发 azure 功能。我无法弄清楚这个问题,因为只要添加/修改了一项导致过多函数调用的项目,它总是会触发该函数。

谢谢 !

问候, 索米扬

azure azure-functions azure-cosmosdb

5
推荐指数
1
解决办法
1067
查看次数

阶段之间管道中的VSTS通过参数

我的计划有两个阶段。第一个是第二个的触发器。我希望第一阶段的参数在第二阶段可以输入/访问。这可行吗?

编辑

这种情况是,由于ARM或脚本输出的结果在阶段1上设置了参数值,则在下一个阶段看不到该值。

谢谢

azure-devops azure-pipelines-release-pipeline azure-devops-rest-api

5
推荐指数
1
解决办法
1593
查看次数

Azure功能的最大可扩展性是否上限为10?

我们正在尝试测试Azure功能的可扩展性(它是一只熊).我们遇到了这个https://azure.microsoft.com/en-in/documentation/articles/functions-reference/#parallel-execution

如果功能应用程序正在使用动态服务计划,则功能应用程序可以自动扩展到最多10个并发实例.功能应用的每个实例,无论应用是在动态服务计划上运行还是在常规应用服务计划上运行

这是否意味着单个函数的最大可伸缩性仅为10?我们从来没有能够超过10个单位运行...(关于算法的先前问题确定添加另一个消耗单位,这是确定可伸缩性的上端).

谢谢

azure azure-functions

4
推荐指数
1
解决办法
3366
查看次数

Azure功能中的内存缓存

需要缓存对象以改进Azure功能的性能.我尝试了.NET ObjectCache(System.Runtime.Caching),它在我的测试中运行良好(在高达10分钟的缓存保留期内测试).

为了推进这个解决方案,我有几个简单的问题:

  1. 什么是Azure功能的回收策略.有默认值吗?可以配置吗?

  2. 费用的含义是什么?

  3. 我的方法是对的还是有更好的解决方案?

您可能知道的任何问题,请帮忙.

谢谢.

azure azure-functions

4
推荐指数
1
解决办法
4290
查看次数

使用Azure功能构建SOAP侦听器

我正在使用Azure Functions在各种系统之间构建一些集成.我的新要求是响应Salesforce中的记录更新.一些快速的研究产生了Salesforce方面看起来很好的解决方案.使用可以在记录修改时发送SOAP请求的出站消息传递.

如何创建Salesforce应用程序,在创建/更改记录时将记录发送到外部Web服务(https://salesforce.stackexchange.com/questions/73425/how-to-create-salesforce-application-that-will-send-record到外部网络服务)

现在的挑战是能够在Azure Function中创建SOAP侦听器.我为其他听众创建了基本的HTTP触发器.Azure函数是否有"内置"功能可以让我轻松使用传入的SOAP请求?

Salesforce具有基于更传统的Web服务和ASMX文件的解决方案的基础知识,但我不确定是否或如何在Azure功能中应用它.(https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_listener.htm)

soap salesforce azure azure-functions

4
推荐指数
1
解决办法
2309
查看次数