Method: Aws::S3::Client#list_objects_v2
- Defined in:
- lib/aws-sdk-s3/client.rb
#list_objects_v2(params = {}) ⇒ Types::ListObjectsV2Output
Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A ‘200 OK` response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. For more information about listing objects, see [Listing object keys programmatically] in the *Amazon S3 User Guide*. To get a list of your buckets, see [ListBuckets].
<note markdown=“1”> **Directory buckets** - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format ‘bucket_name.s3express-az_id.region.amazonaws.com/key-name `. Path-style requests are not supported. For more information, see
- Regional and Zonal endpoints][3
-
in the *Amazon S3 User Guide*.
</note>
Permissions : * **General purpose bucket permissions** - To use this operation,
you must have READ access to the bucket. You must have permission
to perform the `s3:ListBucket` action. The bucket owner has this
permission by default and can grant this permission to others. For
more information about permissions, see [Permissions Related to
Bucket Subresource Operations][4] and [Managing Access Permissions
to Your Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
* **Directory bucket permissions** - To grant access to this API
operation on a directory bucket, we recommend that you use the [
`CreateSession` ][6] API operation for session-based
authorization. Specifically, you grant the
`s3express:CreateSession` permission to the directory bucket in a
bucket policy or an IAM identity-based policy. Then, you make the
`CreateSession` API call on the bucket to obtain a session token.
With the session token in your request header, you can make API
requests to this operation. After the session token expires, you
make another `CreateSession` API call to generate a new session
token for use. Amazon Web Services CLI or SDKs create session and
refresh the session token automatically to avoid service
interruptions when a session expires. For more information about
authorization, see [ `CreateSession` ][6].
Sorting order of returned objects : * **General purpose bucket** - For general purpose buckets,
`ListObjectsV2` returns objects in lexicographical order based on
their key names.
* **Directory bucket** - For directory buckets, `ListObjectsV2` does
not return objects in lexicographical order.
HTTP Host header syntax
: Directory buckets - The HTTP Host header syntax is ‘
Bucket_name.s3express-az_id.region.amazonaws.com`.
This section describes the latest revision of this action. We recommend that you use this revised API operation for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API operation, [ListObjects].
The following operations are related to ‘ListObjectsV2`:
- GetObject][8
- PutObject][9
- CreateBucket][10
[1]: docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html [2]: docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html [3]: docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html [4]: docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources [5]: docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html [6]: docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html [7]: docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html [8]: docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html [9]: docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html [10]: docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
11354 11355 11356 11357 |
# File 'lib/aws-sdk-s3/client.rb', line 11354 def list_objects_v2(params = {}, = {}) req = build_request(:list_objects_v2, params) req.send_request() end |