启动后可以将EC2实例设置为打开文件吗?

时间:2017-12-27 16:42:56

标签: excel vba excel-vba amazon-web-services amazon-ec2

我的工作流程通常包括启动一组EC2服务器,让它们处理Excel工作簿的不同部分。它不理想,但就是这样。我想尽可能自动化这个过程。

理想情况下,我会创建一个在启动时打开Excel工作簿的AMI。然后,此工作簿将自动运行一个脚本,该脚本从Dropbox文件夹中获取已命名的Excel工作簿,打开该工作簿,然后运行其自动脚本。这样我所要做的就是为第二个Excel工作簿编写脚本代码,给它"魔术"名称,将其上传到Dropbox并使用第一个工作簿启动适当数量的AMi实例,并在完成工作后将其关闭并上传到dropbox文件夹。

我知道如何做到这一切,除了打开" bootstrap"启动EC2实例后的Excel文件。这可能吗?

3 个答案:

答案 0 :(得分:2)

启动EC2实例时,请提供userdata。该userdata可以是实例启动时自动运行的脚本。

另一种方法是使用EC2 Systems Manager Run Command在EC2实例启动后远程调用操作/脚本 - 您可以轻松地自动启动某个实例,等待它准备就绪,然后使用一些动态参数远程调用Excel脚本。

另一种方法是将工作项放在SQS队列上,然后使用userdata想法在实例启动时运行一个脚本,从队列中提取项目并运行。

另一个想法是使用AWS Lambda。只需将工作簿上传到S3,然后触发Lambda函数即可。它可以读取和处理整个工作簿,或者如果您确实需要工作簿的某些部分由不同的任务处理,那么您的Lambda函数可以调用许多从属Lambda函数并将工作簿的各个部分扇出到它们。

答案 1 :(得分:0)

制作一个ami,在启动时将aws服务器设置称为控制器。从ami启动的许多实例都会调用控制器并请求工作。

答案 2 :(得分:0)

您可以创建Windows服务/任务并在启动时执行bat文件。 bat文件将打开运行脚本的excel文件。

我认为这种方法可能比使用AWS服务更简单。