Это потому, что все ваши ключи, пользовательские, плагины, ресурсы вложены в провайдера. Все это должно быть на верхнем уровне (уровень отступа 0) в yaml. Я столкнулся с той же проблемой, и поэтому она не работала. Также, пожалуйста, используйте serverless-local-dynamodb версии 0.2.30. Последний (0.2.36) имеет проблемы.
Я переформатировал yaml для вас, чтобы вы поняли, что я имею в виду
provider:
name: aws
runtime: nodejs8.10
profile: default
region: us-east-1
memorySize: 512
target: 'node' # Below defined environment variables wont be accessible in lambda functions.
stage: ${opt:stage, 'dev'}
environment:
USERS_TABLE: Users_${self:provider.stage}
DAILYACTIVITY_TABLE: DailyActivity_${self:provider.stage}
plugins:
- serverless-dynamodb-local
- serverless-offline
custom:
dynamodb:
start:
migrate: true
resources:
Resources:
usersTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
- AttributeName: emailid
AttributeType: S
- AttributeName: id
AttributeType: S
KeySchema:
- AttributeName: emailid
KeyType: HASH
GlobalSecondaryIndexes:
- IndexName: gsi_id
KeySchema:
- AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
Projection:
ProjectionType: ALL
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
TableName: ${self:provider.environment.USERS_TABLE}
activityTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
- AttributeName: id
AttributeType: S
- AttributeName: date
AttributeType: S
KeySchema:
- AttributeName: id
KeyType: HASH
- AttributeName: date
KeyType: RANGE
ProvisionedThroughput:
ReadCapacityUnits: 5
WriteCapacityUnits: 5
TableName: ${self:provider.environment.DAILYACTIVITY_TABLE}