我正在尝试创建一个工作流,其中 AWS Glue ETL 作业将从外部 REST API 而不是 S3 或任何其他 AWS 内部源提取 JSON 数据。
这甚至可能吗?有人做吗?
请帮忙!
最佳答案
是的,我确实从 Twitter、FullStory、Elasticsearch 等 REST API 中提取数据。通常,我确实使用 Python Shell 作业进行提取,因为它们更快(冷启动相对较小)。完成后,它会触发一个 Spark 类型的作业,该作业仅读取我需要的 json 项。
我使用请求 pyhton 库。
为了将数据保存到 S3 中,您可以执行以下操作
import boto3
import json
# Initializes S3 client
s3 = boto3.resource('s3')
tweets = []
//Code that extracts tweets from API
tweets_json = json.dumps(tweets)
obj = s3.Object("my-tweets", "tweets.json")
obj.put(Body=data)
关于aws-glue - 使用来自外部 REST API 的数据的 AWS Glue 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59714187/