我正在尝试在我的AWS lambda函数中将证书添加到AWSIot客户端以激活引导证书。我遵循此代码justInTimeRegistration lambda.js:
AWSIot awsIotClient = AWSIotClientBuilder.defaultClient();
awsIotClient.createPolicy(new CreatePolicyRequest().withPolicyDocument(policy).withPolicyName(policyName));
awsIotClient.attachPolicy(new AttachPolicyRequest().withPolicyName(policyName).withTarget(???));
我不明白什么是“目标”。在方法说明中,我读到:
目标-附加了策略的identity。
但是链接中的文档尚不清楚。在具有主体的AttachPrincipalPolicyRequest(不建议使用)AttachPrincipalPolicyRequest中,主体是“证书ARN(从CreateCertificate操作返回)”。但是身份对我来说还不清楚。它是像arn这样的实体还是仅仅是像certificateId这样的随机值?如何指定附加政策的目标/身份?
例如,我从此docs中可以看到,身份(目标)是arn:
aws iot attach-policy \
--policy-name UpdateDeviceCertPolicy \
--target "arn:aws:iot:us-west-2:123456789012:cert/4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e"