c# - Windows 计划任务未使用 EC2 发布到 S3 存储桶

标签 c# amazon-web-services amazon-s3 amazon-ec2 windows-server-2012-r2

我看到的问题与这里发生的事情非常相似:https://forums.aws.amazon.com/thread.jspa?threadID=246123&tstart=0 .

但是,我没有使用过 Powershell,我宁愿在不需要学习如何操作的情况下完成这项工作。

我已使用 Windows Schedule 安排任务在 Windows Server 的 EC2 实例启动时运行(由 CloudWatch 触发器启动)。该任务启动一个控制台应用程序,该应用程序应该从 GoogleSheet 中提取数据,将其写入 RSS JSON 文件,并将其上传到 S3 存储桶。

当实例启动并且+我登录+时一切正常。任务运行,控制台应用程序运行,S3 存储桶项目更新。

当(我在 S3 存储桶中看到最新的修改日期是我上次登录的时间)没有登录时,这不起作用,但是,但我知道任务正在运行(显示在计划的历史日志中任务)。

该实例附加了一个 IAM 角色以进行完整的 S3 访问。

控制台应用程序是一个 C# 应用程序。它使用 AmazonS3Config() 方法:

AmazonS3Config config = new AmazonS3Config();
            var awsAccessKey = ConfigurationManager.AppSettings["AWSAccessKey"];
            var awsSecretKey = ConfigurationManager.AppSettings["AWSSecretKey"];
            AmazonS3Client client = new AmazonS3Client(awsAccessKey, awsSecretKey, RegionEndpoint.USEast1);
            tUtil = new TransferUtility(client);

在 App.config 中,我有 AmazonS3Config() 方法的凭据:

  <appSettings>
    <add key="AWSAccessKey" value="****" />
    <add key="AWSSecretKey" value="****" />
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </appSettings>

任务调度程序设置:

Task Settings

enter image description here

enter image description here

除上述之外,我还仔细按照 this 中的说明进行操作视频。该应用程序不再检查 app.config 文件中的 key ,而是来自 EC2 实例本身。但这并没有解决问题。

建议?

最佳答案

AWS CLI 在用户配置文件中存储帐户配置文件,当您注销时它无法从用户配置文件加载,因此在您的情况下登录系统是您的方法的要求。可以更改,将帐户资料存储在不同的地方并加载它不会有问题,我建议您在这里查看:https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html

顺便说一句,Windows 任务计划程序中有几个复选框可以让您在不登录的情况下运行任务,请注意这一点。 此外,将管理员用户设置为任务不足以获得最高级别的权限,您需要选中提升的权限复选框。

问候...

关于c# - Windows 计划任务未使用 EC2 发布到 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48175976/

相关文章:

php - MySQL - 插入 BLOB 时出现服务器故障

amazon-web-services - AWS Pipeline部署cloudformation

amazon-web-services - 无服务器部署命令所需的权限

redirect - Cloudfront 使用 SSL 将 www 重定向到裸域

javascript - 使用 AWS PreSignedURL 将图像上传到 Amazon S3

c# - 如何在 C# 中写入运行时生成的 .dll 文件?

c# - 使用 C# 图形从 swf 中绘制图像

curl - Laravel 5.1 AWS S3 Flysytem : AWS HTTP error: cURL error 6: Couldn't resolve host name

c# - GetClientRect 返回缩放尺寸?

c# - 协方差和 orderby() 问题