Если вы тестируете env, вы можете перейти в консоль AWS и удалить существующую таблицу, поэтому, если вы хотите создать несколько лямбда-функций, совместно использующих некоторые таблицы, вы должны создать один бессерверный дескриптор Dynamodb, а остальные сервисы не содержат никакой конфигурации Dynamodb.
Если вам нужен один и тот же лямбда-шлюз API, вы можете добавить apiGateway
ниже провайдера в качестве примера ниже.
Например:
бессерверный A: DynamoDB и общедоступная конечная точка /
, API Gateway имеют restApiId:xxxxx
, restApiRootResourceId:yyyyyy
бессерверный B: служба пользователя и общедоступная конечная точка /users
бессерверный C: служба транспортных средств и общедоступная конечная точка /vehicle
serverless.yml бессерверный A
resources:
Resources:
VehiclesDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
-
AttributeName: id
AttributeType: S
KeySchema:
-
AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
TableName: ${self:provider.environment.DYNAMODB_VEHICLE_TABLE}
UsersDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
-
AttributeName: id
AttributeType: S
KeySchema:
-
AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
TableName: ${self:provider.environment.DYNAMODB_USER_TABLE}
serverless.yml бессерверный B
provider:
apiGateway
restApiId: xxxxx # REST API resource ID. Default is generated by the framework
restApiRootResourceId: yyyyyy # Root resource, represent as / path
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
- dynamodb:DescribeTable
Resource: "*"
serverless.yml бессерверный C
provider:
apiGateway
restApiId: xxxxx # REST API resource ID. Default is generated by the framework
restApiRootResourceId: yyyyyy # Root resource, represent as / path
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
- dynamodb:DescribeTable
Resource: "*"
person
Tan Nguyen
schedule
31.10.2019