【问题标题】:How to set a profile on an aws client如何在 aws 客户端上设置配置文件
【发布时间】:2021-01-09 04:01:49
【问题描述】:

我正在尝试按照这篇文章为 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 文件中选择正确的凭据。

描述如何执行此操作的文章 (How to choose an AWS profile when using boto3 to connect to CloudFront) 使用 Session 而不是创建 client。但是iot-data 不是您可以从 Session 获得的“资源”。

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 客户端?

【问题讨论】:

    标签: python-3.x amazon-web-services boto3 aws-iot


    【解决方案1】:

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

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

    【讨论】:

    • 但是如何配置要使用的配置文件? profile_name 不是客户端的选项。
    • @DavidParks 您的boto_session 将设置配置文件。
    猜你喜欢
    • 2020-10-07
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    相关资源
    最近更新 更多