簡體   English   中英

docker 上的 Serverless offline 和 DynamoDB local

[英]Serverless offline and DynamoDB local on docker

我想使用本地 DynamoDB docker 在 Serverless 上進行訓練。但是,使用這段代碼我得到一個空的表列表:

import { DynamoDB, Endpoint } from "aws-sdk";

export const handler = async (event, context, cb) => {
   const ddb = new DynamoDB();

   if (process.env["DYNAMO_LOCAL_ENDPT"]) {
     ddb.endpoint = new Endpoint(process.env["DYNAMO_LOCAL_ENDPT"]);
    // the local env variable = http://localhost:8000
   }

   const tables = await ddb.listTables().promise();

  const response = {
    statusCode: 200,
    body: JSON.stringify({
    message: "Hello World!",
    tables,
    }),
  };
  return response;
};

但是如果我在 Powershell 上使用 AWS CLI 和命令執行相同的操作,

aws dynamodb list-tables --endpoint-url http://localhost:8000

我在 docker 上的 2 個表得到了正確的響應。

你能告訴我我的代碼有什么問題嗎?

DynamoDB docker 區域與 AWS CLI 中配置的區域相同。

即使您在本地工作,Serverless Yaml 中的區域也必須相同(默認情況下為 us-east-1)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM