【計算機工具類-CI和CD工具Skills】aws-serverless 技能
在AWS上構建生產(chǎn)就緒的無服務器應用程序的專門技能。涵蓋Lambda函數(shù)、API Gateway、DynamoDB、SQS/SNS事件驅動模式、SAM/CDK部署和冷啟動優(yōu)化。技能概述aws-serverless 技能提供了在AWS上構建生產(chǎn)就緒的無服務器應用程序的專家模式和最佳實踐。它涵蓋了Lambda函數(shù)、API Gateway、DynamoDB、SQS/SNS事件驅動模式、SAM/CDK部署和冷啟動優(yōu)化等關鍵領域,幫助開發(fā)者構建高性能、可靠的無服務器架構。下載地址:agentic-awesome-skills/skills/aws-serverless at main · sickn33/agentic-awesome-skills · GitHub主要功能Lambda函數(shù)模式: 提供Node.js和Python的Lambda處理程序模式,包含錯誤處理和最佳實踐API Gateway集成: REST API和HTTP API與Lambda的集成模式DynamoDB操作: 高效的DynamoDB數(shù)據(jù)訪問模式和最佳實踐事件驅動模式: SQS/SNS事件驅動架構模式SAM/CDK部署: 使用SAM和CDK進行基礎設施即代碼部署冷啟動優(yōu)化: 減少冷啟動時間和優(yōu)化性能的策略核心原則正確調(diào)整內(nèi)存和超時大小(在優(yōu)化之前測量)為延遲敏感的工作負載最小化冷啟動為Java/.NET函數(shù)使用SnapStart對于簡單用例,優(yōu)先使用HTTP API而不是REST API為失敗設計,使用DLQ和重試保持部署包小使用環(huán)境變量進行配置使用關聯(lián)ID實現(xiàn)結構化日志記錄Lambda處理程序模式Node.js Lambda處理程序// Initialize outside handler (reused across invocations)const { DynamoDBClient } require(aws-sdk/client-dynamodb);const { DynamoDBDocumentClient, GetCommand } require(aws-sdk/lib-dynamodb);const client new DynamoDBClient({});const docClient DynamoDBDocumentClient.from(client);// Handler functionexports.handler async (event, context) {context.callbackWaitsForEmptyEventLoop false;try {const body typeof event.body string ? JSON.parse(event.body) : event.body;const result await processRequest(body);return {statusCode: 200,headers: {Content-Type: application/json,Access-Control-Allow-Origin: *},body: JSON.stringify(result)};} catch (error) {console.error(Error:, JSON.stringify({error: error.message,stack: error.stack,requestId: context.awsRequestId}));return {statusCode: error.statusCode || 500,headers: {Content-Type: application/json},body: JSON.stringify({error: error.message || Internal server error})};}};Python Lambda處理程序import jsonimport osimport loggingimport boto3from botocore.exceptions import ClientErrorlogger logging.getLogger()logger.setLevel(logging.INFO)dynamodb boto3.resource(dynamodb)table dynamodb.Table(os.environ[TABLE_NAME])def handler(event, context):try:body json.loads(event.get(body, {})) if isinstance(event.get(body), str) else event.get(body, {})result process_request(body)return {statusCode: 200,headers: {Content-Type: application/json,Access-Control-Allow-Origin: *},body: json.dumps(result)}except ClientError as e:logger.error(fDynamoDB error: {e.response[Error][Message]})return error_response(500, Database error)except json.JSONDecodeError:return error_response(400, Invalid JSON)except Exception as e:logger.error(fUnexpected error: {str(e)}, exc_infoTrue)return error_response(500, Internal server error)最佳實踐在處理程序外部初始化客戶端(在溫暖調(diào)用之間重用)始終返回正確的API Gateway響應格式使用結構化JSON進行日志記錄,以便CloudWatch Insights在錯誤日志中包含請求ID以便跟蹤API Gateway集成模式REST API和HTTP API與Lambda的集成,適用于構建由Lambda支持的REST API,需要HTTP端點的函數(shù)。SAM模板示例AWSTemplateFormatVersion: 2010-09-09Transform: AWS::Serverless-2016-10-31Globals:Function:Runtime: nodejs20.xTimeout: 30MemorySize: 256Environment:Variables:TABLE_NAME: !Ref ItemsTableResources:HttpApi:Type: AWS::Serverless::HttpApiProperties:StageName: prodCorsConfiguration:AllowOrigins:- *AllowMethods:- GET- POST- DELETEAllowHeaders:- *注意事項僅在任務明確匹配上述范圍時使用此技能不要將輸出作為環(huán)境特定驗證、測試或專家審查的替代品如果缺少所需的輸入、權限、安全邊界或成功標準,請停止并請求澄清

相關新聞

密碼正則驗證全鏈路實踐:從安全原理到前后端實現(xiàn)

密碼正則驗證全鏈路實踐:從安全原理到前后端實現(xiàn)

1. 項目概述:為什么密碼驗證遠不止“8位”這么簡單?“密碼必須包含大小寫字母、數(shù)字、特殊字符,且至少8位”——這個規(guī)則,幾乎每個上網(wǎng)沖浪的人都見過。乍一看,它像是一道簡單的數(shù)學題,組合一下字符集&…

2026/8/2 3:14:38 閱讀更多
Java后端集成EasyNVR視頻平臺:SpringBoot對接API實戰(zhàn)與優(yōu)化

Java后端集成EasyNVR視頻平臺:SpringBoot對接API實戰(zhàn)與優(yōu)化

1. 項目概述與背景最近在做一個安防監(jiān)控相關的項目,需要把分散在不同地點的網(wǎng)絡攝像頭視頻流集中管理起來,并且要能通過我們自己的后臺系統(tǒng)進行實時預覽、錄像回放和設備控制。市面上成熟的視頻平臺不少,但要么太貴,要么二次開發(fā)接…

2026/8/2 3:14:38 閱讀更多
Jetson Orin Nano存儲擴容實戰(zhàn):將/home遷移至reComputer

Jetson Orin Nano存儲擴容實戰(zhàn):將/home遷移至reComputer

1. 項目緣起:為什么要把Orin Nano的/home挪到reComputer上?最近在折騰Jetson Orin Nano Developer Kit,這玩意兒性能是真不錯,但有個老問題又冒出來了:內(nèi)置的eMMC存儲空間實在不夠看。我裝了幾個開發(fā)環(huán)境,比…

2026/8/2 3:14:38 閱讀更多
大模型推理:KV Cache 字節(jié)數(shù) × 訪問步數(shù)這個乘積如何決定性能

大模型推理:KV Cache 字節(jié)數(shù) × 訪問步數(shù)這個乘積如何決定性能

搬家的時候你會發(fā)現(xiàn)一件反直覺的事:真正累人的不是搬那幾件大家具,而是來來回回跑樓梯。家具只搬一趟,樓梯要跑幾十趟。大模型推理里也有這么一段樓梯——它叫 KV Cache,你每吐一個字,就要把整段對話歷史從顯存里重新走一遍。 這段狀態(tài)是整個推理引擎里最不起眼、也最貴的…

2026/8/2 4:04:41 閱讀更多
圖生視頻怎么做,2026年圖生視頻工作流,5款深度對比

圖生視頻怎么做,2026年圖生視頻工作流,5款深度對比

圖生視頻到底難在哪很多創(chuàng)作者在搜索「圖生視頻怎么做」時,真正想解決的并不是「能不能動」,而是:上傳一張參考圖后,生成的視頻主體變了、風格跑了、動作幅度不受控,或者好不容易跑出一條能用的片段,卻無法…

2026/8/2 4:04:41 閱讀更多
數(shù)控機床數(shù)據(jù)采集技術全解析:從FOCAS到PLC的工業(yè)物聯(lián)網(wǎng)實踐

數(shù)控機床數(shù)據(jù)采集技術全解析:從FOCAS到PLC的工業(yè)物聯(lián)網(wǎng)實踐

1. 項目概述:為什么數(shù)控機床數(shù)據(jù)采集是制造業(yè)的“體檢中心”?在工廠車間里,數(shù)控機床是當之無愧的“主力軍”,它們?nèi)找共煌5厍邢鳌⒋蚰?amp;#xff0c;將圖紙上的設計變?yōu)楝F(xiàn)實。但你是否想過,這些價值不菲的設備&#xff…

2026/8/2 4:04:41 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產(chǎn)的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/2 2:52:49 閱讀更多