У меня есть стек с Lambda в нем, и я экспортировал ARN с помощью cfnOutput.
Затем я пытаюсь импортировать его из другого стека, чтобы добавить к нему политику:
const streamFunctionArn = cdk.Fn.importValue("event-store-stream-function")
const streamFunction = Function.fromFunctionArn(scope, 'event-store-stream-function', streamFunctionArn)
props.queue.grantSendMessages(streamFunction)
streamFunction.role?.addToPolicy(new PolicyStatement({
actions: ["sqs:SendMessage", "sqs:GetQueueAttributes", "sqs:GetQueueUrl"],
effect: Effect.ALLOW,
resources: [props.queue.queueArn]
}))
Ни addToPolicy, ни grantSendMessages, похоже, не имеют никакого эффекта, я также не вижу никаких политик в отношении этой лямбды в полученном шаблоне.
Я убедился, что лямбда arn импортируется, добавив дополнительный вывод в этот стек.