在AWS Lambda中,SourceArn指定调用Lambda函数的资源ARN,例如SNS主题或Kinesis流。当您在AWS Lambda函数中设置权限时,您必须指定一个ARN,以便其他AWS服务可以被允许调用您的Lambda函数。
以下是一个示例代码,它给Lambda函数添加了SNS主题的权限:
import boto3
client = boto3.client('lambda')
response = client.add_permission(
FunctionName='my-function',
StatementId='sns-trigger',
Action='lambda:InvokeFunction',
Principal='sns.amazonaws.com',
SourceArn='arn:aws:sns:us-west-2:123456789012:my-topic'
)
在上面的示例中,SourceArn是SNS主题的ARN。这允许SNS主题调用my-function Lambda函数。