1Net::Amazon::S3::VendorU(s3e)r Contributed Perl DocumentaNteito:n:Amazon::S3::Vendor(3)
2
3
4
6 Net::Amazon::S3::Vendor - Base class for vendor specific behaviour
7
9 version 0.99
10
12 # use it with Amazon AWS
13 my $s3 = Net::Amazon::S3->new (
14 vendor => Net::Amazon::S3::Vendor::Amazon->new,
15 ...,
16 );
17
18 # or build your own vendor description
19 my $vendor = Net::Amazon::S3::Vendor::Generic->new (
20 host => 'my.s3.service',
21 use_https => 1,
22 use_virtual_host => 1,
23 authorization_method => 'Net::Amazon::S3::Signature::V2',
24 );
25
26 # or
27 my $vendor = Net::Amazon::S3::Vendor::Generic->new (
28 host => 'my.s3.service',
29 use_https => 1,
30 use_virtual_host => 1,
31 authorization_method => 'Net::Amazon::S3::Signature::V4',
32 default_region => '...',
33 );
34
35 # and construct your s3 connection
36 my $s3 = Net::Amazon::S3->new (
37 vendor => $vendor,
38 ...
39 );
40
42 S3 protocol is used not only by Amazon AWS but by many other object-
43 storage services. They provide same API, but it's just there's a
44 little difference.
45
46 Examples?
47
48 Allright, you can upload file but other provider does not support
49 multipart uploads.
50
51 Or although some providers support Signature V4 they may not support
52 HEAD bucket request to fetch it automatically.
53
54 Properties
55 host
56
57 Required, where service is located.
58
59 Available here so one can move its parameters into its own vendor
60 class.
61
62 authorization_method
63
64 Default: Net::Amazon::S3::Signature::V2
65
66 Signature class used to authorize requests.
67
68 use_https
69
70 Default: true.
71
72 Whether to use HTTPS or not.
73
74 use_virtual_host
75
76 Default: whatever "authorization_method" enforces
77
78 Whether to use path or virtual host access style. Path style uses
79 single host with bucket contained in uri path whereas virtual host
80 style use bucket specific virtual hosts.
81
82 default_region
83
84 Default: undef
85
86 Value that "guess_bucket_region" will return.
87
88 Use when your provider doesn't support HEAD region request but uses
89 Signature V4 authorization method.
90
91 Methods
92 guess_bucket_region ($bucket)
93
94 Returns bucket's region
95
97 Branislav ZahradnĂk <barney@cpan.org>
98
100 This software is copyright (c) 2021 by Amazon Digital Services, Leon
101 Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav
102 ZahradnĂk.
103
104 This is free software; you can redistribute it and/or modify it under
105 the same terms as the Perl 5 programming language system itself.
106
107
108
109perl v5.34.0 2022-01-21 Net::Amazon::S3::Vendor(3)