问题标签 [aws-batch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
404 浏览

boto3 - 有没有办法从批处理作业中检索 Step Function 任务令牌?

我正在使用 AWS Batch 与 AWS Step Functions 的集成 - https://docs.aws.amazon.com/step-functions/latest/dg/connectors-batch.html

批处理作业定义采用从 Step Function 传入的参数,并使用这些参数调用容器上的 python 脚本。

在容器上运行的这个 python 脚本中是否有办法提取 Step Function taskToken以便我可以更新状态并将任务成功 JSON 发送回调用 Step Function ( https://docs.aws.amazon.com/step -functions/latest/apireference/API_SendTaskSuccess.html ) 稍后在流程中使用?

目前似乎没有任何其他方法可以将批处理作业的结果返回到 StepFunctions。

谢谢!

0 投票
1 回答
700 浏览

aws-lambda - 将现有 DynamoDB 项目导出到 Lambda 函数

是否有任何 AWS 托管解决方案允许使用 DynamoDB 作为源和 Lambda 函数作为接收器来执行本质上是数据迁移的操作?

我正在设置一个 Lambda 来处理 DynamoDB 流,并且我希望能够使用相同的 Lambda 来处理所有现有项目,而不必在 AWS Glue 的 Spark 或 Hive 作业中重写相同的逻辑、数据管道或批处理。(我可以接受 Lambda 的输入不同于 DynamoDB 流记录——我可以在我的 Lambda 中处理它——我只是想避免在其他地方重新实现我的业务逻辑。)

我知道我可以建立自己的设置来运行全表扫描,但我也在努力避免任何无差别的繁重工作。

编辑:一种可能性是更新 DynamoDB 中的所有项目,以便触发 DynamoDB Stream 事件。但是,我的问题仍然存在 — 是否有 AWS 托管服务可以为我做到这一点?

0 投票
2 回答
940 浏览

amazon-web-services - 如何允许 AWS 从批处理作业访问另一个账户上的 S3

我在 account 中有一个批处理作业,在 account 中有一个Abucket B。当我的工作请求s3:GetBucketLocation时,它会返回Access Denied

我已经在我的批处理作业(帐户)上设置了这样的权限A

和存储桶权限(帐户B):

这些权限不起作用。

0 投票
1 回答
2093 浏览

amazon-web-services - boto3 无法从在 AWS 批处理中运行的 Docker 容器连接到 S3

我正在尝试将存储在 ECR 中的 Docker 容器作为 AWS 批处理作业启动。此容器的入口点 python 脚本尝试连接到 S3 并下载文件。我AmazonS3FullAccess在计算环境中为 AWSBatchServiceRole 附加了一个角色,我还AmazonS3FullAccess为计算资源附加了一个角色。

这是正在记录的以下错误:botocore.exceptions.ConnectTimeoutError: Connect timeout on endpoint URL: "https://s3.amazonaws.com/"

这些实例有可能在自定义 VPC 中启动,而不是在默认 VPC 中启动。我不确定这会有所不同,但也许这是问题的一部分。我没有适当的权限进行检查。我已经在同一个 VPC 中启动的 EC2 实例上测试了这个 Docker 映像,一切都按预期工作。

0 投票
3 回答
16410 浏览

python - 在 AWS 中运行 python 脚本的最佳方式是什么?

我有三个 python 脚本 、1.py2.py3.py每个脚本都有 3 个要传递的运行时参数。

这三个 python 程序都是相互独立的。所有 3 个都可能以批处理的顺序方式运行,或者可能发生任何两个可能会根据某些配置运行。

手动方法:

  1. 创建 EC2 实例,运行 python 脚本,将其关闭。
  2. 对下一个 python 脚本重复上述步骤。

自动化方式将通过 lambda 触发上述过程,并使用某种服务组合复制上述过程。

在 AWS 中实现此功能的最佳方式是什么?

0 投票
0 回答
1234 浏览

amazon-ecs - AWS 批处理 Fargate ECS 容器在公有子网中没有 Internet 连接

我已经部署了一个 AWS 批处理作业,它在后台创建了一个 ECS Fargate 任务。这一切都部署在具有 Internet 访问权限的公共子网中。我已经验证在同一子网中的独立 EC2 实例中运行 docker 容器具有 Internet 连接,并且一切正常。阅读 AWS 文档后,我无法确定为什么我的 ECS docker 容器无法访问互联网。是否需要一些特殊配置才能使其工作?

0 投票
1 回答
576 浏览

amazon-web-services - 使用 AWS Lambda 的计划作业

我有几个由其他应用程序的事件触发的 AWS lambda 函数,例如通过 Kinesis。其中一些事件应该触发另一个时间发生的事情。例如,考虑在事件 X 发生 24 小时后向用户发送关于某事的提醒/通知电子邮件的情况。

我以前使用过 lambda 函数,这些函数通过在运行时动态创建 CloudWatch“cron”规则来调度其他 lambda 函数,但我现在正在重新审视我的旧设计并考虑这是否是最佳方法。设置调度其他 lambdas 的 lambdas 有点乏味,因为除了提交以新 lambda 为目标的 CW 规则之外,我还必须处理运行时授予调用的 lambda 权限以由新的 CW 规则触发。

所以我正在考虑的另一种方法是通过将作业添加到数据库表中来提交要完成的作业,具有给定的执行时间,然后每 x 分钟运行一个单一的 CW cron 规则,以检查数据库是否有到期作业。这降低了 CW 规则的复杂性(只需要一个静态规则)、lambda 权限(也是静态的)等,但增加了额外数据库表等的复杂性。另一个区别是,虽然旧设计只执行一个执行一个“作业”每次调用,此设计可能会在同一调用中执行 100 个待处理作业,我不确定这是否会导致超时问题等。

有没有人成功地实现了类似的东西?你选择了什么方法?我知道还有其他服务,例如 AWS Batch,但这对于安排简单任务(例如在t事件发生后时间已过时发送电子邮件)来说似乎有点过头e了,因为据我所知,它不支持简单的 lambda 作业。SQS 也支持定时消息,但最多只能有 15 分钟,因此在 24 小时内安排某些事情似乎没有用。

0 投票
1 回答
1156 浏览

amazon-web-services - 如何覆盖 AWS Batch 作业中的 docker 映像?

在 AWS Batch 中,我试图在提交作业时覆盖作业定义中硬编码的图像。但我没有看到任何相关的文档。

当我在作业提交期间尝试添加image字段时,我得到:

参数验证失败:输入中的未知参数:“图像”,必须是以下之一:jobName、jobQueue、arrayProperties、dependsOn、jobDefinition、参数、containerOverrides、retryStrategy、超时

或者

参数验证失败:containerOverrides 中的未知参数:“image”,必须是以下之一:vcpus、内存、命令、环境

0 投票
1 回答
534 浏览

amazon-web-services - 为什么我不能在 AWS Batch C++ SDK 中覆盖多节点并行作业的容器变量?

我正在使用 AWS Batch。我的目标是通过适用于 C++ 的 AWS 开发工具包创建多节点并行作业。为此,我按照此处的说明创建了一个工作定义。

我正在使用 AWS C++ SDK,我注意到当我尝试覆盖环境变量或命令时,实际上没有任何内容传输到作业中。

有趣的是,对于使用普通作业定义(与多节点作业相反)的作业,相同的代码工作得非常好:

}

我应该为多节点并行作业使用不同的 API 吗?

0 投票
1 回答
1180 浏览

snakemake - 在 AWS Batch 中使用 Snakemake 工作流程

我想问问 Snakemake 社区是否有人在 AWS Batch 中成功实施了 Snakemake 工作流程。

2018 年 10 月最近发布的第 4 页似乎表明 Snakemake 无法在 AWS 上运行,因为它无法处理资源管理。这是出版物:Tibanna:用于在云上可扩展地执行便携式管道的软件- https://www.biorxiv.org/content/early/2019/04/29/440974.full.pdf

是的,同一篇论文确实表明 Snakemake 与谷歌云平台 (GCP) 配合得很好。

但是,Snakemake 文档指出:“Snakemake 4.0 及更高版本支持通过 Kubernetes 在云中执行。这与云提供商无关。” - https://snakemake.readthedocs.io/en/stable/executable.html#cloud-support

因此,我想知道是否有人使用 AWS Batch 实现了 Snakemake。

此外,在这个问题上,是否有人知道任何 github/bitbucket 页面详细说明了使用 GCP 成功实现 Snakemake。

提前致谢。