You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Amplify中关联函数与DynamoDB表资源?

解决方案

当然可以关联这些资源,你不需要在amplify/functions/resource.ts里直接获取表名,而是可以在amplify/backend.ts中直接修改函数的环境变量配置,将DynamoDB表名注入进去。具体操作如下:

  1. 在backend.ts中拿到函数的资源实例
  2. 将库存表和订单表的名称作为环境变量添加到函数配置里

修改后的amplify/backend.ts代码示例:

// amplify/backend.ts
const backend = defineBackend({
  auth,
  data,
  dynamoDbDataHandlerFunction,
});

const inventoryTable = backend.data.resources.tables["Inventory"];
const orderTable = backend.data.resources.tables["Order"];

// 获取函数的Lambda资源实例
const dataHandlerFunction = backend.dynamoDbDataHandlerFunction.resources.lambda;

// 注入表名到函数环境变量
dataHandlerFunction.addEnvironment("INVENTORY_TABLE_NAME", inventoryTable.tableName);
dataHandlerFunction.addEnvironment("ORDER_TABLE_NAME", orderTable.tableName);

完成后,你的函数就能通过环境变量INVENTORY_TABLE_NAME和ORDER_TABLE_NAME读取到对应Amplify栈的DynamoDB表名,完美适配多栈场景。

内容的提问来源于stack exchange,提问作者Miguel Ferreira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 05:12:05