Skip to content

Releases: beam-pyio/firehose_pyio

Version 0.2.1

20 Aug 21:05
Compare
Choose a tag to compare

♻️UPDATE

  • Return failed elements by a tagged output, which allows users to determine how to handle them subsequently.
  • Provide options that handle failed records.
    • max_trials - The maximum number of trials when there is one or more failed records.
    • append_error - Whether to append error details to failed records.

Version 0.1.0

18 Jul 06:41
326e791
Compare
Choose a tag to compare

✨NEW

  • Add a composite transform (WriteToFirehose) that puts records into a Firehose delivery stream in batch, using the put_record_batch method of the boto3 package.
  • Provide options that control individual records.
    • jsonify - A flag that indicates whether to convert a record into JSON. Note that a record should be of bytes, bytearray or file-like object, and, if it is not of a supported type (e.g. integer), we can convert it into a Json string by specifying this flag to True.
    • multiline - A flag that indicates whether to add a new line character (\n) to each record. It is useful to save records into a CSV or Jsonline file.
  • Create a dedicated pipeline option (FirehoseOptions) that reads AWS related values (e.g. aws_access_key_id) from pipeline arguments.
  • Implement metric objects that record the total, succeeded and failed elements counts.
  • Add unit and integration testing cases. The moto and localstack-utils packages are used for unit and integration testing respectively. Also, a custom test client is created for testing retry of failed elements, which is not supported by the moto package.
  • Integrate with GitHub Actions by adding workflows for testing, documentation and release management.