各位开发人员大家好,我需要了解一些关于 DataSync Start ExecutionApi 的信息

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

我正在使用数据同步启动执行 Api。 我有一个堆栈,在其中创建所有位置、任务、角色,并且我使用带有 startExecutionApi 的 DataSync 客户端来调用同一堆栈中的任务。

我的 dataSync 代码片段看起来像这样

const client = new DataSyncClient();
const input = {
  TaskArn: TASK1.attrTaskArn,
};
const command = new StartTaskExecutionCommand(input);
(async () => {
  const response = await client.send(command);
})(); 

但是我遇到了错误

const 异常 = new InvalidRequestException({ ^ InvalidRequestException:无效参数:格式错误的 ARN:${Token[TOKEN.110]}。 在de_InvalidRequestExceptionRes(/codebuild/output/src4271555059/src/node_modules/@aws-sdk/client-datasync/dist-cjs/index.js:1945:21) 在de_CommandError(/codebuild/output/src4271555059/src/node_modules/@aws-sdk/client-datasync/dist-cjs/index.js:1923:19) 在 processTicksAndRejections (节点:内部/进程/task_queues:95:5) 在异步/codebuild/output/src4271555059/src/node_modules/@smithy/middleware-serde/dist-cjs/index.js:35:20 在异步/codebuild/output/src4271555059/src/node_modules/@smithy/core/dist-cjs/index.js:165:18 在异步/codebuild/output/src4271555059/src/node_modules/@smithy/middleware-retry/dist-cjs/index.js:320:38 在异步/codebuild/output/src4271555059/src/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:33:22 在异步/codebuild/output/src4271555059/src/lib/stacks/be-customer-migration-stack.ts:65:28 { '$fault': '客户端', '$元数据': { http状态代码:400, 请求 ID: 'b124d220-8350-4bc5-9cb1-219211c65fea', 扩展请求 ID:未定义, cfId:未定义, 尝试:1、 总重试延迟:0 }, 错误代码:'无效参数', 数据同步错误代码:未定义, __type: 'InvalidRequestException' }

我尝试了一些事情,然后我观察到

如果我使用任务 arn 硬编码 TASK1.attrTaskArn,则该任务已经创建,然后打印响应。我得到 200 好;该任务也会在我的管道的合成阶段被触发。 (信息:-> 我使用管道来部署堆栈,而不是直接部署它)

我通过一些研究发现,datasync 客户端无法在部署时解析 arn 令牌。

是因为任务创建和执行是同时进行的吗?

有什么办法可以将它们放在同一个堆栈中吗?

typescript async-await architecture aws-codepipeline aws-datasync
1个回答
0
投票

我在 aws repost 中找到了答案 这是因为我正在您的 CDK 应用程序代码中进行 AWS SDK 调用。 需要将其更改为自定义资源或向我的管道添加其他步骤。 完成后我将发布代码片段。 https://repost.aws/questions/QUjGdb9lxbTeSuMKcMUMyWPg/datasync-start-execution-api

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