代码之家  ›  专栏  ›  技术社区  ›  user1187968

使用本地计算机上的boto3连接到AWS SNS。

  •  1
  • user1187968  · 技术社区  · 7 年前

    我在AWS上有一个SNS主题,我可以使用boto3从本地计算机连接到它吗?

    我找不到合适的医生来解决这个问题。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Andrew Seaman    7 年前

    如评论中所述,您需要具有适当的权限和凭据。您可以使用awscli在本地设置凭据,您应该能够通过pip安装awscli

    pip install awscli
    

    看到这个了吗 guide 用于安装。

    配置awscli时,将在以下位置设置凭据文件: ~/.aws/credentials . 默认情况下,Boto3将使用此文件进行身份验证。

    aws configure
    

    请注意,这将在您的计算机上存储AWS访问密钥ID和机密访问密钥。最好不要对根帐户执行此操作,而是为此目的创建一个辅助用户。

    设置完成后,通过Boto3连接到AWS SNS将非常简单(假设链接的凭据可以访问您帐户上的SNS)。

    import boto3
    client = boto3.client('sns')
    

    或者,如果愿意,可以直接使用访问密钥和机密访问密钥创建Boto3客户端。

    import boto3
    client = boto3.client(
        'sns',
        aws_access_key_id=ACCESS_KEY,
        aws_secret_access_key=SECRET_KEY
    )
    

    如果您仍然存在权限问题,那么链接的凭据可能无法访问SNS。通过转到IAM并确保所连接的用户具有足够的权限,可以通过AWS控制台修改权限。