Greetings! I’m using serverless framework for the first time to create a proof-of-concept application.
When using Kinesis it is possible to create Delivery Stream to S3 for example. It might look like this:
DeliveryStream:
Type: AWS::KinesisFirehose::DeliveryStream
Properties:
DeliveryStreamName: ${self:custom.kinesisFirehoseName}
DeliveryStreamType: KinesisStreamAsSource
KinesisStreamSourceConfiguration:
KinesisStreamARN:
'Fn::GetAtt':
- KinesisStream
- Arn
RoleARN:
'Fn::GetAtt':
- DeliveryStreamRole
- Arn
ExtendedS3DestinationConfiguration:
BucketARN:
'Fn::Join':
- ''
- - 'arn:aws:s3:::'
- Ref: KinesisFirehoseBucket
BufferingHints:
IntervalInSeconds: "60"
SizeInMBs: "1"
CompressionFormat: "UNCOMPRESSED"
Prefix: "prefix/"
RoleARN: { Fn::GetAtt: [ DeliveryStreamRole, Arn ] }
ProcessingConfiguration:
Enabled: 'true'
Processors:
- Parameters:
- ParameterName: LambdaArn
ParameterValue: { Fn::GetAtt: [ transformKinesis, Arn ] }
Type: Lambda
My question is - how do I create the transformKinesis lambda function using serverless framework syntax? At the moment I get this error:
The CloudFormation template is invalid: Template error: instance of Fn::GetAtt references undefined resource transformKinesis