核心功能實作
數據流設計
用戶輸入 → Bedrock AI 處理 → 獲得回應 → 存儲到 DynamoDB → 返回結果
以下為lambda 存入Dynamodb核心程式碼
from datetime import datetime
import uuid
#
dynamodb = boto3.resource('dynamodb', region_name='ap-east-2')
table = dynamodb.Table('chat')
# 存儲到 DynamoDB(根據你的表結構調整欄位名稱)
try:
table.put_item(
Item={
'id': record_id, # 假設主鍵名稱是 'id'
'timestamp': timestamp,
'message': user_message, # 用戶輸入
'response': generated_text, # AI 回應
'model': model_id,
'created_at': timestamp,
# 如果你的表有其他必填欄位,請在這裡加入
}
)
print(f"Successfully stored record {record_id} to DynamoDB")
except Exception as db_error:
print(f"DynamoDB storage error: {str(db_error)}")
# 即使數據庫存儲失敗,仍然返回 AI 回應
配置 IAM 權限(可查看第13天如何配置)
AmazonDynamoDBFullAccess_v2
Lambda 函數測試
DynamoDB 數據驗證
chat
表
最後一定要來個API測試總結
🎯 核心功能實現