**Apache Airflow version**: 2.0.2


**Kubernetes version (if you are using kubernetes)** (use `kubectl version`): NA

**Environment**: MWAA and Locally

- **Cloud provider or hardware configuration**: AWS
- **OS** (e.g. from /etc/os-release): NA
- **Kernel** (e.g. `uname -a`): NA
- **Install tools**: NA
- **Others**: NA

**What happened**:

When calling the SagemakerProcessingOperator sometimes get: "botocore.exceptions.ClientError: An error occurred (ThrottlingException)" due to excessive ListProcessingJobs operations.

**What you expected to happen**:

The job should have started without timing out. I believe one fix would be to use the `NameContains` functionality of boto3 [list_processing_jobs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.list_processing_jobs) so you don't have to paginate as is occurring [here](https://github.com/apache/airflow/blob/main/airflow/providers/amazon/aws/hooks/sagemaker.py#L916). 

**How to reproduce it**:

If you incrementally create Sagemaker Processing jobs you will eventually see the Throttling as the pagination increases.

**Anything else we need to know**:

This looks like it is happening when the account already has a lot of former Sagemaker Processing jobs.
airflow/providers/amazon/aws/hooks/sagemaker.py
self, name_contains: Optional[str] = None, max_results: Optional[int] = None, **kwargs
    ) -> List[Dict]:
        """
        This method wraps boto3's `list_training_jobs`. The training job name and max results are configurable
        via arguments. Other arguments are not, and should be provided via kwargs. Note boto3 expects these in
        CamelCase format, for example:
        .. code-block:: python
            list_training_jobs(name_contains="myjob", StatusEquals="Failed")
        .. seealso::
            https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.list_training_jobs
        :param name_contains: (optional) partial name to match
        :param max_results: (optional) maximum number of results to return. None returns infinite results
        :param kwargs: (optional) kwargs to boto3's list_training_jobs method
        :return: results of the list_training_jobs request
        """
        config = {}
        if name_contains:
            if "NameContains" in kwargs:
                raise AirflowException("Either name_contains or NameContains can be provided, not both.")
            config["NameContains"] = name_contains
        if "MaxResults" in kwargs and kwargs["MaxResults"] is not None:
            if max_results:
                raise AirflowException("Either max_results or MaxResults can be provided, not both.")