Python 用于获取输入 yaml 文件以创建 sns 主题的脚本

Python script to take input yaml file to create a sns topic

这个脚本没有给出任何错误,它只是在控制台上显示 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 主题。它应该作为 more-complete CloudFormation 模板的一部分进行部署。正如所写,它不会从 Python 开始做任何事情。

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