在AWS Lambda中处理程序外部的异步调用可以通过使用AWS服务SNS(Simple Notification Service)和Lambda函数结合来实现。以下是一个处理程序外部异步调用的解决方案示例。
import json
def lambda_handler(event, context):
# 处理接收到的SNS消息
records = event['Records']
for record in records:
# 获取SNS消息内容
sns_message = json.loads(record['Sns']['Message'])
# 调用其他Lambda函数或执行其他逻辑
# ...
import boto3
sns_client = boto3.client('sns')
def publish_sns_message(topic_arn, message):
response = sns_client.publish(
TopicArn=topic_arn,
Message=message
)
return response['MessageId']
publish_sns_message
函数来发布SNS消息。以下是一个例子:topic_arn = 'your-sns-topic-arn'
message = 'your-message-payload'
response = publish_sns_message(topic_arn, message)
print(f"Message published with ID: {response}")
这样,当有消息发布到SNS主题时,Lambda函数将被触发,并执行相应的逻辑。
请注意,上述示例仅为演示目的,您可能需要根据您的实际需求进行适当的修改和调整。