Listing collections
You can use the ListCollections operation to list the collections in the region that you
are using.
For more information, see Managing a collection.
To list collections (SDK)
-
If you haven't already:
-
Create or update a user with AmazonRekognitionFullAccess
permissions. For more information, see Step 1: Set up an AWS account and create a
User.
-
Install and configure the AWS CLI and the AWS SDKs. For more
information, see Step 2: Set up the AWS CLI and AWS SDKs.
-
Use the following examples to call the ListCollections
operation.
- Java
-
The following example lists the collections in the current
region.
//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
package aws.example.rekognition.image;
import java.util.List;
import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.ListCollectionsRequest;
import com.amazonaws.services.rekognition.model.ListCollectionsResult;
public class ListCollections {
public static void main(String[] args) throws Exception {
AmazonRekognition amazonRekognition = AmazonRekognitionClientBuilder.defaultClient();
System.out.println("Listing collections");
int limit = 10;
ListCollectionsResult listCollectionsResult = null;
String paginationToken = null;
do {
if (listCollectionsResult != null) {
paginationToken = listCollectionsResult.getNextToken();
}
ListCollectionsRequest listCollectionsRequest = new ListCollectionsRequest()
.withMaxResults(limit)
.withNextToken(paginationToken);
listCollectionsResult=amazonRekognition.listCollections(listCollectionsRequest);
List < String > collectionIds = listCollectionsResult.getCollectionIds();
for (String resultId: collectionIds) {
System.out.println(resultId);
}
} while (listCollectionsResult != null && listCollectionsResult.getNextToken() !=
null);
}
}
- Java V2
-
This code is taken from the AWS Documentation SDK examples
GitHub repository. See the full example here.
//snippet-start:[rekognition.java2.list_collections.import]
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.rekognition.RekognitionClient;
import software.amazon.awssdk.services.rekognition.model.ListCollectionsRequest;
import software.amazon.awssdk.services.rekognition.model.ListCollectionsResponse;
import software.amazon.awssdk.services.rekognition.model.RekognitionException;
import java.util.List;
//snippet-end:[rekognition.java2.list_collections.import]
/**
* Before running this Java V2 code example, set up your development environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class ListCollections {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
RekognitionClient rekClient = RekognitionClient.builder()
.region(region)
.credentialsProvider(ProfileCredentialsProvider.create("profile-name"))
.build();
System.out.println("Listing collections");
listAllCollections(rekClient);
rekClient.close();
}
// snippet-start:[rekognition.java2.list_collections.main]
public static void listAllCollections(RekognitionClient rekClient) {
try {
ListCollectionsRequest listCollectionsRequest = ListCollectionsRequest.builder()
.maxResults(10)
.build();
ListCollectionsResponse response = rekClient.listCollections(listCollectionsRequest);
List<String> collectionIds = response.collectionIds();
for (String resultId : collectionIds) {
System.out.println(resultId);
}
} catch (RekognitionException e) {
System.out.println(e.getMessage());
System.exit(1);
}
}
// snippet-end:[rekognition.java2.list_collections.main]
}
- AWS CLI
-
This AWS CLI command displays the JSON output for the
list-collections
CLI operation. Replace the value
of profile_name
with the name of your developer
profile.
aws rekognition list-collections --profile profile-name
- Python
-
The following example lists the collections in the current
region.
Replace the value of profile_name
in the line that
creates the Rekognition session with the name of your developer profile.
#Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
import boto3
def list_collections():
max_results=2
client=boto3.client('rekognition')
#Display all the collections
print('Displaying collections...')
response=client.list_collections(MaxResults=max_results)
collection_count=0
done=False
while done==False:
collections=response['CollectionIds']
for collection in collections:
print (collection)
collection_count+=1
if 'NextToken' in response:
nextToken=response['NextToken']
response=client.list_collections(NextToken=nextToken,MaxResults=max_results)
else:
done=True
return collection_count
def main():
collection_count=list_collections()
print("collections: " + str(collection_count))
if __name__ == "__main__":
main()
- .NET
-
The following example lists the collections in the current
region.
//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
using System;
using Amazon.Rekognition;
using Amazon.Rekognition.Model;
public class ListCollections
{
public static void Example()
{
AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient();
Console.WriteLine("Listing collections");
int limit = 10;
ListCollectionsResponse listCollectionsResponse = null;
String paginationToken = null;
do
{
if (listCollectionsResponse != null)
paginationToken = listCollectionsResponse.NextToken;
ListCollectionsRequest listCollectionsRequest = new ListCollectionsRequest()
{
MaxResults = limit,
NextToken = paginationToken
};
listCollectionsResponse = rekognitionClient.ListCollections(listCollectionsRequest);
foreach (String resultId in listCollectionsResponse.CollectionIds)
Console.WriteLine(resultId);
} while (listCollectionsResponse != null && listCollectionsResponse.NextToken != null);
}
}
- Node.js
-
Replace the value of profile_name
in the line that
creates the Rekognition session with the name of your developer profile.
//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
import { ListCollectionsCommand } from "@aws-sdk/client-rekognition";
import { RekognitionClient } from "@aws-sdk/client-rekognition";
import {fromIni} from '@aws-sdk/credential-providers';
// Set the AWS Region.
const REGION = "region-name"; //e.g. "us-east-1"
// Set the profile name
const profileName = "profile-name"
// Name the collection
const rekogClient = new RekognitionClient({region: REGION,
credentials: fromIni({profile: profileName,}),
});
const listCollection = async () => {
var max_results = 10
console.log("Displaying collections:")
var response = await rekogClient.send(new ListCollectionsCommand({MaxResults: max_results}))
var collection_count = 0
var done = false
while (done == false){
var collections = response.CollectionIds
collections.forEach(collection => {
console.log(collection)
collection_count += 1
});
return collection_count
}
}
var collect_list = await listCollection()
console.log(collect_list)
ListCollections operation request
The input to ListCollections
is the maximum number of collections to
be returned.
{
"MaxResults": 2
}
If the response has more collections than are requested by
MaxResults
, a token is returned that you can use to get the next set of
results, in a subsequent call to ListCollections
. For example:
{
"NextToken": "MGYZLAHX1T5a....",
"MaxResults": 2
}
ListCollections operation
response
Amazon Rekognition returns an array of collections (CollectionIds
). A separate
array (FaceModelVersions
) provides the version of the face model used
to analyze faces in each collection. For example, in the following JSON response,
the collection MyCollection
analyzes faces by using version 2.0 of the
face model. The collection AnotherCollection
uses version 3.0 of the
face model. For more information, see Understanding model versioning.
NextToken
is the token that's used to get the next set of results, in
a subsequent call to ListCollections
.
{
"CollectionIds": [
"MyCollection",
"AnotherCollection"
],
"FaceModelVersions": [
"2.0",
"3.0"
],
"NextToken": "MGYZLAHX1T5a...."
}