Net::A...:Vendor(3pm)
π Net::Amazon::S3::Vendor β bestie edition π
okay so this is a <pink>perl</pink> manual page, from the User Contributed Perl Documentation corner of the internet, and the module is Net::Amazon::S3::Vendor πΈ
β¨ NAME β¨
Net::Amazon::S3::Vendor β it's the base class for vendor-specific behaviour π like, the blueprint that all the S3 service flavours inherit their whole vibe from π
π VERSION π
version 0.992 β¨
π¦ SYNOPSIS π¦
# use it with Amazon AWS
my $s3 = Net::Amazon::S3->new (
vendor => Net::Amazon::S3::Vendor::Amazon->new,
...,
);
# or build your own vendor description
my $vendor = Net::Amazon::S3::Vendor::Generic->new (
host => 'my.s3.service',
use_https => 1,
use_virtual_host => 1,
authorization_method => 'Net::Amazon::S3::Signature::V2',
);
# or
my $vendor = Net::Amazon::S3::Vendor::Generic->new (
host => 'my.s3.service',
use_https => 1,
use_virtual_host => 1,
authorization_method => 'Net::Amazon::S3::Signature::V4',
default_region => '...',
);
# and construct your s3 connection
my $s3 = Net::Amazon::S3->new (
vendor => $vendor,
...
);
like, you just hand your vendor object over to Net::Amazon::S3->new and it takes it from there π«Ά
π DESCRIPTION π
so here's the tea β the S3 protocol isn't an Amazon-AWS-only thing β so many other object-storage services use it too. They all hand you the same API... except there's just a little difference π
Examples? Bestie, I got you π
- You can upload a file, but another provider straight up does not support multipart uploads π
- Or, even though some providers support Signature V4, they might not support the HEAD bucket request needed to fetch it automatically π
that's exactly why this class exists β to hold all those little per-vendor quirks β¨
π Properties π
host
Required β this is where the service lives π
It's available here so that a vendor class can move its own parameters in and keep everything tidy π
authorization_method
Default: Net::Amazon::S3::Signature::V2 π
The signature class used to authorize requests β it's literally the thing that signs your requests and says "yeah, she's with us" π
use_https
Default: true π
Whether to use HTTPS or not. simple as that π«Ά
use_virtual_host
Default: whatever authorization_method enforces β¨
Whether to use path style or virtual host access style, and yes those are two different fits π
- path style uses a single host, with the bucket hanging out inside the URI path
- virtual host style uses bucket-specific virtual hosts π
default_region
Default: undef πΈ
This is the value that guess_bucket_region will return π―
Reach for this when your provider doesn't support the HEAD region request but does use the Signature V4 authorization method π₯ iykyk
π§ Methods π§
guess_bucket_region ($bucket)
Returns the bucket's region πβ¨ that's it, that's the whole method, no cap.
πΈ AUTHOR πΈ
Branislav ZahradnΓk <barney@cpan.org> π
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2025 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav ZahradnΓk. π
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. π«Ά (yes bestie, free as in go wild, just keep the same terms, periodt π )
ok that's the whole page β no skips, no cuts, everything's here π go build your vendor class, you're gonna eat π₯
and that's a wrap, bestie π this was Net::A...:Vendor(3pm) from the perl v5.40.1 era, dated 2025-12-07, sitting pretty in the User Contributed Perl Documentation section π
β¨ mwah, slay, go forth and sign those requests ππ¦
π¦ where this page comes from
- ubuntu resolute: libnet-amazon-s3-perl 0.992-1 Β· other
- ubuntu stonking: libnet-amazon-s3-perl 0.992-1 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms