标签: azure-functions

Azure Functions:生命周期如何运作?

我遇到了 Azure Functions 的一些问题,其中一个 Function App 部署正确且运行良好,现在声称缺少依赖项 (NodeJS) 并在第二天测试时出错。如果我了解 Azure Functions 工作方式的生命周期,我想我可以更轻松地进行故障排除和修复。

任何人都可以解释生命周期或指向我似乎找不到的文档吗?

例如,我正在使用持续部署。使用这种方法,似乎有一个默认的 deploy.cmd 用于:

  1. Git 克隆/将存储库拉到 D:\Site\repository
  2. 在存储库上运行 npm install。
  3. Kudosync(不管这意味着什么)这些文件到 D:\Site\wwwroot

这一切都很好。我想知道接下来会发生什么。

例如,该功能在一段时间内未使用,因此我认为它已停止运行并“无序”?

当它再次访问时,它需要再次启动一些东西。

  • 它是否再次经历了部署过程(似乎不像)。
  • 什么/在哪里/如何将文件恢复到实例?
  • 这与扩展应用程序时使用的过程相同吗?

architecture lifecycle azure-functions

0
推荐指数
1
解决办法
2377
查看次数

Azure 功能如何配置站点到站点连接?

我想为 Azure Functions 应用程序配置站点到站点连接。是否可以?如果是,如何?

networking azure azure-virtual-network azure-functions

0
推荐指数
1
解决办法
2717
查看次数

Azure函数触发计时器本地触发

我有一个timerTrigger我想在VS Code上进行本地调试的功能,因此我func host start --debug vscode在根目录上执行以下host.json操作:

PS C:\Users\user\code\azure\functions> func host start --debug vscode

                  %%%%%%
                 %%%%%%
            @   %%%%%%    @
          @@   %%%%%%      @@
       @@@    %%%%%%%%%%%    @@@
     @@      %%%%%%%%%%        @@
       @@         %%%%       @@
         @@      %%%       @@
           @@    %%      @@
                %%
                %

[11/28/2017 10:21:30 PM] Reading host configuration file 'C:\Users\user\code\azure\functions\host.json'
[11/28/2017 10:21:30 PM] Host configuration file read:
[11/28/2017 10:21:30 PM] {}
info: Worker.Node.1b2b2430-8e1c-4d66-a3e9-bb1672be5ac2[0]
      Start Process: node  --inspect=5858 "C:\Users\user\.azurefunctions\bin\workers\node\dist\src\nodejsWorker.js" --host 127.0.0.1 --port 59865 --workerId 1b2b2430-8e1c-4d66-a3e9-bb1672be5ac2 --requestId f52eeb9b-d46b-4791-8504-3f94f380c1e2
[11/28/2017 10:21:31 …
Run Code Online (Sandbox Code Playgroud)

azure-functions

0
推荐指数
1
解决办法
2027
查看次数

Azure 函数响应状态代码始终为 200

我有一个函数应该根据一些内部逻辑返回错误状态 500/400。出于某种原因,无论我返回什么,Azure 函数都会不断返回 HTTP 状态 200。

这是一个示例

    if (err) { 
        console.error('some error :', err);                           
        context.res = { status: 400, body: err };
    } else {
        context.res = processRequest(context, req);
    }

    context.done();
Run Code Online (Sandbox Code Playgroud)

它返回状态 200 OK

在此处输入图片说明

下面是我的函数绑定

{
  "bindings": [
{
  "authLevel": "function",
  "type": "httpTrigger",
  "direction": "in",
  "name": "req"
},
{
  "type": "http",
  "direction": "out",
  "name": "res"
}  
],  "disabled": false
}
Run Code Online (Sandbox Code Playgroud)

azure node.js azure-functions

0
推荐指数
1
解决办法
1901
查看次数

使用ARM模板部署Azure功能

我正在尝试使用ARM模板部署Azure Function,但是我无法创建该函数本身。是否可以使用ARM模板创建实际功能?

我已压缩了该函数的源代码并将其放置在公共位置,我已将MSBuild部分添加到模板中,尽管部署成功完成-创建了App函数,但未创建函数本身

这是模板

{
"parameters": {
    "name": {
        "type": "string"
    },
    "storageName": {
        "type": "string"
    },
    "location": {
        "type": "string"
    },
    "subscriptionId": {
        "type": "string"
    },
    "storage_account_endpoint": {
        "type": "string"
    }
},
"resources": [
    {
        "apiVersion": "2016-03-01",
        "name": "[parameters('name')]",
        "type": "Microsoft.Web/sites",
        "properties": {
            "name": "[parameters('name')]",
            "siteConfig": {
                "appSettings": [
                    {
                        "name": "FUNCTIONS_WORKER_RUNTIME",
                        "value": "node"
                    },
                    {
                        "name": "AzureWebJobsStorage",
                        "value": "[concat('DefaultEndpointsProtocol=https;AccountName=',parameters('storageName'),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageName')), '2015-05-01-preview').key1)]"
                    },
                    {
                        "name": "FUNCTIONS_EXTENSION_VERSION",
                        "value": "~2"
                    },
                    {
                        "name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING",
                        "value": "[concat('DefaultEndpointsProtocol=https;AccountName=',parameters('storageName'),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageName')), '2015-05-01-preview').key1)]"
                    },
                    {
                        "name": …
Run Code Online (Sandbox Code Playgroud)

azure azure-functions

0
推荐指数
1
解决办法
2557
查看次数

使用 Javascript 通过 Azure Functions 重用数据库连接

我无法从用 Javascript 编写的 Azure 函数中找到有关如何管理数据库连接(在我的例子中是 MongoDB)的明确信息。

下面的 Microsoft 文档说不要使用 C# 中的静态变量为每个函数调用创建连接,使用 .NET Framework Data Provider for SQL Server,池由客户端连接处理。它没有描述如何在 Javascript 中执行此操作。

https://docs.microsoft.com/en-us/azure/azure-functions/manage-connections

此处描述了创建全局变量以在调用之间保存数据库客户端的解决方案,但作者不确定这是正确的方法。

http://thecodebarbarian.com/getting-started-with-azure-functions-and-mongodb.html

有没有人在生产中使用过它或了解这是否是正确的方法?

javascript mongoose mongodb azure-functions

0
推荐指数
1
解决办法
2551
查看次数

如何按计划在 azure 函数中运行 powershell 脚本

我需要使用 azure 函数按计划运行 powershell 脚本,我尝试使用 node.js 执行该文件,但它不起作用,我不知道为什么。

powershell azure azure-functions

0
推荐指数
1
解决办法
5651
查看次数

EventHubTrigger函数应用程序,将事件中心名称和使用者组名称动态传递给事件中心属性

我们知道可以从local.setting.json文件使用事件中心的Connection字符串。因此,对于不同环境中的同一功能应用程序,我可以在azure门户的“应用程序设置”中添加事件中心连接字符串设置。

由于EventHubTrigger函数应用程序还将事件名称和使用者组(可选)用作属性参数,我想知道如何从应用程序设置中使用事件中心名称和使用者组?

  public static void EventHubTriggerFunc([EventHubTrigger("myeventhubname", Connection = "EventHubConnectionAppSetting", ConsumerGroup = "myconsumergroupname")] EventData myEventHubMessage, DateTime enqueuedTimeUtc, Int64 sequenceNumber, string offset, ILogger log)
 {
   // Here EventHubConnectionAppSetting is specified in local.setting.json file
   //myeventhubname & myconsumergroupname are hard coded string
 }
Run Code Online (Sandbox Code Playgroud)

本地设置

   {
    "IsEncrypted": false,
   "Values": {
   "AzureWebJobsStorage": "UseDevelopmentStorage=true",
   "FUNCTIONS_WORKER_RUNTIME": "dotnet",
   "EventHubConnectionAppSetting": "Endpoint=.....",
   "EventHubConsumerGroup": "myconsumergroup"
  }
   }
Run Code Online (Sandbox Code Playgroud)

c#-4.0 azure-eventhub azure-functions azure-function-app

0
推荐指数
1
解决办法
153
查看次数

Azure Functions 和 Azure Durable Function 有什么区别

持久函数是否会在活动被调用之前唤醒?

我是关于实现调度程序的,而是使用其他库,例如 Hangfire 或 Quartz。我想实现作为调度程序的持久功能。我缺少的部分是,函数中发生了什么?该函数是否在下一次活动调用之前大喊大叫?每一项都叫执行?

[FunctionName("SchedulerRouter")]
public static async Task<HttpResponseMessage> HttpStart(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")]HttpRequestMessage req,
    [OrchestrationClient]DurableOrchestrationClient starter, ILogger log)
{
    var data = await req.Content.ReadAsAsync<JObject>();
    var instanceId = await starter.StartNewAsync(FunctionsConsts.MAIN_DURABLE_SCHEDULER_NAME, data);
    return starter.CreateCheckStatusResponse(req, instanceId);
}
Run Code Online (Sandbox Code Playgroud)

c# azure .net-core azure-functions azure-durable-functions

0
推荐指数
1
解决办法
2152
查看次数

用于多个 azure 功能的集中日志记录系统?

我有很多天蓝色的功能。我想将每个 azure 函数的日志存储在一个位置。我首先将所有日志存储在 azure append blob 中。但现在我想实时存储和可视化。我找到了一些解决方案,如loggly.com的集中式解决方案。天蓝色有什么解决方案吗?如果是,那是什么?如果没有,我还有什么其他选择?

logging azure centralized azure-application-insights azure-functions

0
推荐指数
1
解决办法
233
查看次数