影子管理器同步错误。

0

【以下的问题经过翻译处理】 当 ShadowManager 将 shdow 同步到云端时,出现“缺少身份验证”错误

2023-03-14T04:41:09.620Z [DEBUG] (Thread-6) software.amazon.awssdk.eventstreamrpc.OperationContinuationHandler:Continuation 本机 ID:-1376970208。 {}
2023-03-14T04:41:09.623Z [DEBUG] (Thread-6) com.aws.greengrass.authorization.AuthorizationHandler:使用主体 com.ShadowTest 命中策略,操作 aws.greengrass#UpdateThingShadow,资源 $aws/things/rfdme -load-ecu-L0001-01/阴影/名称/状态。 {}
2023-03-14T04:41:09.636Z [DEBUG] (Thread-6) com.networknt.schema.TypeValidator: validate( {"state":{"reported":{"state":true}}}, {"状态”:{“报告”:{“状态”:真实}}},$)。 {}
2023-03-14T04:41:09.638Z [DEBUG] (Thread-6) com.networknt.schema.RequiredValidator: validate( {"state":{"reported":{"state":true}}}, {"状态”:{“报告”:{“状态”:真实}}},$)。 {}
2023-03-14T04:41:09.639Z [DEBUG] (Thread-6) com.networknt.schema.PropertiesValidator: validate( {"state":{"reported":{"state":true}}}, {"状态”:{“报告”:{“状态”:真实}}},$)。 {}
2023-03-14T04:41:09.639Z [DEBUG] (Thread-6) com.networknt.schema.RequiredValidator: validate( {"state":{"reported":{"state":true}}}, {"状态”:{“报告”:{“状态”:真实}}},$)。 {}
2023-03-14T04:41:09.640Z [DEBUG] (Thread-6) com.networknt.schema.TypeValidator: validate( {"reported":{"state":true}}, {"state":{"reported ":{"state":true}}}, $.state)。 {}
2023-03-14T04:41:09.641Z [DEBUG] (Thread-6) com.networknt.schema.PropertiesValidator: validate( {"reported":{"state":true}}, {"state":{"reported ":{"state":true}}}, $.state)。 {}
2023-03-14T04:41:09.642Z [DEBUG] (Thread-6) com.networknt.schema.TypeValidator: validate( {"state":true}, {"state":{"reported":{"state" :true}}}, $.state.reported). {}
2023-03-14T04:41:09.643Z [DEBUG] (Thread-6) com.networknt.schema.UnionTypeValidator: validate( {"state":true}, {"state":{"reported":{"state" :true}}}, $.state.reported). {}
2023-03-14T04:41:09.644Z [DEBUG] (Thread-6) com.networknt.schema.TypeValidator: validate( {"state":true}, {"state":{"reported":{"state" :true}}}, $.state.reported). {}
2023-03-14T04:41:09.645Z [DEBUG] (Thread-6) com.networknt.schema.RequiredValidator: validate( {"reported":{"state":true}}, {"state":{"reported ":{"state":true}}}, $.state)。 {}
2023-03-14T04:41:09.645Z [DEBUG] (Thread-6) com.networknt.schema.RequiredValidator: validate( {"reported":{"state":true}}, {"state":{"reported ":{"state":true}}}, $.state)。 {}
2023-03-14T04:41:09.646Z [DEBUG] (Thread-6) com.networknt.schema.RequiredValidator: validate( {"state":{"reported":{"state":true}}}, {"状态”:{“报告”:{“状态”:真实}}},$)。 {}
2023-03-14T04:41:09.648Z [DEBUG] (Thread-6) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler:handle-update-thing-shadow。 {thing name=rfdme-load-ecu-L0001-01, shadow name=state, updatedShadowStateSize=14}
2023-03-14T04:41:09.658Z [信息] (Thread-6) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler:成功更新影子。 {service-name=com.ShadowTest, thing name=rfdme-load-ecu-L0001-01, shadow name=state, local-version=154}
2023-03-14T04:41:09.659Z [DEBUG] (Thread-6) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy:同步。添加新的同步请求。 {事物名称=rfdme-load-ecu-L0001-01,阴影名称=状态,类型=类 com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest}
2023-03-14T04:41:09.660Z [信息] (pool-2-thread-13) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy:同步。执行同步请求。 {Type=CloudUpdateSyncRequest, thing name=rfdme-load-ecu-L0001-01, shadow name=state}
2023-03-14T04:41:09.673Z [DEBUG] (Thread-6) software.amazon.awssdk.eventstreamrpc.OperationContinuationHandler: aws.greengrass#UpdateThingShadow 流延续关闭.. {}
2023-03-14T04:41:09.695Z [DEBUG] (pool-2-thread-13) com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest:更新云影文件。 {thing name=rfdme-load-ecu-L0001-01, shadow name=state, cloud-version=0, local-version=0}
2023-03-14T04:41:09.716Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain:创建将按以下顺序应用拦截器的拦截器链:[software. amazon.awssdk.core.internal.interceptor.HttpChecksumRequiredInterceptor@1a56a9c, software.amazon.awssdk.core.internal.interceptor.SyncHttpChecksumInTrailerInterceptor@1b7c148, software.amazon.awssdk.core.internal.interceptor.HttpChecksumValidationInterceptor@d39a22 , 软件.amazon. awssdk.core.internal.interceptor.AsyncRequestBodyHttpChecksumTrailerInterceptor@1d694d,software.amazon.awssdk.core.internal.interceptor.HttpChecksumInHeaderInterceptor@4e0458,software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor@1dc3ad8,软件.amazon.awssdk.awscore。 eventstream.EventStreamInitialRequestInterceptor@1d8b5cb,software.amazon.awssdk.awscore.interceptor.TraceIdExecutionInterceptor@d4e4fc]。 {}
2023-03-14T04:41:09.724Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.request:发送请求:DefaultSdkHttpFullRequest(httpMethod=POST, protocol=https, host=a3s0shx085zc58-ats.iot.ap-northeast-1.amazonaws.com, encodedPath=/things/rfdme-load-ecu-L0001-01/shadow, headers= [amz-sdk-invocation-id, User-Agent], queryParameters=[name]). {}
2023-03-14T04:41:09.744Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.http.apache.internal.net.SdkSslSocket:关闭 a3s0shx085zc58-ats.iot.ap- 的输出northeast-1.amazonaws.com/52.68.196.194:443。 {}
2023-03-14T04:41:09.745Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.http.apache.internal.net.SdkSslSocket: 关闭 a3s0shx085zc58-ats.iot.ap-northeast-1 .amazonaws.com/52.68.196.194:443。 {}
2023-03-14T04:41:09.835Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory:无法为 ALPN 配置套接字。 443 以外的端口可能仍然有效。{}
2023-03-14T04:41:09.836Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory: socket.getSupportedProtocols(): [SSLv2Hello, SSLv3, TLSv1 , TLSv1.1, TLSv1.2], socket.getEnabledProtocols(): [TLSv1, TLSv1.1, TLSv1.2]。 {}
2023-03-14T04:41:09.979Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.http.apache.internal.net.SdkSslSocket: 创建:a3s0shx085zc58-ats.iot.ap-northeast- 1.amazonaws.com/54.150.214.136:443。 {}
2023-03-14T04:41:10.060Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.requestId:收到失败响应:403,请求 ID:12226bdf-2fec-5774-a37e-768e2cb402c8,扩展请求 ID:不可用。 {}
2023-03-14T04:41:10.061Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.request:收到失败响应:403,请求 ID:12226bdf-2fec-5774-a37e-768e2cb402c8,扩展请求 ID:不可用。 {}
2023-03-14T04:41:10.069Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.core.retry.ClockSkew:报告的服务日期:2023 年 3 月 14 日星期二 04:41:10 GMT。 {}
2023-03-14T04:41:10.081Z [DEBUG] (pool-2-thread-13) software.amazon.awssdk.core.retry.ClockSkew:报告的服务日期:2023 年 3 月 14 日星期二 04:41:10 GMT。 {}
2023-03-14T04:41:10.093Z [DEBUG] (pool-2-thread-13) com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest:跳过云阴影文档的更新。 {thing name=rfdme-load-ecu-L0001-01, shadow name=state, cloud-version=0, local-version=0}
2023-03-14T04:41:10.095Z [错误] (pool-2-thread-13) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy:同步。跳过同步请求。 {thing name=rfdme-load-ecu-L0001-01, shadow name=state}
com.aws.greengrass.shadowmanager.exception.SkipSyncRequestException:software.amazon.awssdk.services.iotdataplane.model.IotDataPlaneException:缺少身份验证(服务:IotDataPlane,状态代码:403,请求 ID:12226bdf-2fec-5774-a37e-768e2cb402c8 )
        在 com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest.execute(CloudUpdateSyncRequest.java:148)
        在 com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$0(SyncHandler.java:109)
        在 com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:50)
        在 com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$1(SyncHandler.java:107)
        在 com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy.lambda$new$0(BaseSyncStrategy.java:155)
        在 com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy.syncLoop(BaseSyncStrategy.java:366)
        在 com.aws.greengrass.shadowmanager.sync.strategy.RealTimeSyncStrategy.syncLoop(RealTimeSyncStrategy.java:77)
        在 java.util.concurrent.Executors$RunnableAdapter.call(未知来源)
        在 java.util.concurrent.FutureTask.run(未知来源)
        在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
        在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
        在 java.lang.Thread.run(未知来源)
原因:software.amazon.awssdk.services.iotdataplane.model.IotDataPlaneException:缺少身份验证(服务:IotDataPlane,状态代码:403,请求 ID:12226bdf-2fec-5774-a37e-768e2cb402c8)
        在 software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleErrorResponse(CombinedResponseHandler.java:125)
        在 software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handleResponse(CombinedResponseHandler.java:82)
        在 software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:60)
        在 software.amazon.awssdk.core.internal.http.CombinedResponseHandler.handle(CombinedResponseHandler.java:41)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:40)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:30)
        在 software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:73)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:50)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:36)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:81)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
        在 software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
        在 software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:56)
        在 software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:36)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:48)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:31)
        在 software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
        在 software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
        在 software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
        在 software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:193)
        在 software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
        在 software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:171)
        在 software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:82)
        在 software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:179)
        在 software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:76)
        在 software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
        在 software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:56)
        在 software.amazon.awssdk.services.iotdataplane.DefaultIotDataPlaneClient.updateThingShadow(DefaultIotDataPlaneClient.java:411)
        在 com.aws.greengrass.shadowmanager.sync.IotDataPlaneClientWrapper.updateThingShadow(IotDataPlaneClientWrapper.java:79)
        在 com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest.execute(CloudUpdateSyncRequest.java:109)
        ... 11 更多

我已经设置了 aws_access_key 和 secret_key。

root@ecu1051-387741:~# aws 配置列表
      名称值类型位置
      ---- ----- ----- --------
   配置文件 <未设置> 无 无
access_key ****************6UN2 环境
secret_key ****************5QjL 环境
    区域 ap-northeast-1 配置文件 ~/.aws/config

我的 IAM 角色有策略 AWSIoTFullAccess

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:*",
                "iotjobsdata:*"
            ],
            "Resource": "*"
        }
    ]
}

profile picture
专家
已提问 5 个月前12 查看次数
1 回答
0

【以下的回答经过翻译处理】 设置IAM策略并不是所需的。您需要更新与您的Greengrass核心证书相关联的IoT策略

谢谢,

迈克尔

profile picture
专家
已回答 5 个月前

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

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

回答问题的准则