繁体   English   中英

云服务在文件上传时运行批处理脚本?

[英]Cloud Services to run Batch script when file is uploaded?

我希望对从我的网站上载的文件运行批处理脚本(一次一个),并返回该批处理脚本生成的结果文件。 该网站托管在共享的Linux环境中,因此我无法在服务器上运行批处理文件。

听起来我可以使用Amazon S3和Amazon Lambda完成某些工作,但是我想知道是否还有其他服务可以使我完成相同的任务。

我建议您研究S3事件和Lambda。

使用S3事件,您可以在S3存储桶中的放置和删除操作上触发lambda函数,并且根据您的“批处理文件”任务,您可能可以纯粹在Lambda中实现目标。

如果您不能使用Lambda替换批处理文件的功能,则可以尝试以下操作:

  • 如果您需要在特定实例上运行批处理流程,请查看Amazon SQS。 您可以让S3事件触发Lambda在SQS中创建工作项,并且您的实例可以定期轮询SQS以进行工作。
  • 如果您需要更多实时的信息,则可以使用Amazon SNS进行推送,而不是采用上述方法。
  • 如果您不需要特定实例处理文件,但必须对它运行批处理文件,则也许可以让S3事件触发Lambda创建一个实例,该实例具有一个将为服务器准备系统的UserData脚本。根据需要,下载s3文件,对其进行批处理,然后通过EC2元数据服务查找其自身的实例ID并调用api方法终止实例来最终自行终止。

这里是一些相关的阅读材料,可以帮助您实现上述方法:

亚马逊SQS https://aws.amazon.com/documentation/sqs/

亚马逊SNS https://aws.amazon.com/documentation/sns/

亚马逊Lambda https://aws.amazon.com/documentation/lambda/

Amazon S3事件通知 http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

EC2用户数据 http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data

EC2元数据服务 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-retrieval

适用于Powershell Cmdlet的AWS工具参考 http://docs.aws.amazon.com/powershell/latest/reference/Index.html

暂无
暂无

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

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