代码之家  ›  专栏  ›  技术社区  ›  David Parks

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

  •  0
  • David Parks  · 技术社区  · 5 年前

    我正试图根据本文为物联网创建一个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 不是您可以从会话中获得的“资源”。

    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配置文件获得合适的物联网客户端?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Marcin    5 年前

    IoTDataPlane 没有资源 。您只能使用 client 使用IoTDataPlane:

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