Android 无法将Aws Iot策略附加到证书

Android 无法将Aws Iot策略附加到证书,android,aws-iot,Android,Aws Iot,在这里,我想在aws iot中附上一份带有aws证书的保单。 对于此操作,我使用attachPrincipalPolicy()函数。 但在'com.amazonaws:aws android sdk iot:2.6.29'sdk版本中不推荐使用此函数。 所以每次创建证书后,我都需要手动将策略附加到证书。 是否有其他方法将保单附加到aws证书?参考: 附加原则政策 将指定的策略附加到指定的主体(证书) 或其他凭证) 注意:此API已弃用。请改用 编辑2 AttachPrincipalPolicy

在这里,我想在aws iot中附上一份带有aws证书的保单。 对于此操作,我使用attachPrincipalPolicy()函数。 但在'com.amazonaws:aws android sdk iot:2.6.29'sdk版本中不推荐使用此函数。 所以每次创建证书后,我都需要手动将策略附加到证书。 是否有其他方法将保单附加到aws证书?

参考:

附加原则政策

将指定的策略附加到指定的主体(证书) 或其他凭证)

注意:此API已弃用。请改用

编辑2

 AttachPrincipalPolicyRequest policyAttachRequest = new AttachPrincipalPolicyRequest();
 policyAttachRequest.setPolicyName(AWS_IOT_POLICY_NAME);                            

 policyAttachRequest.setPrincipal(createKeysAndCertificateResult.getCertificateArn());                 
 mIotAndroidClient.attachPrincipalPolicy(policyAttachRequest);
更多信息

AWSIot awsIotClient=AWSIotClientBuilder.defaultClient();
awsIotClient.createPolicy(新的CreatePolicyRequest().withPolicyDocument(policy).withPolicyName(policyName));
awsIotClient.attachPolicy(新的AttachPolicyRequest().withPolicyName(policyName)。withTarget(“arn:aws:iot:::cert/I此处指定的证书-->
policyAttachRequest.setPrincipal(createKeysAndCertificateResult.GetCertificateLearn());
并在此处附加策略-->
MioAndRoidClient.AttachPrincipalPolicyAttachRequest(policyAttachRequest);
但它不起作用。策略和证书在那里。但是策略无法附加证书。
AttachPrincipalPolicyRequest attachPolicyReq = new AttachPrincipalPolicyRequest(); //in docs it called AttachPolicyRequest but it`s wrong
attachPolicyReq.setPolicyName("allAllowed"); //name of your IOTAWS policy
attachPolicyReq.setPrincipal(getIdRes.getIdentityId());
new AWSIotClient(credentialsProvider).attachPrincipalPolicy(attachPolicyReq);
AWSIot awsIotClient = AWSIotClientBuilder.defaultClient();
awsIotClient.createPolicy(new CreatePolicyRequest().withPolicyDocument(policy).withPolicyName(policyName));
awsIotClient.attachPolicy(new AttachPolicyRequest().withPolicyName(policyName).withTarget("arn:aws:iot:<region>:<client_ID>:cert/<certificate_ID"