AWS SNS(Simple Notification Service)和Lambda函数是AWS提供的两种不同的服务。这两种服务有着不同的功能和用途。
import boto3
# 创建SNS客户端
sns_client = boto3.client('sns')
# 创建主题
response = sns_client.create_topic(Name='my-topic')
topic_arn = response['TopicArn']
# 创建订阅
response = sns_client.subscribe(
TopicArn=topic_arn,
Protocol='email',
Endpoint='example@example.com'
)
# 发布消息到主题
response = sns_client.publish(
TopicArn=topic_arn,
Message='Hello, world!'
)
import boto3
# 创建Lambda客户端
lambda_client = boto3.client('lambda')
# 创建Lambda函数
response = lambda_client.create_function(
FunctionName='my-function',
Runtime='python3.8',
Role='arn:aws:iam::123456789012:role/service-role/my-role',
Handler='lambda_function.lambda_handler',
Code={
'ZipFile': b'...lambda function code...'
},
Timeout=300,
MemorySize=128
)
# 创建触发器
response = lambda_client.create_event_source_mapping(
EventSourceArn='arn:aws:sns:us-west-2:123456789012:my-topic',
FunctionName='my-function',
Enabled=True
)
以上是AWS SNS订阅和Lambda函数触发器的基本区别和示例代码。请根据实际需求和场景选择合适的服务。
上一篇:AWS SNS订阅过滤策略限制
下一篇:AWS SNS订阅嵌套过滤器