Python脚本以输入yaml文件来创建sns主题



这个脚本没有给出任何错误,它只是在控制台上显示yaml代码

Python脚本:

testrongns_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

我正在尝试使用python脚本创建一个主题,该脚本将yaml文件作为输入。

输出:

它现在正在读取yaml文件,但没有在aws中创建任何主题,只是在控制台上显示yaml代码。

这段代码看起来像是属于CloudFormation模板:

Type: AWS::SNS::Topic
Properties:
DisplayName: Test
KmsMasterKeyID: 7fba2279-673-73878748343
TopicName: test_sns_topic

(它是模板的部分,而不是完整的模板。(

AWS CloudFormation可以根据模板中的定义部署基础设施。对于这个片段,它将创建一个具有给定名称和KMS密钥的AmazonSNS主题。它应该作为更完整的CloudFormation模板的一部分进行部署。正如所写的,它不会从Python中执行任何操作

如果您希望从Python(而不是CloudFormation(创建AmazonSNS主题,那么您应该使用create_topic()命令。

最新更新