繁体   English   中英

如何将 AWS lambda 与 Aerospike 数据库集群连接

[英]How to connect AWS lambda with Aerospike db cluster

我有一个要求,其中一个 excel 文件被上传到 S3 存储桶,所以一旦该文件被上传,我想触发一个 lambda function 它将读取该 excel 文件,然后将数据保存在 aerospike 数据库中。

为了读取 excel 文件,我得到了这段代码

key = 'key-name'
bucket = 'bucket-name'
s3_resource = boto3.resource('s3')
s3_object = s3_resource.Object(bucket, key)

data = s3_object.get()['Body'].read().decode('utf-8').splitlines()

lines = csv.reader(data)
headers = next(lines)
print('headers: %s' %(headers))
for line in lines:
    #print complete line
    print(line)

但我不知道如何连接到 aerospike 数据库,因为 boto3 库不支持 aerospike。

请帮我连接到数据库集群并保存数据? 或者任何参考都会有所帮助

我认为从 AWS Lambda 之类的东西与 Aerospike 交互的方法是使用 Aerospike REST 客户端,它提供一个服务器,将 Restful API 请求转换为发送到 Aerospike 集群的消息(在博客文章中提到)。

基本上,您可以运行一个 REST 服务器(Aerospike REST 客户端),您可以使用 Python 从 AWS Lambda 向服务器发送 HTTP 请求,服务器会将这些请求转换为 Aerospike 操作并负责执行它们。

这是 Aerospike REST 客户端的 GitHub 存储库 - 它还包含几篇关于如何使用它的博客文章和实际支持的请求的 Swagger UI 文档: https://github.com/aerospike/aerospike-client-rest

还有这篇无服务器事件 Stream Processing with Aerospike 的博文可以帮助您入门: https://medium.com/aerospike-developer-blog/serverless-event-stream-processing-with-aerospike-679f2a5cbba6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM