

# 벡터 나열
<a name="s3-vectors-list"></a>

[ListVectors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListVectors.html) API 작업을 사용하여 벡터 인덱스에 벡터를 나열할 수 있습니다. 페이지당 반환할 수 있는 최대 벡터 수에 대한 자세한 내용은 [한계 및 제한](s3-vectors-limitations.md) 섹션을 참조하세요. 응답에는 결과가 잘릴 때 페이지 매김 토큰이 포함됩니다. `ListVectors`의 응답 요소에 대한 자세한 내용은 *Amazon S3 API 참조*의 [ListVectors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListVectors)를 참조하세요. `ListVectors`를 사용하여 지정된 벡터 인덱스에서 벡터 데이터를 내보낼 수도 있습니다. `ListVectors`는 강력히 일관됩니다. WRITE 작업 후 모든 변경 사항이 반영된 벡터를 즉시 나열할 수 있습니다.

## AWS CLI 사용
<a name="list-vectors-index-cli"></a>

벡터를 나열하려면 다음 예제 명령을 사용합니다. *user input placeholders*를 사용자의 정보로 대체합니다.

`segment-count` 및 `segment-index` 파라미터를 사용하면 여러 병렬 요청에서 나열 작업을 파티셔닝할 수 있습니다. `segment-count` 값(예: `2`)을 지정할 때 인덱스를 여러 세그먼트로 나눕니다. `segment-index` 파라미터(0부터 시작)에 따라 나열할 세그먼트가 결정됩니다. 이 접근 방식은 병렬 처리를 활성화하여 큰 벡터 인덱스를 나열할 때 성능을 개선하는 데 도움이 됩니다. `segment-count` 및 `segment-index`에 대한 자세한 내용은 *Amazon S3 API 참조*의 [ListVectors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListVectors)를 참조하세요.

**인덱스의 모든 벡터 나열**

요청 예제:

```
aws s3vectors list-vectors \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --segment-count 2 \
  --segment-index 0 \
  --return-data \
  --return-metadata
```

응답 예제:

```
{
    "vectors": [
        {
            "key": "vec3",
            "data": {
                "float32": [0.4000000059604645]
            },
            "metadata": {
                "nonFilterableKey": "val4",
                "filterableKey": "val2"
            }
        }
    ]
}
```

**페이지 매김이 있는 벡터 나열**

요청 예제:

```
aws s3vectors list-vectors \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --segment-count 2 \
  --segment-index 0 \
  --return-data \
  --return-metadata \
  --next-token "zWfh7e57H2jBfBtRRmC7OfMwl209G9dg3j2qM6kM4t0rps6ClYzJykgMOil9eGqU5nhf_gTq53IfoUdTnsg"
```

응답 예제:

```
{
    "vectors": [
        {
            "key": "vec1",
            "data": {
                "float32": [0.5]
            },
            "metadata": {
                "nonFilterableKey": "val2",
                "filterableKey": "val1"
            }
        }
    ]
}
```

## AWS SDK 사용
<a name="list-vectors-index-sdk"></a>

------
#### [ SDK for Python ]

예: 벡터 인덱스에 벡터 나열

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#List vectors in your vector index 

response = s3vectors.list_vectors( 
    vectorBucketName="media-embeddings",
    indexName="movies",
    maxResults = 600,
    returnData = True,
    returnMetadata = True
)

vectors = response["vectors"]

print(vectors)
```

예: 벡터 인덱스의 모든 벡터를 병렬로 나열

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#List vectors in the 1st half of vectors in the index.
response = s3vectors.list_vectors( 
    vectorBucketName="media-embeddings",
    indexName="movies",
    segmentCount=2,
    segmentIndex=1,
    maxResults = 600,
    returnData = True,
    returnMetadata = True
)

vectors = response["vectors"]

#List vectors starting from the 2nd half of vectors in the index.
# This can be ran in parallel with the first `list_vectors` call.
response = s3vectors.list_vectors( 
    vectorBucketName="media-embeddings",
    indexName="movies",
    segmentCount=2,
    segmentIndex=1,
    maxResults = 600,
    returnData = True,
    returnMetadata = True
)

vectors = response["vectors"]

print(vectors)
```

------