- Serverless 入門(mén)(六)- DynamoDB 數(shù)據(jù)庫(kù)(上)
- Serverless 入門(mén)(七)- DynamoDB 數(shù)據(jù)庫(kù)(中)
前兩篇文章都在介紹如何在本地
操作 DynamoDB捆探,今天講一講如何配置線(xiàn)上數(shù)據(jù)庫(kù)衣屏,然后如何將將項(xiàng)目部署到 AWS 服務(wù)器上。
1. 配置 serverless.yml
打開(kāi) serverless.yml 文件芥吟,添加如下配置:
provider:
name: aws
runtime: nodejs8.10
stage: dev
region: ap-northeast-2
# 項(xiàng)目權(quán)限
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:* # 表的所有權(quán)限
Resource: "*" # 所有區(qū)域和所有表的權(quán)限
訪問(wèn) DynamoDB 需要憑證,這些憑證必須有權(quán)訪問(wèn) AWS 資源硕糊,如 DynamoDB table 或 Elastic Compute Cloud (Amazon EC2) 實(shí)例爽撒。
1.1 iamRoleStatements
iamRoleStatements
表示 IAM 角色聲明。什么是 IAM归敬?它是 AWS Identity and Access Management (IAM) 的 Web 服務(wù)酷含,可以使用 IAM 控制對(duì)哪個(gè)用戶(hù)進(jìn)行身份驗(yàn)證 (登錄) 和授權(quán) (具有權(quán)限) 以使用資源。
1.2 Effect
Effect 用來(lái)描述是否同意授權(quán)該配置汪茧,用法分別為:Effect: Allow
或 Effect: Deny
1.3 Action
Action 下是一個(gè)數(shù)組結(jié)構(gòu)椅亚,用來(lái)描述 dynamodb
的權(quán)限,例如:
- dynamodb:DescribeTable
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
上面的描述等價(jià)于 - dynamodb:*
是不是只能描述 dynamodb
的權(quán)限呢舱污? 答案是:NO
呀舔。
還能進(jìn)行組合配置,如下所示:
- dynamodb:ListTables
- dynamodb:DescribeTable
- lambda:InvokeFunction
- cloudwatch:*
- s3:ListBucket
- s3:PutObject
- sns:*
1.4 Resource
Resource 值中的 Amazon 資源名稱(chēng) (ARN) 指定了適用這些權(quán)限的表扩灯,如下所示:
- Resource: arn:aws:dynamodb:ap-northeast-2:account-id:table/Movies
該策略用于為針對(duì) ap-northeast-2 區(qū)域中的Movies表(由 account-id 指定的 AWS 賬戶(hù)所有)的 DynamoDB 操作授予權(quán)限媚赖。account-id 一般是由數(shù)字組成,如:
arn:aws:dynamodb:ap-northeast-2:123456789012
:table/Movies
如果想偷懶或測(cè)試用一下珠插,可配置為:- Resource: arn:aws:dynamodb:ap-northeast-2:123456789012:*
惧磺, 表示為 ap-northeast-2 地區(qū)所有的表有權(quán)限。
懶到家就直接: Resource: "*"
丧失,表示對(duì) AWS 所有地區(qū)所有表都有權(quán)限豺妓。
2. 部署項(xiàng)目
部署項(xiàng)目特別簡(jiǎn)單,只需執(zhí)行:serverless deploy -v
布讹,部署完成后琳拭,就會(huì)出現(xiàn)如下所示:
如果不想看詳細(xì)的部署過(guò)程,可將 -v
去掉
3. 驗(yàn)證
相關(guān)文章
- Serverless 入門(mén)(一) - 創(chuàng)建 IAM http://www.reibang.com/p/9fb731a799e2
- Serverless 入門(mén)(二) - HelloWord http://www.reibang.com/p/ddf2ffda5f63
- Serverless 入門(mén)(三)- 初始項(xiàng)目解讀 http://www.reibang.com/p/8baba2a8fe9f
- Serverless 入門(mén)(四)- 如何調(diào)試 http://www.reibang.com/p/58d30915de8a
- Serverless 入門(mén)(五)- 常用命令 http://www.reibang.com/p/28f001ea9d9d
- Serverless 入門(mén)(六)- DynamoDB 數(shù)據(jù)庫(kù)(上) http://www.reibang.com/p/c313b61d1cbf
- Serverless 入門(mén)(七)- DynamoDB 數(shù)據(jù)庫(kù)(中) http://www.reibang.com/p/05e7f4ccd6fe
- Serverless 入門(mén)(八)- DynamoDB 數(shù)據(jù)庫(kù)(下) http://www.reibang.com/p/0f9f1561ec46
- Serverless 入門(mén)(九)- 權(quán)限 http://www.reibang.com/p/97228749d761