开发者社区> 问答> 正文

【Flink】The sts token has been expired

问题描述
为了保证用户的数据安全STS token会有一定的生命周期,系统会自动重新获取token。(后期会优化报错信息)

报错信息:

java.lang.RuntimeException: java.lang.RuntimeException: com.aliyun.datahub.exception.NoPermissionException: The sts token has been expired. (Status Code: 403; Error Code: NoPermission; Request ID: 201802230613304db99a0a76d8a13b)
at com.alibaba.blink.streaming.connectors.common.reader.ParallelReader.run(ParallelReader.java:131)
at com.alibaba.blink.streaming.connectors.common.source.AbstractParallelSource.run(AbstractParallelSource.java:107)
at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:142)
at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:78)
at org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:56)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:307)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:762)
at java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: com.aliyun.datahub.exception.NoPermissionException: The sts token has been expired. (Status Code: 403; Error Code: NoPermission; Request ID: 201802230613304db99a0a76d8a13b)
at com.alibaba.blink.streaming.connectors.common.reader.ParallelReader.runImpl(ParallelReader.java:210)
at com.alibaba.blink.streaming.connectors.common.reader.ParallelReader.run(ParallelReader.java:126)
... 7 more
Caused by: com.aliyun.datahub.exception.NoPermissionException: The sts token has been expired. (Status Code: 403; Error Code: NoPermission; Request ID: 201802230613304db99a0a76d8a13b)
at com.aliyun.datahub.model.serialize.JsonErrorParser.parse(JsonErrorParser.java:44)
at com.aliyun.datahub.model.serialize.GetCursorResultJsonDeser.deserialize(GetCursorResultJsonDeser.java:19)
at com.aliyun.datahub.model.serialize.GetCursorResultJsonDeser.deserialize(GetCursorResultJsonDeser.java:14)
at com.aliyun.datahub.DatahubClient.getCursor(DatahubClient.java:627)
at com.aliyun.datahub.DatahubClient.getCursor(DatahubClient.java:699)
at com.alibaba.blink.streaming.connectors.datahub.input.RawDatahubRecordReader.seek(RawDatahubRecordReader.java:397)
at com.alibaba.blink.streaming.connectors.datahub.input.RawDatahubRecordReader.next(RawDatahubRecordReader.java:278)
at com.alibaba.blink.streaming.connectors.common.reader.ParallelReader$ReaderRunner.run(ParallelReader.java:341)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
... 1 more

展开
收起
李博 bluemind 2018-11-15 15:59:42 2652 0
1 条回答
写回答
取消 提交回答
  • 云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147

    解决方案
    为了保证用户的数据安全STS token会有一定的生命周期,系统会自动重新获取token。建议在with参数中设置stsUpdateSeconds=’3600’。

    如下:

    WITH (

    type='datahub',
    url='',
    username='',
    password='',
    tableName='',
    stsUpdateSeconds='3600'

    )
    说明:

    stsUpdateSeconds主动更新roleArn的时间,时间单位为秒。
    stsUpdateSeconds设置的值,需比各存储中,登录Session的过期时间值小。举例如下。
    登录Session过期时间,设置为6小时。则stsUpdateSeconds参数建议设置为stsUpdateSeconds=‘10800’
    53

    2019-07-17 23:14:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载