8
n8n 中文网amn8n.com

基于聊天的AWS Lambda管理器与自动化审计日志记录(GPT-4.1 mini + Google表格)

中级

这是一个DevOps, AI Chatbot领域的自动化工作流,包含 15 个节点。主要使用 AwsLambdaTool, Agent, HttpRequestTool, GoogleSheetsTool, ChatTrigger 等节点。 通过聊天使用GPT-4.1和Google表格审计日志记录的AWS Lambda管理器

前置要求
  • AWS Access Key 和 Secret
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "8Hr1UiypOyXzJuXf",
  "meta": {
    "instanceId": "e145bfb15cacc90e0d1ae6ee743e6744f8fc7108de50458700cb2ae620dc5ca5",
    "templateCredsSetupCompleted": true
  },
  "name": "基于聊天的 AWS Lambda 管理器与自动化审计日志记录(GPT-4.1 mini + Google Sheet)",
  "tags": [
    {
      "id": "zVkByIt5M465W2a8",
      "name": "aws",
      "createdAt": "2025-09-12T06:14:33.823Z",
      "updatedAt": "2025-09-12T06:14:33.823Z"
    }
  ],
  "nodes": [
    {
      "id": "616e9751-00a6-4313-a1ae-aa0ffb44430e",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -160,
        736
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "tnXtbK3d66hDjxXa",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a1dca496-5a02-45d4-b230-65a12d8a51d9",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -32,
        736
      ],
      "parameters": {
        "contextWindowLength": 10
      },
      "typeVersion": 1.3
    },
    {
      "id": "cffff788-b047-4553-83cc-726d5028ebfb",
      "name": "当收到聊天消息时",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -384,
        512
      ],
      "webhookId": "c676ef51-4e8a-4d31-9b8b-7c05602edd32",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "73569e82-cc64-4435-a06c-c7b8eed1b453",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 880,
        "height": 1184,
        "content": "# 基于聊天的 AWS Lambda 管理器与自动化审计日志记录(GPT-4.1 mini + Google Sheet)"
      },
      "typeVersion": 1
    },
    {
      "id": "40693ce3-331d-4164-bd28-1fbee18ec87b",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -416,
        368
      ],
      "parameters": {
        "color": 5,
        "height": 128,
        "content": "### 接收聊天消息"
      },
      "typeVersion": 1
    },
    {
      "id": "bd9ce2c4-5637-4d1e-b5ed-5b11ed11e2ac",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        320
      ],
      "parameters": {
        "color": 5,
        "content": "### 解析用户意图"
      },
      "typeVersion": 1
    },
    {
      "id": "bc5292ea-8e7b-4c3a-ae26-555861f7b8e7",
      "name": "AWS Lambda 管理器代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        152,
        512
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are AWS Lambda Manager Agent, a chat-based assistant that helps users manage their AWS Lambda functions.\nYou are equipped with 5 tools:\n1. Invoke Lambda Function – Run a specific Lambda function with an input payload.\n2. List Lambda Functions – Retrieve all Lambda functions in the account/region.\n3. Get Lambda Function – Get configuration and details of a function.\n4. Delete a Function – Permanently delete a Lambda function.\n5. Audit Logs – Append every action performed into Google Sheets for tracking. The input must always be a simple log string (for example: \"Invoked function processOrders at 2025-09-16 10:30 UTC\").\n\nResponsibilities:\n- Parse user requests and determine intent.\n- Call the correct tool to execute the operation.\n- After any of the first 4 Lambda operations, always call Audit Logs to record action details (function name, action type, timestamp, requestor, and outcome).\n- If the request is unclear, ask clarifying questions before taking action.\n- Keep answers short and action-focused, but confirm important destructive actions like deletion.\nExamples of behavior:\n- User: “Show me all my Lambda functions.”\nAgent: Calls List Lambda Functions, then logs action with Audit Logs.\n- User: “Run my processOrders function with this JSON.”\nAgent: Calls Invoke Lambda Function with provided JSON, then logs action.\n- User: “Tell me details about paymentHandler.”\nAgent: Calls Get Lambda Function, then logs action.\n- User: “Delete the testFunction.”\nAgent: Confirms: “Are you sure you want to permanently delete testFunction?” If confirmed, calls Delete a Function, then logs action.\nRules:\n- Always log operations in Audit Logs as a single text string.\n- Never skip logging.\n- Confirm destructive actions like delete.\n- Respect the user’s natural language and support flexible phrasing such as “remove,” “run,” “show,” or “info.”"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9c1b9a0d-3152-459e-99ac-e5ef64fc5e66",
      "name": "调用 Lambda 函数",
      "type": "n8n-nodes-base.awsLambdaTool",
      "position": [
        96,
        736
      ],
      "parameters": {
        "payload": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('JSON_Input', ``, 'string') }}",
        "function": "arn:aws:lambda:ap-southeast-1:984623028397:function:myFunction",
        "invocationType": "Event"
      },
      "credentials": {
        "aws": {
          "id": "mx7x25MWVlUbEtd3",
          "name": "ap-southeast-1"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ce85a47e-4828-4e7e-b3b6-ef2c0195510b",
      "name": "列出 Lambda 函数",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        224,
        736
      ],
      "parameters": {
        "url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', `Template: https://lambda.REGION.amazonaws.com/2015-03-31/functions\nREGION is parameter`, 'string') }}",
        "options": {},
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "toolDescription": "Description: Returns all Lambda functions in your account for the given region.",
        "headerParameters": {
          "parameters": [
            {}
          ]
        },
        "nodeCredentialType": "aws"
      },
      "credentials": {
        "aws": {
          "id": "Q5gor70maeAQPEU4",
          "name": "AWS account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3e2516da-8d3f-4c82-8026-8d9fbd037906",
      "name": "获取 Lambda 函数",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        352,
        736
      ],
      "parameters": {
        "url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', `Format: https://lambda.region.amazonaws.com/2015-03-31/functions/FUNCTION_NAME\nRegion & function_name are params`, 'string') }}",
        "options": {},
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "aws"
      },
      "credentials": {
        "aws": {
          "id": "Q5gor70maeAQPEU4",
          "name": "AWS account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "02700199-d4ab-499c-ad0f-6e2063d551a4",
      "name": "删除函数",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        480,
        736
      ],
      "parameters": {
        "url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', `Template: https://lambda.region.amazonaws.com/2015-03-31/functions/FUNCTION_NAME\nregion & FUNCTION_NAME are params`, 'string') }}",
        "method": "DELETE",
        "options": {},
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "toolDescription": "Description: Deletes a Lambda function permanently.",
        "headerParameters": {
          "parameters": [
            {}
          ]
        },
        "nodeCredentialType": "aws"
      },
      "credentials": {
        "aws": {
          "id": "Q5gor70maeAQPEU4",
          "name": "AWS account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "65430de9-aadf-4af9-a755-3ed28ff84e25",
      "name": "审计日志",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        608,
        736
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aaDJ9ZAt2LLpZDFcXjVaYW57JwyruCrl5UJWejG1ZTk/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1aaDJ9ZAt2LLpZDFcXjVaYW57JwyruCrl5UJWejG1ZTk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aaDJ9ZAt2LLpZDFcXjVaYW57JwyruCrl5UJWejG1ZTk/edit?usp=drivesdk",
          "cachedResultName": "AWS S3 Audit Logs"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "7zk8xcj4pNU6f1WM",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a08f808b-1196-46dd-bac4-ae1b4682ff6d",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        912
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 256,
        "content": "### 执行 Lambda 操作"
      },
      "typeVersion": 1
    },
    {
      "id": "f445f4a6-9ff0-46c0-932a-7deee046648c",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        912
      ],
      "parameters": {
        "color": 5,
        "height": 176,
        "content": "### 在审计日志中记录操作"
      },
      "typeVersion": 1
    },
    {
      "id": "b84bbe70-1375-41e1-9e91-6b27cd707ed4",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        208
      ],
      "parameters": {
        "width": 480,
        "height": 624,
        "content": "![](https://s3.ap-southeast-1.amazonaws.com/automatewith.me/screenshots/Screenshot+2025-09-16+at+11.43.31%E2%80%AFAM.png)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "72f00ce5-d7b4-4369-b869-48b6e73611ba",
  "connections": {
    "Audit Logs": {
      "ai_tool": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Delete a Function": {
      "ai_tool": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Lambda Function": {
      "ai_tool": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "List Lambda Functions": {
      "ai_tool": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Invoke Lambda Function": {
      "ai_tool": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AWS Lambda Manager Agent": {
      "main": [
        []
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AWS Lambda Manager Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 开发运维, AI 聊天机器人

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量15
分类2
节点类型8
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Trung Tran

Trung Tran

@trungtran

Empowering small and medium businesses with smart automation and practical AI, no big tech team required. Youtube channel: youtube.com/@theStackExplorer

外部链接
在 n8n.io 查看

分享此工作流