小编Far*_*dov的帖子

名称少于 32 个符号的 Azure Function Apps 的专用或共享存储帐户

简短版本
我们想要迁移到 v4,并且我们的应用程序名称少于 32 个符号。
我们应该迁移到专用Storage Accounts还是不迁移?

长版本
我们使用Azure Functionsv3。从一开始,Storage Account就有 10 多个人共享一个Azure Function Apps。这可能是运气好,但名称少于 32 个符号,而且不会改变。我们不使用插槽,因为最初不推荐它们,然后没有普遍采用的时间或建议。

问题前研究揭示了这个问题,但它看起来与durable functions. 另一个问题看起来更切题,但已经过时了,接受的答案表明Storage Account可以使用一个。

首先,官方文档有一个包含存储注意事项的页面,其中指出(支持ijabit指向它。):

多个功能应用程序可以毫无问题地共享同一存储帐户。例如,在 Visual Studio 中,您可以使用 Azure 存储模拟器开发多个应用程序。在这种情况下,模拟器的作用就像单个存储帐户。函数应用使用的同一存储帐户也可用于存储应用程序数据。然而,这种方法在生产环境中并不总是一个好主意。

不幸的是,它没有进一步详细说明最后一句话背后的基本原理。包含提及最佳实践的页面Azure Function

为了提高生产性能,请为每个函数应用使用单独的存储帐户。对于持久函数和事件中心触发函数尤其如此。

令我更加困惑的是,此页面上一个小节说“避免共享存储帐户”。但后来被删除了。
这个问题在某种程度上与问题表面相关,因为它提到了线程中的建议。

其次,我们就与此问题无关的不同问题联系了Azure支持,两位不同的支持工程师对当前问题分享了不同的意见。一位说我们可以在 Functions Apps 之间共享存储帐户,另一位说我们不应该。因此,支持者的建议好坏参半。

第三,我们要迁移到 v4,迁移说明中指出:

如果计算出的主机名相同,共享存储帐户的函数应用将无法启动。为每个函数应用使用单独的存储帐户。(#2049

深入研究这个主题,唯一的问题是用于获取锁的函数主机名的冲突,即使在 2017 年 10 月,该函数主机名也是已知的。人们可以关注该线程,看看如何在 2020 年 1 …

azure azure-storage azure-functions

7
推荐指数
1
解决办法
2572
查看次数

如何在二头肌中输出资源ID

如何在二头肌中输出资源id,在创建子网时我们如何获取输出字符串,虚拟网络语法如下所示

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: vnetName
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'subnetpoc-1'
        properties: {
          addressPrefix: '10.0.3.0/24'
        }
      }
      {
        name: 'subnetnetpoc-2'
        properties: {
          addressPrefix: '10.0.4.0/24'
        }
      }
    ]
  }
}

// output subnet string = ""
Run Code Online (Sandbox Code Playgroud)

azure azure-virtual-network azure-resource-manager azure-bicep

6
推荐指数
1
解决办法
1万
查看次数

为什么剃刀会自动将小数类型四舍五入到小数点后两位?

这是我在视图模型中的字段:

public decimal MyValue { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我在视图中显示值的方式:

@Html.EditorFor(model => model.MyValue)
Run Code Online (Sandbox Code Playgroud)

我从DB一路调试,关掉所有JS。我仍然在 View 中得到该模型的值为 12.34345,但呈现给用户的最终值为 12.34。

这个问题是问如何解决这个问题,但为什么不清楚。

有趣的是,当我使用:

@Html.HiddenFor(model => model.MyValue)
Run Code Online (Sandbox Code Playgroud)

四舍五入没有发生。

c# asp.net-mvc decimal rounding razor

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

Azure Function 于 2022 年 4 月 26 日禁用将“用户”字段设置为 HTTP 请求对象

(!) 问题无法在本地重现。
Azure 函数版本 ~4
节点版本 14.18.1

创建一个简单的 HTTP 触发的 Azure Function 并设置两个简单的属性,我们得到以下代码:

module.exports = async function (context, req) {

    req.auth = {authField: 'some value'}
    req.user = {userField: 'some value'}
    context.log(`${JSON.stringify(req,null,2)}`);

    context.res = {
        body: 'responseMessage'
    };
}
Run Code Online (Sandbox Code Playgroud)

记录器打印以下对象:

{
  "method": "POST",
  "url": "xxx",
  "originalUrl": "xxx",
  "headers": {
    /// ...
  },
  "query": {},
  "params": {},
  "body": { "name": "Azure" },
  "rawBody": "{\"name\":\"Azure\"}",
  "auth": { "authField": "some value" }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,只有authset 而不是 set user。在版本中可以看到相同的失败行为4.2.0

当我使用 Azure …

node.js azure-functions azure-functions-runtime

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

Azure 功能:部署后仍在运行的旧代码

现在,即使通过 KUDU 进行 zip 部署返回成功,我也再次面临在 Azure Function App 上使用旧代码的问题。

当然,我希望新代码在大约 30 分钟后加载,而不是立即加载。

该问题已标记为已关闭。

在这种情况下被认为是最佳实践:

  1. 以编程方式强制 Function App 重新启动,例如通过 Azure CLI 或 Powershell Az 模块?
  2. 或者有另一种方法来缓解这个问题?

azure kudu azure-functions azure-functions-runtime

3
推荐指数
1
解决办法
2067
查看次数

Azure API 管理返回“404 - 未找到资源”,但端点测试有效

有人知道为什么对 APIM 的 PUT 请求返回 404 \xe2\x80\x9cResource not found\xe2\x80\x9d 但其他操作类型返回 HTTP 200 吗?

\n

我可以使用 APIM 中的测试功能来调用 PUT 操作端点,并且可以检查后端 Web 应用程序上的控制台输出并查看调用是否通过。但是,当使用 Postman 或前端 Web 应用程序时,我们会收到“资源未找到”错误消息。

\n

我真的很困惑,因为正如前面提到的,其他动词也可以正常工作。我们从 Swagger 生成 API 端点定义,因此它与用于定义其他端点的方法完全相同。

\n

邮递员输出:

\n
{\n    "statusCode": 404,\n    "message": "Resource not found"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

编辑:端点配置

\n
{\n    "openapi": "3.0.1",\n    "info": {\n        "title": "Foo",\n        "description": "",\n        "version": "1.0"\n    },\n    "servers": [{\n        "url": "https://custom.domain.com"\n    }],\n    "paths": {\n        "/api/v{version}/Tasks/{taskId}/Complete": {\n            "put": {\n                "tags": ["Tasks"],\n                "summary": "/api/v{version}/Tasks/{taskId}/Complete - PUT",\n                "operationId": "put-api-v-version-tasks-taskid-complete",\n                "parameters": [{\n                    "name": "taskId",\n                    "in": …
Run Code Online (Sandbox Code Playgroud)

azure azure-api-management

3
推荐指数
1
解决办法
2万
查看次数