使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

CDK IoT在documentParameters和AWS托管模板上创建作业无法正常工作。

0

【以下的问题经过翻译处理】 您好, 这个CLI命令可以从AWS托管模板创建作业:

$ aws iot create-job --targets 'arn: aws: iot:region:account:thing / thingname' --job-id 'test-aws-job' --job-template-arn 'arn:aws:iot:region::jobtemplate / AWS-Run-Command:1.0' --document-parameters '{"command": "ls ","runAsUser": "root"}'

但是,这个看似等价的CDK自定义资源无法工作。CDK部署返回Message returned: Document parameters are only supported for managed job templates.

const testAwsJobUuid = 'test-aws-job' + uuidv4();
const testDocumentParameters = new Map<string,string>([
  ['command','ls'],
  ['runAsUser','root']
]);

const testAwsJob = new cr.AwsCustomResource(this,'test-aws-job',{
  onCreate:{
    service:'Iot',
    action:'createJob',
    parameters:{
      targets:[`arn:aws:iot:$ {process.env.CDK_DEFAULT_REGION}:$ {process.env.CDK_DEFAULT_ACCOUNT}:thing / thingname`],
      jobTemplateArn:`arn:aws:iot:$ {process.env.CDK_DEFAULT_REGION}:$ {process.env.CDK_DEFAULT_ACCOUNT}:jobtemplate / AWS-Run-Command:1.0`,
      documentParameters:testDocumentParameters,
      jobId:$ {testAwsJobUuid} `
    },
    physicalResourceId:cr.PhysicalResourceId.of(Date.now().toString()),
  },
  policy:cr.AwsCustomResourcePolicy.fromSdkCalls({
    resources:cr.AwsCustomResourcePolicy.ANY_RESOURCE,
 }),
});

非常感谢,Gary

profile picture
专家
已提问 1 年前84 查看次数
1 回答
0

【以下的回答经过翻译处理】 嗨,Gary。我不确定这是否是问题,但在CDK中,您在jobTemplateArn中有一个账号,我认为它不应该在那里。

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则