AWSラムダ関数をコード化するためにサーバーレスフレームワークを使用しています。 HTMLページからフォームデータを取得し、AWSラムダを使用してDynamodbに保存する必要があります。だから私はnodejsとAPIエンドポイントにもコードを書いています。最後に、AWSにアプリケーションをデプロイしました。したがって、CURLとPostmanの両方を使用してデータを投稿しようとすると、「内部サーバーエラー」が表示されますDynamodb接続のサーバーレスラムダ関数
以下は関連するコードスニペットです。
handler.js
const params = {
TableName: process.env.DYNAMODB_TABLE,
Item: {
id: uuid.v1(),
name: data.name,
phone: data.phone,
checked: false,
createdAt: timestamp,
updatedAt: timestamp,
},
};
serverless.yml
provider:
name: aws
runtime: nodejs6.10
environment:
DYNAMODB_TABLE: ${self:service}-${opt:stage, self:provider.stage}
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.DYNAMODB_TABLE}"
私はダイナモテーブルnを定義する場所がわからないんだけどそれは自動的にコードを実行しながら作成されているかどうか?そして、私はこのgithubリポジトリに従いました。https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb
CloudWatchの上に示し、エラーは何ですか? – dashmug
このエラーは、おそらくDynamoDBテーブルを作成していないためです。 – dashmug