跳转到主要内容

使用AWS Lambda进行链式工作

项目描述

# chained-aws-lambda

#### 运行测试

在顶级 data-store 目录中运行 make test

#### 部署

假设上面的测试已经通过,下一步是手动部署。有关使用Travis进行CI/CD的信息,请参阅下面的部分。

现在使用make进行部署

make deploy

设置AWS API网关。网关已经为您自动设置并关联到Lambda。但是,为了获得友好的域名,您需要遵循[此处](http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)的说明。简而言之

  • 通过AWS证书管理器生成HTTPS证书,确保它在us-east-1

  • 在API网关控制台中设置域名

  • 在Amazon Route 53中设置,将域名指向API网关

  • 在API网关中,填写自定义域名的端点,例如Path=`/, Destination=`dssdev。这些可能取决于使用的配置文件(dev、stage等)。

  • 文件中将环境变量设置为您的域名。

如果成功,您应该能够在

https://<domain_name>

下看到Swagger API文档

curl -X GET “https://<domain_name>/v1/bundles” -H “accept: application/json”

#### 使用Travis CI进行CI/CD 我们使用[Travis CI](https://travis-ci.org/HumanCellAtlas/data-store)进行持续集成测试和部署。当make test成功时,Travis CI会将应用程序部署到AWS上的dev阶段,对于master分支上的每次提交都会这样做。这种行为在.travis.yml文件的deploy部分定义。

#### 授权Travis CI进行部署 加密的环境外部变量给Travis CI提供了运行测试和部署应用程序所需的AWS凭证。运行scripts/authorize_aws_deploy.sh IAM-PRINCIPAL-TYPE IAM-PRINCIPAL-NAME(例如,authorize_aws_deploy.sh user hca-test)以授予该主体部署应用程序所需的权限。因为这是一组有限的权限,它没有对IAM的写入访问权限。要设置应用程序将使用的账户中的资源IAM策略,请在您的工作站上一次使用特权账户凭证运行make deploy。完成此操作后,Travis CI将能够独立部署。每次您更改policy.json.template文件中的IAM策略时,都必须从特权账户重复执行make deploy步骤。

[![](

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

chained-aws-lambda-0.0.8.tar.gz (18.7 kB 查看哈希

上传时间

构建分发

chained_aws_lambda-0.0.8-py2.py3-none-any.whl (27.9 kB 查看哈希

上传时间 Python 2 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面