redpanda-data / redpanda-data/connect

[Request] Enable Requestor Pays Support for aws_s3 input

Open
#3,892 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ux
Dominant language
Go
Stars
8.8k
Forks
969
Avg merge
1d 13h
Merged PRs (30d)
64

Description

Summary:

Hey y'all! Really love the tool, but having some difficulty:

  • I am using Redpanda Connect to read files from AWS S3
  • Files I need to read are on a bucket I don't own, with reading requiring enabling --request-payer requester so that my AWS account is responsible for the cost of egress
aws s3 cp "s3://some-bucket-i-dont-own/hourly/data/0.lz4" /tmp/data.lz4 --request-payer requester
  • aws_s3 input does not currently support passing this option

Request:

  • Allow enabling --request-payer requester on aws_s3 input

Notes:

  • Doing some research on implementation, seems that it should be straightforward to add types.RequestPayer (godoc link) to a GetObjectInput (godoc link)
  • Looks like a GetObjectInput is passed in here in the source for the aws_s3 input

Really appreciate any help here 🙏

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in internal/impl/aws/input_s3.go around line 785, where the aws_s3 input passes a GetObjectInput, and review the AWS SDK RequestPayer type linked in the issue. Trace how aws_s3 options are configured, then verify that request-payer requester can be enabled and that the input still reads the referenced S3 objects successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, go
Domain
cloud
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.