typescript - 需要打字稿承诺帮助
问题描述
我是 typescript 和 nodejs 的新手,但需要对 typescript 代码进行一些修复。
我需要使用 Pulumi 运行 ECS 一次性任务,并且我有关于我们应该如何从 taskDefinition https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/awsx/ecs/运行任务的文档#EC2TaskDefinition-运行
但是没有文字描述,我无法理解我应该如何称呼这个run
动作
public run: (params: RunTaskRequest) => Promise<awssdk.ECS.Types.RunTaskResponse>;
有一个关于如何使用 api-gateway 运行它的示例,但我不清楚如何将其run
称为独立操作https://www.pulumi.com/docs/guides/crosswalk/aws/ecs/#running-即发即忘任务
感谢您对此的任何建议!
UPD:我拥有的更详细的代码块:
const kafkaTask = new awsx.ecs.FargateTaskDefinition("kafka1-task-efs", {
vpc: vpcSelected,
containers: {
kafkaTask: {
image: imageKafkaTaskEfs,
logConfiguration: {
logDriver: "awslogs",
options: {
"awslogs-group": "ecs-kafka1",
"awslogs-region": "eu-central-1",
"awslogs-stream-prefix": "kafka1-task-efs"
}
},
mountPoints: [
{containerPath: "/mnt/kafka/data", sourceVolume: "kafka-data"},
{containerPath: "/mnt/kafka/secrets", sourceVolume: "kafka-secrets"},
{containerPath: "/mnt/zookeeper/log", sourceVolume: "zookeeper-log"},
{containerPath: "/mnt/zookeeper/data", sourceVolume: "zookeeper-data"}
]
}
},
volumes: [
{name: "kafka-data", efsVolumeConfiguration: {rootDirectory: "/kafka-data", fileSystemId: fsKafka.id}},
{
name: "kafka-secrets",
efsVolumeConfiguration: {rootDirectory: "/kafka-secrets", fileSystemId: fsKafka.id}
},
{
name: "zookeeper-log",
efsVolumeConfiguration: {rootDirectory: "/zookeeper-log", fileSystemId: fsKafka.id}
},
{
name: "zookeeper-data",
efsVolumeConfiguration: {rootDirectory: "/zookeeper-data", fileSystemId: fsKafka.id}
}
]
});
kafkaTask.run({ cluster }).then(res => console.log(res));
UPD2:这是我最终遇到的错误:,但不确定它是否有用:
error: Running program '/pulumi/main-infrastructure' failed with an unhandled exception:
Error: Cannot call '.get' during update or preview.
To manipulate the value of this Output, use '.apply' instead.
at Proxy.get (/pulumi/node_modules/@pulumi/pulumi/output.js:172:15)
at FargateTaskDefinition.run (/pulumi/node_modules/@pulumi/ecs/taskDefinition.ts:226:39)
at /pulumi/main-infrastructure/index.ts:127:15
at Generator.next (<anonymous>)
at fulfilled (/pulumi/main-infrastructure/index.ts:5:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
error: update failed
解决方案
我不确定您在哪里遇到问题,但是根据这些文档,您需要创建一个实例EC2TaskDefinition
,因此您需要以下内容:
const task_def = new EC2TaskDefinition('', {}, {})
task_def.run({})
.then(res => console.log(res))
显然缺少一些参数,但我什至不确定您是否已经从您的问题中创建了一个类实例,如果是参数问题,那么请发表评论,我可以尝试扩展一下。
推荐阅读
- python - 尝试使用数学中的阶乘计算二项式系数的“非类型错误”
- javascript - 反应原生改变方向
- rust - 一种仅查找 Result 的 unwrap() 用法的简单方法
- solr - 距离参数为 2 的 Apache solr 模糊搜索
- python - 累积二项式概率 Python
- html - 我可以在我的网站上显示谷歌表格数据,而不使用嵌入
- python - Discord Bot / aiohttp multiple requests in session using values of the previous respone
- python - How to convert one record per change to continuous data?
- woocommerce - Update WooCommerce Sale Price & Date Based On Attribute Value
- android - Espresso 在自定义视图中找不到文本