s3-server icon indicating copy to clipboard operation
s3-server copied to clipboard

Switch to aws-sdk-s3

Open Nugine opened this issue 2 years ago • 5 comments

https://github.com/rusoto/rusoto/issues/1651

https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/

Please Note: The SDK is currently released as a developer preview and is intended strictly for feedback purposes only. Do not use this SDK for production workloads.

Nugine avatar Mar 04 '22 07:03 Nugine

@pwang7 We have two choices now.

  • Stick to rusoto and wait for the offical sdk to be ready for production
  • Switch to aws-sdk-s3 even though it is a developer preview

Nugine avatar Mar 04 '22 07:03 Nugine

@pwang7 We have two choices now.

  • Stick to rusoto and wait for the offical sdk to be ready for production
  • Switch to aws-sdk-s3 even though it is a developer preview

Which option do you prefer?

pwang7 avatar Mar 04 '22 10:03 pwang7

I prefer to switch now. s3-server only uses the type defintions from rusoso_s3. It won't take too much time if aws-sdk-s3's design is similiar to rusoto_s3. And the types may not have significant changes in the future.

Edit: Maybe later. The error design needs changing to match the types defined in aws-sdk-s3.

Edit2: Consider using smithy for type generation.

Nugine avatar Mar 04 '22 10:03 Nugine

Hello, I think there is also the option to generate the s3-server types and request parsing from the aws smithy models, like s3d does. Though the smithy server codegen is a Work in Progress.

lperlaki avatar Mar 07 '22 10:03 lperlaki

Hello, I think there is also the option to generate the s3-server types and request parsing from the aws smithy models, like s3d does. Though the smithy server codegen is a Work in Progress.

I haven't noticed it before. Thanks for informing.

Nugine avatar Mar 07 '22 10:03 Nugine

Before we switch to full smithy server codegen, it would be good to perform a quick benchmark to make sure the generated code is at least as efficient as the hand written implementation.

houqp avatar Dec 27 '22 05:12 houqp

I'm investigating custom codegen implementation because smithy is not good enough yet for our requirements. I believe that s3d is facing the same problem.

s3-server was designed for hand written operation implementations. It works well for limited functionality but it is not the right way to reach the goal: Make it easy to build your own S3-compatible server.

Anyway, s3-server is an old and experimental project which is hard to mantain now. I encourage downstream projects to find an alternative if possible.

Related:

  • https://github.com/awslabs/smithy-rs/issues/1009
  • https://github.com/awslabs/smithy-rs/issues/1012
  • https://github.com/awslabs/smithy/pull/1539

Nugine avatar Jan 11 '23 15:01 Nugine

Investigation finished. The new design is published at https://github.com/Nugine/s3s.

Announcement

  • s3-server project is now unmaintained, like rusoto.
  • s3s project is the successor of s3-server. s3s inherits all functionality that s3-server has.

Nugine avatar Jan 17 '23 06:01 Nugine