Feat/kinesis firehose library#6635
Closed
ekjotmultani wants to merge 35 commits intofeat/kinesis-e2e-infrafrom
Closed
Feat/kinesis firehose library#6635ekjotmultani wants to merge 35 commits intofeat/kinesis-e2e-infrafrom
ekjotmultani wants to merge 35 commits intofeat/kinesis-e2e-infrafrom
Conversation
e057085 to
ad367f8
Compare
717f30c to
cafd10a
Compare
Adds the foundational package with minimal constructs needed for the Kinesis client libraries: - AmplifyException base class - AWSCredentialsProvider<T> and AWSCredentials sealed hierarchy - Logger interface with AmplifyLogger implementation - LogLevel enum - Result<T, E> sealed type
Provides V2CredentialsProviderBridge to bridge aws_common (V2) credentials to amplify_foundation_dart (V3) credentials. Shared by kinesis client packages to avoid duplicating bridge logic.
… `log_cw_metrics`
cafd10a to
896d76c
Compare
896d76c to
b2e56f6
Compare
…plify backend Provisions Kinesis Data Stream, Firehose delivery stream, IAM user, and Secrets Manager secret via an Amplify Gen 2 backend using backend.createStack() to access CDK directly — no auth or other Amplify categories needed. Removes the standalone KinesisTestStack and KinesisTestResources construct from infra/, along with references in the main integ stack and GitHub stack.
…3 API changes - Add AmplifyFirehoseClient with offline-capable data streaming - Sealed AmplifyFirehoseException hierarchy (Storage, Service, LimitExceeded, Unknown, Network, ClientClosed) - Sealed AmazonDataFirehoseFlushStrategy with Interval and None variants - FlushData and ClearCacheData return types for flush()/clearCache() - AmplifyFirehoseClientOptions with configurable maxRecords - SDK client access via firehoseClient getter - Flushing guard to prevent concurrent flush operations - Deprecated aliases for backward compatibility (AmazonDataFirehose, AmazonDataFirehoseOptions) - 48 unit tests passing - TODOs left for V3: AmplifyException base, generic AWSCredentialsProvider, Logger
- Replace amplify_core credential/exception types with foundation v3 equivalents - Exceptions extend AmplifyException from amplify_foundation_dart - Barrel exports re-export AWSCredentials, AWSCredentialsProvider, StaticCredentials, TemporaryCredentials, Logger - Add _CredentialsProviderAdapter in sdk_bridge to convert foundation provider to amplify_core for Smithy SDK - Add V2CredentialsProviderBridge for V2→V3 credential migration - Options include optional Logger parameter - Update tests and mocks for v3 types
- Add CDK construct in infra-common for Kinesis + Firehose test resources - Add infra-gen2/backends/kinesis/main backend definition - Update test_config.dart to read from environment variables - Add GitHub Actions workflow for kinesis E2E tests - Add kinesis to Category enum in amplify_core - Register kinesis workspace in infra-gen2 package.json - Add kinesis backend group to deploy_gen2.dart
- AmplifyFirehoseClientOptions validates cacheMaxBytes, maxRecords, maxRetries - Flush interval validated to be between 1 second and 1 hour - maxRecords capped at 500 (Firehose PutRecordBatch limit) - Export kFirehoseMaxRecordsPerBatch and kFirehoseMaxBatchBytes constants
Replace local credentials_bridge.dart with import from the shared bridge package. Re-export V2CredentialsProviderBridge from barrel.
Wraps the HTTP client with _UserAgentHttpClient that appends 'aws-amazon-firehose-dart/0.1.0' to the User-Agent header. Works independently of Amplify configuration and composes with the existing AmplifyHttpClient user agent when Amplify is present.
898c824 to
25aa42e
Compare
…jects records exceeding the Firehose per-record limit of 1,000 KB\n(before base64 encoding) with FirehoseRecordTooLargeException.\nAdds kFirehoseMaxRecordBytes constant and unit tests."
…hat records sent to a non-existent stream do not\nblock valid stream records from flushing successfully.\nAlso adds E2E test for the same scenario."
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.