使用第三方技术写入数据
配置第三方技术以直接将行协议发送到InfluxDB。
AWS Lambda通过CloudFormation模板
使用 AWS Lambda 将数据写入 InfluxDB,Amazon Web Services 的无服务器产品。此示例提供一个 CloudFormation 模板,每小时从 美国地质调查局 (USGS) 收集地震数据并以行协议的形式输出到 InfluxDB 存储桶中。
该 template 包含以下部分:
- 第1-20行:定义模板安装时所需的变量。
- 第21-120行:处理Lambda部署的一个特殊情况,该情况要求Lambda资产在部署之前位于您的区域内。由于没有优雅的解决办法,这100行在您创建堆栈的区域内在您的帐户中创建了一个S3存储桶,并将这些资源复制进去。
- 第121-132行:定义一个具有基本权限的角色以运行Lambda。
- 第133-144行:定义一个Python库层。该层打包了Python HTTP库,一个Python S2几何库,以及InfluxDB Python客户端库。
- 第145-165行:定义Lambda函数,一个压缩在名为
geo_lambda.zip的文件中的简短Python脚本。 - 第166-188行:定义一个事件规则,允许每小时运行一次Lambda。
部署模板
- 登录到您的免费AWS账户并搜索CloudFormation服务。确保您在想要部署Lambda的AWS区域内。
- 点击 创建堆栈。
- 在前提 - 准备模板部分,选择模板已准备好。
- 在指定模板部分:
- 在模板源下,选择Amazon S3 URL。
- 在Amazon S3 URL字段中,输入CloudFormation模板URL:
https://influxdata-lambda.s3.amazonaws.com/GeoLambda.yml
- 点击 下一步.
- 在堆栈名称字段中输入名称。
- 输入以下 InfluxDB 细节:
- 组织 ID
- Lambda 写入的桶的桶 ID
- 有权写入该桶的令牌
- InfluxDB网址
- 请勿更改或添加其他字段。点击继续。
- 选择 我确认 AWS CloudFormation 可能会创建 IAM 资源 复选框。
- 点击 创建堆栈。
几分钟后,堆栈部署到您的区域。要查看新的 Lambda,请选择 服务 > AWS Lambda。在 Lambda 函数页面上,您应该能看到新的 Lambda。CopyZipsFunction 是辅助复制功能,而 GeoPythonLambda 负责数据收集和写入工作:

验证您的设置
GeoPythonLambda 应该根据我们设置的 AWS 规则每小时运行,但您应该测试并确认其正常工作。
- 点击
GeoPythonLambda,然后点击 测试。 - 测试需要一个输入定义,但这个 Lambda 没有输入要求,因此点击继续并保存默认数据集。
- 如果测试成功,将出现绿色执行结果:成功消息。
在写入数据点后,当您登录到您的 InfluxDB UI 时,您将能够探索地理位置地震数据:
