R能否在AWS Lambda函数中使用AWS S3?

R能否在AWS Lambda函数中使用AWS S3?,r,amazon-web-services,amazon-s3,aws-lambda,rpy2,R,Amazon Web Services,Amazon S3,Aws Lambda,Rpy2,我正在寻找一种在AWS中运行R中开发的模拟算法的方法。R模型的输入来自S3,输出需要写回S3。我所在组织的数据科学家小组是R专家,我所在的组织已将AWS确定为企业云平台。鉴于此,我需要找到一种在AWS中运行R仿真模型的方法 我看到了这个blog(),它讨论了如何使用Lambda在Ptyhon中使用rpy2包运行R代码。我计划采用同样的方法。我计划实现Lambda函数,如下所示- 1) 从S3读取输入文件以写入本地lambda存储器(/tmp)。这将使用Python boto3 SDK完成 2)

我正在寻找一种在AWS中运行R中开发的模拟算法的方法。R模型的输入来自S3,输出需要写回S3。我所在组织的数据科学家小组是R专家,我所在的组织已将AWS确定为企业云平台。鉴于此,我需要找到一种在AWS中运行R仿真模型的方法

我看到了这个blog(),它讨论了如何使用Lambda在Ptyhon中使用rpy2包运行R代码。我计划采用同样的方法。我计划实现Lambda函数,如下所示-

1) 从S3读取输入文件以写入本地lambda存储器(/tmp)。这将使用Python boto3 SDK完成

2) 使用rpy2调用R算法。我计划将R算法保存为S3中的.RDS文件,并使用rpy2加载它,然后运行R算法。R算法将输出写回本地lambda存储器

3) 将lambda存储器的输出写入S3。同样,这将使用Python boto3 SDK完成

如您所见,Python用于与S3交互,并将文件带到本地lambda存储。R将从本地lambda存储器读取数据并运行模拟算法。所有R代码都将包装在lambda函数的rpy2中。我是这样计划的,因为我不确定R是否可以直接使用S3

我现在意识到Lambda本地存储限制为500 MB,我怀疑输入和输出文件是否会保持在这个限制内。我现在想看看R是否可以在Lambda中直接与S3一起工作。如果这是可能的,我不必将文件带到本地lambda存储,因此不会耗尽空间。同样,R-S3交互需要包装在rpy2中。有没有办法做到这一点?在这种情况下,R Cloudyr库可以工作吗?虽然我看到了Cloudyr与S3交互的例子,但我没有看到在Lambda中使用rpy2的任何例子


有什么想法吗?

可能问题不在于R是否可以用于lambda函数(正如您所注意到的,答案是它可以),而在于当大小超过500MB时在lambda函数中使用存储?@Igautier-感谢您的回答。你是对的-我有一种在Lambda中运行R的方法,但是由于Lambda大小(500mb)的限制,这种方法是有限的。我认为这是一个硬限制,不能增加。我想知道在AWS中运行R是否有不同的方法。