如何在 aws 客户端上设置配置文件

How to set a profile on an aws client

我正尝试按照这篇文章为 IOT 创建一个 AWS 客户端:How can I publish to a MQTT topic in a Amazon AWS Lambda function?

client = boto3.client('iot-data', region_name='us-east-1')

但是我需要设置一个配置文件,以便 boto3 从我的 ~/.aws/credentials 文件中选择正确的凭据。

描述如何执行此操作的文章 () 使用 Session 而不是创建 client。但是 iot-data 不是您可以从会话中获得的“资源”。

boto_session = boto3.Session(profile_name='my-profile')
boto_client = boto_session.resource('iot-data', region_name='us-west-1')

当我尝试上述操作时,出现错误:

Consider using a boto3.client('iot-data') instead of a resource for 'iot-data'

而且我们已经完全实现了第 22 条军规。如何使用 AWS 配置文件获得合适的 IOT 客户端?

IoTDataPlane 没有资源。您只能将 client 与 IoTDataPlane 一起使用:

boto_session.client('iot-data', region_name='us-west-1')