刚刚开始使用 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中运行良好。
我们已遵循此过程来使我们能够在本地运行/调试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 函数来生成一个 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 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 成功命中我的端点。但是,如果我按照上面链接文档中的步骤操作,我会得到“登录”弹出窗口,然后会得到一个有效的 [寻找] …
我正在尝试在 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
我们是否可以仅在将某些具有字段值的文档插入 Cosmos DB 时才触发 azure 函数?EG 具有国家/地区“美国”字段值的员工文档触发 azure 功能。我无法弄清楚这个问题,因为只要添加/修改了一项导致过多函数调用的项目,它总是会触发该函数。
谢谢 !
问候, 索米扬
我的计划有两个阶段。第一个是第二个的触发器。我希望第一阶段的参数在第二阶段可以输入/访问。这可行吗?
编辑
这种情况是,由于ARM或脚本输出的结果在阶段1上设置了参数值,则在下一个阶段看不到该值。
谢谢
azure-devops azure-pipelines-release-pipeline azure-devops-rest-api
我们正在尝试测试Azure功能的可扩展性(它是一只熊).我们遇到了这个https://azure.microsoft.com/en-in/documentation/articles/functions-reference/#parallel-execution
如果功能应用程序正在使用动态服务计划,则功能应用程序可以自动扩展到最多10个并发实例.功能应用的每个实例,无论应用是在动态服务计划上运行还是在常规应用服务计划上运行
这是否意味着单个函数的最大可伸缩性仅为10?我们从来没有能够超过10个单位运行...(关于算法的先前问题确定添加另一个消耗单位,这是确定可伸缩性的上端).
谢谢
需要缓存对象以改进Azure功能的性能.我尝试了.NET ObjectCache(System.Runtime.Caching),它在我的测试中运行良好(在高达10分钟的缓存保留期内测试).
为了推进这个解决方案,我有几个简单的问题:
什么是Azure功能的回收策略.有默认值吗?可以配置吗?
费用的含义是什么?
我的方法是对的还是有更好的解决方案?
您可能知道的任何问题,请帮忙.
谢谢.
我正在使用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)
azure ×9
azure-ad-b2c ×1
azure-devops ×1
azure-pipelines-release-pipeline ×1
c# ×1
postman ×1
salesforce ×1
soap ×1