

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 筛选 AWS DataSync 资源
<a name="query-resources"></a>

您可以使用中的和 `ListTasks` API 操作筛选您的 AWS DataSync 位置`ListLocations`和任务 AWS CLI。例如，检索最近任务的列表。

## 用于筛选的参数
<a name="API-filter-parameters"></a>

您可以使用 API 筛选器来缩小 `ListTasks` 和 `ListLocations` 返回的资源列表的范围。例如，要检索所有 Amazon S3 位置，您可以使用筛选器名称为 `LocationType`*`S3`* 和 `Operator`*`Equals`* 的 `ListLocations`。

要筛选 API 结果，您必须指定筛选器名称、运算符和值。
+ `Name` — 正使用的筛选器的名称。每个 API 调用都支持可用于其的筛选器列表（例如，`ListLocations` 的 `LocationType`）。
+ `Values` — 要筛选的值。例如，您可能希望仅显示 Amazon S3 位置。
+ `Operator` — 用于比较筛选值的运算符（例如，`Equals` 或 `Contains`）。

下表列出了可用的运算符。


| 运算符 | 密钥类型 | 
| --- | --- | 
| Equals | 字符串、数字 | 
| NotEquals | 字符串、数字 | 
| LessThan | 数字 | 
| LessThanOrEqual | 数字 | 
| GreaterThan | 数字 | 
| GreaterThanOrEqual | 数字 | 
| In | 字符串 | 
| Contains | 字符串 | 
| NotContains | 字符串 | 
| BeginsWith | 字符串 | 

## 按位置筛选
<a name="ListLocations"></a>

`ListLocations` 支持以下筛选器名称：
+ `LocationType` — 按位置类型进行筛选：
  + `SMB`
  + `NFS`
  + `HDFS`
  + `OBJECT_STORAGE`
  + `S3`
  + `OUTPOST_S3`
  + `FSX_WINDOWS`
  + `FSX_LUSTRE`
  + `FSX_OPENZFS_NFS`
  + `FSX_ONTAP_NFS`
  + `FSX_ONTAP_SMB`
+ `LocationUri` — 按分配给该位置的统一资源标识符（URI）筛选，该标识符由 `DescribeLocation*` API 调用返回（例如，Amazon S3 位置的 `s3://bucket-name/your-prefix`）。
+ `CreationTime` — 按创建位置的时间筛选。输入格式为 `yyyy-MM-dd:mm:ss`，采用协调世界时 (UTC)。

以下 AWS CLI 示例列出了所有类型为 Amazon S3 的营业地点，这些营业地点 URI 以字符串开头，`"s3://amzn-s3-demo-bucket"`且创建时间为 2019-12-15 17:15:20 或之后（世界标准时间）。

```
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}]
```

该命令会返回类似以下内容的输出。

```
{
    "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/"
        }
    ]
}
```

## 按任务筛选
<a name="ListTasks"></a>

`ListTasks` 支持以下筛选器名称。
+ `LocationId` — 按 Amazon 资源名称（ARN）值上的源位置和目标位置筛选。
+ `CreationTime` — 按创建任务的时间筛选。输入格式为 UTC 形式的 `yyyy-MM-dd:mm:ss`。

以下 AWS CLI 示例显示了筛选时的语法`LocationId`。

```
aws datasync list-tasks \
    --filters Name=LocationId,Values=arn:aws:datasync:us-east-1:your-account-id:location/your-location-id,Operator=Contains
```

此命令的输出如下。

```
{
    "Tasks": [
        {
            "TaskArn": "arn:aws:datasync:us-east-1:your-account-id:task/your-task-id",
            "Status": "AVAILABLE",
            "Name": "amzn-s3-demo-bucket"
        }
    ]
}
```