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

问题描述 投票:0回答:3

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

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

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

excel vba excel-vba amazon-web-services amazon-ec2
3个回答
2
投票

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

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

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

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


0
投票

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.