通过 AWS CodeDeploy 执行控制台应用程序不起作用,但手动 运行 批处理文件可以吗?

Executing a console app through AWS CodeDeploy doesn't work, but manually running the batchfile does?

我有一个 Nancyfx 控制台应用程序,我正在尝试使用 AWS CodeDeploy 将其部署到 AWS EC2 Windows 实例。所有步骤都在 CodeDeploy 的部署仪表板中显示成功 运行,但应用程序实际上并未正确启动。

问题出在 ApplicationStart 挂钩上,它是 运行 应用程序 exe 的单行批处理文件。如果我 RDP 进入实例并手动 运行 批处理文件,它会按预期运行。

预期结果: - 应用程序的控制台 window 打开 - 调试打印输出表明从 DynamoDB 中提取一些初始数据是成功的 - 调试打印输出表明应用程序正在 运行ning。 - 控制台 window 通过等待任何输入(Nancyfx 的默认设置)

保持打开状态

实际结果: - 没有控制台 window 打开,但 CodeDeploy 的日志显示以下内容的标准输出 - 调试打印输出表明提取初始数据失败 - 调试打印输出表明应用程序正在 运行ning - 应用程序不是 运行ning

我想问题出在 CodeDeploy 如何执行批处理文件,但我找不到这种特定且难以 Google 的问题的答案。请帮忙!

已解决 - 我发现应用程序中的 DynamoDB 调用导致它过早退出,通过授予 IAM 角色 DynamoDB 访问权限解决了这个问题。