python - 获取输入 yaml 文件以创建 sns 主题的 Python 脚本
问题描述
该脚本没有给出任何错误,它只是在控制台上显示 yaml 代码
Python脚本:
test_sns_topic.py
import boto3
import yaml
client = boto3.resource(
's3',
aws_access_key_id = '',
aws_secret_access_key = '',
aws_session_token = '',
region_name = 'us-west-2'
)
sns = boto3.client('sns')
with open('sns.yaml') as f:
data = yaml.load(f,Loader= yaml.FullLoader)
print(data)
sns.yaml
Type: AWS::SNS::Topic
Properties:
DisplayName: Test
KmsMasterKeyID: 7fba2279-673-73878748343
TopicName: test_sns_topic
我正在尝试使用将 yaml 文件作为输入的 python 脚本创建一个主题。
输出:
它现在正在读取 yaml 文件,但没有在 aws 中创建任何主题,它只是在控制台上显示 yaml 代码。
解决方案
此代码看起来像是属于 CloudFormation 模板:
Type: AWS::SNS::Topic
Properties:
DisplayName: Test
KmsMasterKeyID: 7fba2279-673-73878748343
TopicName: test_sns_topic
(它是模板的一部分,而不是完整的模板。)
AWS CloudFormation 可以根据模板中的定义部署基础设施。对于此代码段,它将使用给定名称和 KMS 密钥创建一个 Amazon SNS 主题。它应该作为更完整的 CloudFormation 模板的一部分进行部署。正如所写,它不会从 Python 做任何事情。
如果您希望从 Python(而不是 CloudFormation)创建 Amazon SNS 主题,则应使用该create_topic()
命令。
推荐阅读
- prometheus - Prometheus 无法将数据写入 postgreSQL
- python - 在 django 网站上处理大文件的最佳方法
- android - React Native Firebase 在设备上给出错误但在模拟器上工作
- oauth-2.0 - 多租户 microsoft graph 应用程序管理员同意,无需代码回发
- django - 在 Django 中,是否可以在登录某些页面时混淆或隐藏客户端 IP?
- c - 从 C 程序与 gnuplot 交互。如何输入要绘制的数组
- javascript - 忽略正则表达式末尾的特殊字符
- postgresql - 直接查询表和查询返回同一张表的函数的区别
- python - 如何确保在小矩形碰到任何边界后立即显示文本,即屏幕的移动
- c# - 编写通过字符串返回所需列的选择器