我正在测试一个使用boto3来访问DynamoDB的Python应用程序,并从boto3得到以下错误消息。是否有可能让boto3忽略签名过期错误?
{'error':
{'Message': u'Signature expired: 20160915T000000Z is now earlier than 20170828T180022Z (20170828T181522Z - 15 min.)',
'Code': u'InvalidSignatureException'}}
我注意到,这是因为我使用了Python包“freezegun.free_time”在20160915冻结的时间,因为在测试中使用的模拟数据是静态的。
我确实研究了一点错误,发现this answer post。基本上,这就是说AWS在创建后很短的时间内使签名无效。根据我的理解,就我而言,由于使用'freeze_time',签名被标记为在20160915创建,但AWS使用当前时间(测试运行的时间)。因此,AWS认为此签名已过期将近一年,并发回错误消息。
有没有办法让AWS忽略这个错误?或者是否可以使用boto3手动修改创建签名的日期和时间?
如果我没有清楚解释我的问题,请让我知道。任何想法都表示赞赏。
感谢您的信息和建议:)每当我尝试访问dynamodb时,我确实找到了一种改变时间的方法。 –