Serverless plugin compatible with aws cn
npm i -g [email protected]
npm i --save-dev serverless-aws-cn
service:
name: demo
plugins:
- serverless-aws-cn
provider:
name: aws
region: cn-north-1
endpointType: REGIONAL
functions:
hello:
handler: handler.hello
events:
- http:
method: get
path: hello-
Lambda supported in Beijing
cn-north-1region only. Ningxiacn-northwest-1region is not supported yet. -
If you have a function named
hellowith http event. You need patch Cloud Formation API Gateway Principal like this:
functions:
hello:
handler: handler.hello
events:
- http: GET hello
resources:
Resources:
HelloLambdaPermissionApiGateway:
Properties:
Principal: apigateway.amazonaws.com- You cannot open your endpoint without ICP Recordal. It always return
403 {"Message": null}. Except your function authorize by IAM:
functions:
hello:
handler: handler.hello
events:
- http:
method: get
path: hello
authorizer: aws_iamConsider try postman for test your endpoint with AWS4 Authorization header.
- Don't set environment in your provider or functions. It's not supported in
cn-north-1region.
provider:
name: aws
region: cn-north-1
endpointType: REGIONAL
runtime: nodejs6.10
# Lambda environment is not supported yet!
# environment:
# DYNAMODB_TABLE: ${self:service}-${opt:stage, self:provider.stage}
functions:
hello:
# environment:
# NODE_ENV: production- Don't waste time on Cognito User Pool (trigger or auth). Only Federate Identities available now.
functions:
preSignUp:
handler: preSignUp.handler
events:
- http:
path: posts/create
method: post
# This ARN is not exists.
# authorizer: arn:aws-cn:cognito-idp:cn-north-1:xxx:userpool/cn-north-1_ZZZ
# This event trigger not work!
# - cognitoUserPool:
# pool: MyUserPool
# trigger: PreSignUp- The builtin
aws-sdkversion is2.190.0. Doc expired.