Amazon web services AWS使用API REST中的数据

Amazon web services AWS使用API REST中的数据,amazon-web-services,amazon-s3,amazon-ec2,aws-lambda,Amazon Web Services,Amazon S3,Amazon Ec2,Aws Lambda,我写信给你是因为我是AWS的新手。。。我以前只为简单任务使用EC2实例 我目前正在寻找一个AWS服务,用于使用RESTAPI调用(到外部AWS服务)接收数据 到目前为止,我已经使用了EC2,在那里我部署了我的库(python),它在S3中进行调用并存储数据 AWS为此提供了哪些更有效的方法?一些SaaS 我知道他们还有更多的细节需要了解,以便选择一个好的服务,但我想知道我可以从哪里开始寻找 非常感谢:)要调用外部服务,您需要一些“计算资源”来运行客户端。在aws中的compute resourc

我写信给你是因为我是AWS的新手。。。我以前只为简单任务使用EC2实例

我目前正在寻找一个AWS服务,用于使用RESTAPI调用(到外部AWS服务)接收数据

到目前为止,我已经使用了EC2,在那里我部署了我的库(python),它在S3中进行调用并存储数据

AWS为此提供了哪些更有效的方法?一些SaaS

我知道他们还有更多的细节需要了解,以便选择一个好的服务,但我想知道我可以从哪里开始寻找


非常感谢:)

要调用外部服务,您需要一些“计算资源”来运行客户端。在aws中的compute resources下,我们了解ec2(docker容器)或(无服务器-我的最爱)

您的代码已经在EC2上运行,因此您应该已经知道您需要具有公共子网和ip地址的VPC来进行出站调用,而不管您选择的计算资源是什么。具体来说,我留下了发出请求、将响应写入文件并将响应对象(文件)推送到AWS S3的代码

您将需要一个相对/绝对路径来将文件推送到您要接收的任何位置。默认情况下,lambda服务器当前工作目录为:
/var/task
,但您可能希望将文件写入
/tmp/

通过设置一个触发函数,可以自动执行摄取过程。有时,当我需要使用不断变化的参数循环请求,而不是将所有请求打包到单个函数中时,我会链接lambda函数

  • 我将基本请求(参数化)保留在一个函数中,并通过API网关端点公开该函数
  • 我创建了第二个函数,通过使用事件对象(一个常规请求的JSON主体)为我需要的每个值调用一次基函数。此数据将替换基本函数中的参数
  • 我自动执行第二个功能
  • 提示:

    Lambda有时会在同一台服务器中运行您的请求。因此,如果您持续运行这些测试,服务器可能会有您不想要的来自过去调用的文件,因此我通常在函数的开头有一个清理步骤,该步骤会遍历文件系统,以确保在发出请求之前没有文件


    使用python 3.8作为运行时,我使用模块发送请求,编写文件并将响应对象推送到aws S3 bucket

    非常感谢您的回答@gusto2!对是一个简单的python代码,我正在考虑选择比EC2更轻的东西来执行它。。。我去看看兰姆达:)胶水怎么样?这也是一个不错的选择吗?非常感谢@Aram Maliachi的回复:)这对我寻找的东西帮助很大!这个问题听起来很明显,但是我可以在Lambda中使用我自己的库吗?胶水呢?我可以使用胶水作为API调用者吗?正如我在文件中看到的。我可以安排作业并在S3中加载调用结果。。。是这样吗?谢谢!!是的,你可以在Lambda中使用你的库,你需要用它们创建一个层,在ubuntu机器中压缩它们是至关重要的。见我的帖子。Glue是ETL的托管服务,我在日常工作中使用它,我不知道它如何满足您的需求。它不是用于摄取,而是用于S3中“已摄取”数据的模式定义和转换。如果你发现这个有用的话,请考虑一下我的回答:“AramMaliachi,我应该在EC2中构建这个层吗?”我尝试在WSL2上使用Ubuntu构建时失败了<代码>无法导入模块“lambda_函数”:没有名为“pandas”的模块。