获取 ClientError:调用 Publish 操作时发生错误 (ForbiddenException):Forbidden?

use*_*603 7 amazon-web-services boto3

我很困惑 AWS boto3 和访问密钥的工作原理。

我已经设置了一个 IAM 用户 w/poweruser 和编程访问。我将访问密钥和访问密钥输入到 aws configure 中。

在我的 python 脚本中,我: import boto3 iot = boto3.client('iot-data');

...稍后我就有了这样的代码:

    response = iot.publish(
         topic='/sbs/devicedata/flow',
         payload=data
    )
Run Code Online (Sandbox Code Playgroud)

iot.publish 导致错误:

ClientError:调用 Publish 操作时发生错误 (ForbiddenException):请求中包含的安全令牌无效。

我验证我在创建用户帐户时生成的 aws 配置文件中是否拥有访问密钥和秘密密钥。

也许我缺少访问密钥如何与 boto3 绑定关联?我猜 boto3 从配置文件中获取关键信息。但那些不应该是有效的吗?

谢谢。