Filtering AWS DataSync resources
You can filter your AWS DataSync locations and tasks by using the
ListLocations and ListTasks API operations in the AWS CLI.
For example, retrieve a list of your most recent tasks.
Parameters for filtering
You can use API filters to narrow down the list of resources returned by
ListTasks and ListLocations. For example, to retrieve
all of your Amazon S3 locations, you can use ListLocations with the filter
name LocationType
S3 and Operator
Equals.
To filter API results, you must specify a filter name, operator, and value.
Name– The name of the filter that's being used. Each API call supports a list of filters that are available for it (for example,LocationTypeforListLocations).Values– The values that you want to filter for. For example, you might want to display only Amazon S3 locations.Operator– The operator that's used to compare filter values (for example,EqualsorContains).
The following table lists the available operators.
| Operator | Key types |
|---|---|
Equals |
String, Number |
NotEquals |
String, Number |
LessThan |
Number |
LessThanOrEqual |
Number |
GreaterThan |
Number |
GreaterThanOrEqual |
Number |
In |
String |
Contains |
String |
NotContains |
String |
BeginsWith |
String |
Filtering by location
ListLocations supports the following filter names:
-
LocationType– Filters on the location type:-
SMB -
NFS -
HDFS -
OBJECT_STORAGE -
S3 -
OUTPOST_S3 -
FSX_WINDOWS -
FSX_LUSTRE -
FSX_OPENZFS_NFS -
FSX_ONTAP_NFS -
FSX_ONTAP_SMB
-
-
LocationUri– Filters on the uniform resource identifier (URI) assigned to the location, as returned by theDescribeLocation*API call (for example,s3://for Amazon S3 locations).bucket-name/your-prefix -
CreationTime– Filters on the time that the location was created. The input format isyyyy-MM-dd:mm:ssin Coordinated Universal Time (UTC).
The following AWS CLI example lists all locations of type Amazon S3 that have a location
URI starting with the string "s3://amzn-s3-demo-bucket" and
that were created at or after 2019-12-15 17:15:20 UTC.
aws datasync list-locations \ --filters [{Name=LocationType, Values=["S3"], Operator=Equals}, {Name=LocationUri, Values=["s3://amzn-s3-demo-bucket"], Operator=BeginsWith}, {Name=CreationTime,Values=["2019-12-15 17:15:20"],Operator=GreaterThanOrEqual}]
This command returns output similar to the following.
{ "Locations": [ { "LocationArn": "arn:aws:datasync:us-east-1:111122223333:location/loc-333333333abcdef0", "LocationUri": "s3://amzn-s3-demo-bucket1/" }, { "LocationArn": "arn:aws:datasync:us-east-1:123456789012:location/loc-987654321abcdef0", "LocationUri": "s3://amzn-s3-demo-bucket2/" } ] }
Filtering by task
ListTasks supports the following filter names.
-
LocationId– Filters on both source and destination locations on Amazon Resource Name (ARN) values. -
CreationTime– Filters on the time that the task was created. The input format isyyyy-MM-dd:mm:ssin UTC.
The following AWS CLI example shows the syntax when filtering on
LocationId.
aws datasync list-tasks \ --filters Name=LocationId,Values=arn:aws:datasync:us-east-1:your-account-id:location/your-location-id,Operator=Contains
The output of this command looks similar to the following.
{ "Tasks": [ { "TaskArn": "arn:aws:datasync:us-east-1:your-account-id:task/your-task-id", "Status": "AVAILABLE", "Name": "amzn-s3-demo-bucket" } ] }