从本地计算机使用 boto3 连接到 AWS SNS。
Connect to AWS SNS using boto3 from local computer.
我在 AWS 上有一个 SNS 主题,我可以使用 boto3 从我的本地计算机连接到它吗?
我找不到合适的文档来解决这个问题。
如评论中所述,您需要拥有适当的权限和适当的凭据。您可以使用 awscli 在本地设置凭据,您应该可以通过 pip
安装它
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。您可以通过 AWS 控制台修改权限,方法是转到 IAM 并确保您连接的用户具有足够的权限。
我在 AWS 上有一个 SNS 主题,我可以使用 boto3 从我的本地计算机连接到它吗?
我找不到合适的文档来解决这个问题。
如评论中所述,您需要拥有适当的权限和适当的凭据。您可以使用 awscli 在本地设置凭据,您应该可以通过 pip
安装它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。您可以通过 AWS 控制台修改权限,方法是转到 IAM 并确保您连接的用户具有足够的权限。