可能的原因是Lambda函数的权限不正确。请尝试将Lambda函数的执行角色更新为AWS Lambda的默认执行角色,并确保该角色具有权限访问您的目标Lambda。您可以使用以下代码更新Lambda的执行角色:
import boto3
client = boto3.client('lambda')
response = client.update_function_configuration(
FunctionName='your-function-name',
Role='arn:aws:iam::YOUR_ACCOUNT_ID:role/YOUR_ROLE_NAME'
)
请将 'your-function-name” 替换为您要更新的Lambda函数的名称,将 'YOUR_ACCOUNT_ID” 替换为您的AWS帐户ID,将 'YOUR_ROLE_NAME” 替换为您的Lambda函数应该使用的执行角色名称。
如果更新执行角色没有解决问题,您可以尝试检查函数的别名、最新版本和快照等设置,以确保它们正确地指向您的目标Lambda。您可以使用以下代码检查别名和版本:
response = client.get_alias(
FunctionName='your-function-name',
Name='your-alias-name'
)
response = client.list_versions_by_function(
FunctionName='your-function-name'
)
请将 'your-function-name” 替换为您要检查的Lambda函数的名称,将 'your-alias-name” 替换为您要检查的别名的名称。