1Net::Amazon::S3::FeaturUesse(r3)Contributed Perl DocumenNteatt:i:oAnmazon::S3::Features(3)
2
3
4

NAME

6       Net::Amazon::S3::Features - Features available in Net::Amazon::S3
7

VERSION

9       version 0.89
10

API COMPARISON

12       Net::Amazon::S3 supports two APIs with different feature support.
13
14       This document describes current behaviour.
15
16   Error reporting
17       How API signals operation error
18
19       set S3 err
20           Operation returns expression evaluated as false and "err" with
21           "errstr" are populated from response content
22
23       set network error
24           Populates S3 err with "network_error" constant and S3 errstr with
25           http status line (eg: "404 Not Found") and throws.
26
27       confess
28           Operation throws using "confess"
29
30   Feature support
31       For details see corresponding "api-operation" / "client-operation" test
32       file
33
34        |-----------------------+----------------------------+--------------------------|
35        | operation             | Net::Amazon::S3 (API)      | Net::Amazon::S3::Client  |
36        |-----------------------+----------------------------+--------------------------|
37        | service-buckets-list  |                            |                          |
38        | - returns             | Bucket instances in struct | Bucket instances (list)  |
39        | - errors              | set S3 err                 | confess                  |
40        |-----------------------+----------------------------+--------------------------|
41        | bucket-acl-get        |                            |                          |
42        | - returns             | response body (XML)        | response body (XML)      |
43        |                       | (undef on Not Found)       |                          |
44        | - errors              | set network error          | confess                  |
45        |                       | (none on Not Found)        |                          |
46        |-----------------------+----------------------------+--------------------------|
47        | bucket-acl-set        |                            |                          |
48        | - with canned acl     | yes, as acl_short          | N/A                      |
49        | - with xml acl        | yes, as acl_xml            | N/A                      |
50        | - returns             | boolean                    | N/A                      |
51        | - errors              | set S3 err                 | N/A                      |
52        |-----------------------+----------------------------+--------------------------|
53        | bucket-create         |                            |                          |
54        | - with region         | yes                        | yes                      |
55        | - returns             | Bucket instance            | Bucket instance          |
56        | - errors              | set S3 err                 | confess                  |
57        |-----------------------+----------------------------+--------------------------|
58        | bucket-delete         |                            |                          |
59        | - returns             | boolean                    | true                     |
60        | - errors              | set S3 err                 | confess                  |
61        |-----------------------+----------------------------+--------------------------|
62        | bucket-objects-list   |                            |                          |
63        | - list version 1      | yes                        | yes                      |
64        | - list version 2      | no                         | no                       |
65        | - common prefixes     | supported                  | not supported            |
66        | - list all            | list all method            | yes                      |
67        | - returns             | struct with list           | iterator (Object list)   |
68        | - errors              | set S3 err                 | confess during iteration |
69        |-----------------------+----------------------------+--------------------------|
70        | bucket-objects-delete |                            |                          |
71        | - returns             | boolean                    | HTTP::Response object    |
72        | - errors              | set S3 err                 | confess                  |
73        |-----------------------+----------------------------+--------------------------|
74        | object-acl-get        |                            |                          |
75        | - returns             | response body (XML)        | N/A                      |
76        |                       | (undef on Not Found)       | N/A                      |
77        | - errors              | set network error          | N/A                      |
78        |                       | (none on Not Found)        | N/A                      |
79        |-----------------------+----------------------------+--------------------------|
80        | object-acl-set        |                            |                          |
81        | - with canned acl     | yes, as acl_short          | N/A                      |
82        | - with xml acl        | yes, as acl_xml            | N/A                      |
83        | - returns             | boolean                    | N/A                      |
84        | - errors              | set S3 err                 | N/A                      |
85        |-----------------------+----------------------------+--------------------------|
86        | object-copy           |                            |                          |
87        | - returns             | boolean                    | N/A                      |
88        | - errors              | set S3 err                 | N/A                      |
89        |-----------------------+----------------------------+--------------------------|
90        | object-create         |                            |                          |
91        | - returns             | boolean                    | empty string             |
92        | - errors              | set S3 err                 | confess                  |
93        |-----------------------+----------------------------+--------------------------|
94        | object-delete         |                            |                          |
95        | - returns             | boolean                    | true                     |
96        | - errors              | set S3 err                 | confess                  |
97        |-----------------------+----------------------------+--------------------------|
98        | object-fetch          |                            |                          |
99        | - returns             | struct with value          | value                    |
100        |                       | (undef on Not Found)       |                          |
101        | - errors              | set network error          | confess                  |
102        |                       | (none on Not Found)        |                          |
103        |-----------------------+----------------------------+--------------------------|
104        | object-head           |                            |                          |
105        | - returns             | boolean                    | N/A                      |
106        | - errors              | set S3 err                 | N/A                      |
107        |-----------------------+----------------------------+--------------------------|
108
109   TODO plan (asorted, not promised)
110       normalize error reporting
111           Make every operation to behave similar (especially
112           "Net::Amazon::S3"
113
114       make error reporting pluggable
115           With possibility to inject user's own reporting
116
117       unify features
118           Both APIs should support same set of operations
119
120       support all AWS S3 operations and x-amz-* headers
121           https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
122
123       add async API (AnyEvent / IO::Async)
124

AUTHOR

126       Leo Lapworth <llap@cpan.org>
127
129       This software is copyright (c) 2020 by Amazon Digital Services, Leon
130       Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover.
131
132       This is free software; you can redistribute it and/or modify it under
133       the same terms as the Perl 5 programming language system itself.
134
135
136
137perl v5.30.1                      2020-02-12      Net::Amazon::S3::Features(3)
Impressum