I was faced with this lovely error message from a process that had been running successfully for some time.
It was a Powershell script running in an Azure Function App, and my initial internet research did not reveal many clues as to why this would be case.
On a hunch, I thought to update the AWS Powershell modules it was using - though they were not particularly old, I figured it couldn't hurt. So I did exactly that and voila, I tested the process and we were back in business.... for a few days least.
The exception was back.
I stumbled on a clue whilst reading a stack overflow response pointing at the parameters of an AWS function the OP was having trouble with. Following this, I double checked the parameters of the function that was failing (Get-S3Object) and found I hadn't set the Region parameter. I added the parameter, tested it and no exception! This looks to have been the root cause, though why it worked up to that point is a bit of a mystery to me. As an aside, I have not had this issue ever in my local environment (in Powershell ISE).
Perhaps it should be made a required parameter given the potential exception it may raise though.
I hope this helps someone, because it was pretty obscure...to me at least!