Skip to content

retrieve_memory_records async

retrieve_memory_records(
    memory_id: MemoryId,
    search_criteria: SearchCriteria,
    *,
    config_overrides: Optional[AsyncBedrockAgentCoreClientConfig] = None,
    namespace: Optional[Namespace] = None,
    namespace_path: Optional[Namespace] = None,
    next_token: Optional[PaginationToken] = None,
    max_results: Optional[MaxResults] = None,
) -> RetrieveMemoryRecordsOutput

Searches for and retrieves memory records from an AgentCore Memory resource based on specified search criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.

To use this operation, you must have the bedrock-agentcore:RetrieveMemoryRecords permission.

Parameters:

  • memory_id (MemoryId) –

    The identifier of the AgentCore Memory resource from which to retrieve memory records.

  • namespace (Optional[Namespace], default: None ) –

    The namespace prefix to filter memory records by. Searches for memory records in namespaces that start with the provided prefix. Either namespace or namespacePath is required.

  • namespace_path (Optional[Namespace], default: None ) –

    Use namespacePath for hierarchical retrievals. Return all memory records where namespace falls under the same parent hierarchy. Either namespace or namespacePath is required.

  • search_criteria (SearchCriteria) –

    The search criteria to use for finding relevant memory records. This includes the search query, memory strategy ID, and other search parameters.

  • next_token (Optional[PaginationToken], default: None ) –

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

  • max_results (Optional[MaxResults], default: None ) –

    The maximum number of results to return in a single call. The default value is 20.

Raises:

  • AccessDeniedException –

    The exception that occurs when you do not have sufficient permissions to perform an action. Verify that your IAM policy includes the necessary permissions for the operation you are trying to perform.

  • InvalidInputException –

    The input fails to satisfy the constraints specified by AgentCore. Check your input values and try again.

  • ResourceNotFoundException –

    The exception that occurs when the specified resource does not exist. This can happen when using an invalid identifier or when trying to access a resource that has been deleted.

  • ServiceException –

    The service encountered an internal error. Try your request again later.

  • ServiceQuotaExceededException –

    The exception that occurs when the request would cause a service quota to be exceeded. Review your service quotas and either reduce your request rate or request a quota increase.

  • ThrottledException –

    The request was denied due to request throttling. Reduce the frequency of requests and try again.

  • ValidationException –

    The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_bedrock_agentcore/_services/async_bedrock_agent_core.py
async def retrieve_memory_records(
    self,
    memory_id: "capo_bedrock_agentcore.types.memory_id.MemoryId",
    search_criteria: "capo_bedrock_agentcore.types.search_criteria.SearchCriteria",
    *,
    config_overrides: Optional[AsyncBedrockAgentCoreClientConfig] = None,
    namespace: Optional["capo_bedrock_agentcore.types.namespace.Namespace"] = None,
    namespace_path: Optional[
        "capo_bedrock_agentcore.types.namespace.Namespace"
    ] = None,
    next_token: Optional[
        "capo_bedrock_agentcore.types.pagination_token.PaginationToken"
    ] = None,
    max_results: Optional[
        "capo_bedrock_agentcore.types.max_results.MaxResults"
    ] = None,
) -> "capo_bedrock_agentcore.types.retrieve_memory_records_output.RetrieveMemoryRecordsOutput":
    """<p>Searches for and retrieves memory records from an AgentCore Memory resource based on specified search criteria. We recommend using pagination to ensure that the operation returns quickly and successfully.</p> <p>To use this operation, you must have the <code>bedrock-agentcore:RetrieveMemoryRecords</code> permission.</p>

    Args:
        memory_id: <p>The identifier of the AgentCore Memory resource from which to retrieve memory records.</p>
        namespace: <p>The namespace prefix to filter memory records by. Searches for memory records in namespaces that start with the provided prefix. Either <code>namespace</code> or <code>namespacePath</code> is required.</p>
        namespace_path: <p>Use namespacePath for hierarchical retrievals. Return all memory records where namespace falls under the same parent hierarchy. Either <code>namespace</code> or <code>namespacePath</code> is required.</p>
        search_criteria: <p>The search criteria to use for finding relevant memory records. This includes the search query, memory strategy ID, and other search parameters.</p>
        next_token: <p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>
        max_results: <p>The maximum number of results to return in a single call. The default value is 20.</p>

    Raises:
        capo_bedrock_agentcore.errors.access_denied_exception.AccessDeniedException: <p>The exception that occurs when you do not have sufficient permissions to perform an action. Verify that your IAM policy includes the necessary permissions for the operation you are trying to perform.</p>
        capo_bedrock_agentcore.errors.invalid_input_exception.InvalidInputException: <p>The input fails to satisfy the constraints specified by AgentCore. Check your input values and try again.</p>
        capo_bedrock_agentcore.errors.resource_not_found_exception.ResourceNotFoundException: <p>The exception that occurs when the specified resource does not exist. This can happen when using an invalid identifier or when trying to access a resource that has been deleted.</p>
        capo_bedrock_agentcore.errors.service_exception.ServiceException: <p>The service encountered an internal error. Try your request again later.</p>
        capo_bedrock_agentcore.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The exception that occurs when the request would cause a service quota to be exceeded. Review your service quotas and either reduce your request rate or request a quota increase.</p>
        capo_bedrock_agentcore.errors.throttled_exception.ThrottledException: <p>The request was denied due to request throttling. Reduce the frequency of requests and try again.</p>
        capo_bedrock_agentcore.errors.validation_exception.ValidationException: <p>The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request.</p>
        capo_bedrock_agentcore.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_bedrock_agentcore.types.retrieve_memory_records_input.RetrieveMemoryRecordsInput]",
    ) -> AsyncOperationResponse[
        "capo_bedrock_agentcore.types.retrieve_memory_records_output.RetrieveMemoryRecordsOutput"
    ]:
        import capo_bedrock_agentcore._operations.amazon_bedrock_agent_core.retrieve_memory_records

        (
            output,
            http_response,
        ) = await capo_bedrock_agentcore._operations.amazon_bedrock_agent_core.retrieve_memory_records.async_retrieve_memory_records(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_bedrock_agentcore.types.retrieve_memory_records_input.RetrieveMemoryRecordsInput",
    ) -> dict[str, Any]:
        import capo_bedrock_agentcore.types.retrieve_memory_records_input

        return capo_bedrock_agentcore.types.retrieve_memory_records_input.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_bedrock_agentcore.types.retrieve_memory_records_output.RetrieveMemoryRecordsOutput",
    ) -> dict[str, Any]:
        import capo_bedrock_agentcore.types.retrieve_memory_records_output

        return capo_bedrock_agentcore.types.retrieve_memory_records_output.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "RetrieveMemoryRecords",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_bedrock_agentcore.types.retrieve_memory_records_input.RetrieveMemoryRecordsInput = {
        "memory_id": memory_id,
        "search_criteria": search_criteria,
    }
    if namespace is not None:
        input_["namespace"] = namespace
    if namespace_path is not None:
        input_["namespace_path"] = namespace_path
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output