Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(aws-kinesisfirehose-alpha): More than one processor and direct support for the cloudwatch logs decompression #29369

Closed
2 tasks
kbytesys opened this issue Mar 6, 2024 · 4 comments
Labels
@aws-cdk/aws-kinesisfirehose Related to Amazon Kinesis Data Firehose effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days.

Comments

@kbytesys
Copy link

kbytesys commented Mar 6, 2024

Describe the feature

In the AWS panel we have the option to decompress the cloudwatch logs in a really easy way. In the cloud formation this option adds a processor in the "ExtendedS3DestinationConfiguration" below the transform lambda:

    "Type": "Lambda"
 },
 {
    "Type": "Decompression",
    "Parameters": [
        {
            "ParameterName": "CompressionFormat",
            "ParameterValue": "GZIP"
        }
    ]
}

It would be nice to have in cdk:

  • a way to use multiple processors for the s3 destination
  • configure the cloudwatch log decompression just with a boolean flag

Use Case

It's impossible to configure this feature in cdk without override the Cloudformation node by hand with an high risk of failure and regressions.

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

CDK version used

2.131.0

Environment details (OS name and version, etc.)

Linux Ubuntu 23.10

@kbytesys kbytesys added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Mar 6, 2024
@github-actions github-actions bot added the @aws-cdk/aws-kinesisfirehose Related to Amazon Kinesis Data Firehose label Mar 6, 2024
@pahud
Copy link
Contributor

pahud commented Mar 6, 2024

According to this, extendedS3DestinationConfiguration is actually type CfnDeliveryStream.ExtendedS3DestinationConfigurationProperty and we should have all properties that ExtendedS3DestinationConfigurationProperty has.

a way to use multiple processors for the s3 destination
I am not sure if CFN supports that, do you see any document or sample about it?

@pahud pahud added response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. p2 effort/medium Medium work item – several days of effort and removed needs-triage This issue or PR still needs to be triaged. labels Mar 6, 2024
@kbytesys
Copy link
Author

kbytesys commented Mar 7, 2024

Yes you got the point, the ProcessingConfiguration property inside ExtendedS3DestinationConfigurationProperty accepts an array of processors instead of just one.

BTW if somebody want to play with the Cfn overrides, this is our solution:

        decompressor = aws_kinesisfirehose.CfnDeliveryStream.ProcessorProperty(
            parameters=[
                aws_kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty(
                    parameter_name="CompressionFormat", parameter_value="GZIP"
                ),
            ],
            type="Decompression",
        )

        firehose_node = cast(
            aws_kinesisfirehose.CfnDeliveryStream, firehose.node.default_child
        )
        s3_destination = firehose_node.extended_s3_destination_configuration
        s3_destination.processing_configuration.processors.append(decompressor)
        firehose_node.extended_s3_destination_configuration = s3_destination

Pay attention: the last row in this code snippet is not an error, because also if this cdk uses Python, you need to assign the property again because in nodejs that object is immutable and it needs an assignment to understand that the value has been changed.

But again: it would be really nice if we can avoid to play with the Cfn node instead of just have a way to add more than a processor in the aws_kinesisfirehose_destinations_alpha.S3Bucket class.

@github-actions github-actions bot removed the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. label Mar 7, 2024
@pahud pahud added the response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days. label Jun 3, 2024
@pahud
Copy link
Contributor

pahud commented Jun 3, 2024

Thank you for the heads up. I am closing this issue. Feel free to reopen if there's still a concern.

@pahud pahud closed this as completed Jun 3, 2024
Copy link

github-actions bot commented Jun 3, 2024

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-kinesisfirehose Related to Amazon Kinesis Data Firehose effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 7 days.
Projects
None yet
Development

No branches or pull requests

2 participants