Skip to content

get_vectors

get_vectors(
    keys: GetVectorsInputList,
    *,
    config_overrides: Optional[S3VectorsClientConfig] = None,
    vector_bucket_name: Optional[VectorBucketName] = None,
    index_name: Optional[IndexName] = None,
    index_arn: Optional[IndexArn] = None,
    return_data: Optional[bool] = None,
    return_metadata: Optional[bool] = None,
) -> GetVectorsOutput

Returns vector attributes. To specify the vector index, you can either use both the vector bucket name and the vector index name, or use the vector index Amazon Resource Name (ARN).

Permissions

You must have the s3vectors:GetVectors permission to use this operation.

Parameters:

  • vector_bucket_name (Optional[VectorBucketName], default: None ) –

    The name of the vector bucket that contains the vector index.

  • index_name (Optional[IndexName], default: None ) –

    The name of the vector index.

  • index_arn (Optional[IndexArn], default: None ) –

    The ARN of the vector index.

  • keys (GetVectorsInputList) –

    The names of the vectors you want to return attributes for.

  • return_data (Optional[bool], default: None ) –

    Indicates whether to include the vector data in the response. The default value is false.

  • return_metadata (Optional[bool], default: None ) –

    Indicates whether to include metadata in the response. The default value is false.

Raises:

Source code in docs_src/capo_s3vectors/_services/s3_vectors.py
def get_vectors(
    self,
    keys: "capo_s3vectors.types.get_vectors_input_list.GetVectorsInputList",
    *,
    config_overrides: Optional[S3VectorsClientConfig] = None,
    vector_bucket_name: Optional[
        "capo_s3vectors.types.vector_bucket_name.VectorBucketName"
    ] = None,
    index_name: Optional["capo_s3vectors.types.index_name.IndexName"] = None,
    index_arn: Optional["capo_s3vectors.types.index_arn.IndexArn"] = None,
    return_data: Optional[bool] = None,
    return_metadata: Optional[bool] = None,
) -> "capo_s3vectors.types.get_vectors_output.GetVectorsOutput":
    """<p>Returns vector attributes. To specify the vector index, you can either use both the vector bucket name and the vector index name, or use the vector index Amazon Resource Name (ARN). </p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3vectors:GetVectors</code> permission to use this operation. </p> </dd> </dl>

    Args:
        vector_bucket_name: <p>The name of the vector bucket that contains the vector index. </p>
        index_name: <p>The name of the vector index.</p>
        index_arn: <p>The ARN of the vector index.</p>
        keys: <p>The names of the vectors you want to return attributes for. </p>
        return_data: <p>Indicates whether to include the vector data in the response. The default value is <code>false</code>.</p>
        return_metadata: <p>Indicates whether to include metadata in the response. The default value is <code>false</code>.</p>

    Raises:
        capo_s3vectors.errors.access_denied_exception.AccessDeniedException: <p>Access denied.</p>
        capo_s3vectors.errors.internal_server_exception.InternalServerException: <p>The request failed due to an internal server error.</p>
        capo_s3vectors.errors.request_timeout_exception.RequestTimeoutException: <p>The request timed out. Retry your request.</p>
        capo_s3vectors.errors.too_many_requests_exception.TooManyRequestsException: <p>The request was denied due to request throttling.</p>
        capo_s3vectors.errors.validation_exception.ValidationException: <p>The requested action isn't valid.</p>
        capo_s3vectors.errors.kms_disabled_exception.KmsDisabledException: <p>The specified Amazon Web Services KMS key isn't enabled.</p>
        capo_s3vectors.errors.kms_invalid_key_usage_exception.KmsInvalidKeyUsageException: <p>The request was rejected for one of the following reasons: </p> <ul> <li> <p>The <code>KeyUsage</code> value of the KMS key is incompatible with the API operation.</p> </li> <li> <p>The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (<code>KeySpec</code>).</p> </li> </ul> <p>For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html#API_Encrypt_Errors">InvalidKeyUsageException</a> in the <i>Amazon Web Services Key Management Service API Reference</i>.</p>
        capo_s3vectors.errors.kms_invalid_state_exception.KmsInvalidStateException: <p>The key state of the KMS key isn't compatible with the operation.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html#API_Encrypt_Errors">KMSInvalidStateException</a> in the <i>Amazon Web Services Key Management Service API Reference</i>.</p>
        capo_s3vectors.errors.kms_not_found_exception.KmsNotFoundException: <p>The KMS key can't be found.</p>
        capo_s3vectors.errors.not_found_exception.NotFoundException: <p>The request was rejected because the specified resource can't be found.</p>
        capo_s3vectors.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is unavailable. Wait briefly and retry your request. If it continues to fail, increase your waiting time between retries.</p>
        capo_s3vectors.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_s3vectors.types.get_vectors_input.GetVectorsInput]",
    ) -> OperationResponse[
        "capo_s3vectors.types.get_vectors_output.GetVectorsOutput"
    ]:
        import capo_s3vectors._operations.s3_vectors.get_vectors

        output, http_response = (
            capo_s3vectors._operations.s3_vectors.get_vectors.get_vectors(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetVectors")
    )
    input_: capo_s3vectors.types.get_vectors_input.GetVectorsInput = {"keys": keys}
    if vector_bucket_name is not None:
        input_["vector_bucket_name"] = vector_bucket_name
    if index_name is not None:
        input_["index_name"] = index_name
    if index_arn is not None:
        input_["index_arn"] = index_arn
    if return_data is not None:
        input_["return_data"] = return_data
    if return_metadata is not None:
        input_["return_metadata"] = return_metadata

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output