TC山姆CLI
tc-sam-cli的Python项目详细描述
不要使用,这是pre-alpha,没有测试
tc sam cli
一个非常简单的工具,包装在aws sam cli上,用于部署aws lambda。
与tclambda一起工作
配置
[Default]StackName="tc-sam-playground"S3CodeBucket="tc-sam-bucket"[[ExtraPolicies]]Effect="Allow"Action=["dynamodb:*"]Resource="arn:aws:dynamodb:eu-west-1:1234:table/myTable"[Functions.MyLambda]CodeUri="mylambda/"Handler="app.handler"Runtime="python3.7"MemorySize=256Timeout=60ReservedConcurrentExecutions=1BatchSize=10[Functions.MyLambda.Environment]MY_KEY="my value"[Functions.TcLambda.Events.Ping]Schedule="rate(1 minute)"Function="ping"# More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api[Functions.TcLambda.Api.Webhook]Path="/hello"Method="post"[Functions.Numpy]CodeUri="numpy/"Handler="app.handler"Runtime="python3.7"MemorySize=256Timeout=60Tracing=true
生成aws sam模板
每次更改tc-sam.toml
后,必须重新生成模板。
$ tc-sam generate_template > template.yml
建议将template.yml
置于源代码管理之下。
每个lambda都允许访问彼此的sqs队列,并且所有lambda共享同一个s3 bucket以获取结果。
展开
部署非常简单,它构建sam包并部署cloudformation堆栈。
$ tc-sam deploy
环境出口
$ tc-sam env_export TC_NUMPY_QUEUE="https://sqs.eu-west-1.amazonaws.com/123/tc-sam-playground-NumpySqs-ABC"TC_NUMPY_BUCKET="tc-sam-playground-resultbucket-123456"TC_MYLAMBDA_QUEUE="https://sqs.eu-west-1.amazonaws.com/123/tc-sam-playground-TcLambdaSqs-ABC"TC_MYLAMBDA_BUCKET="tc-sam-playground-resultbucket-123456"
这些设置可以复制到将使用aws lambdas的其他项目。
ping所有lambdas
tclambda处理程序附带一个ping
命令,用于测试是否同时允许对sqs和s3的权限。
$ tc-sam ping Ping NUMPY Ping MYLAMBDA Pong NUMPY Pong MYLAMBDA