async def METHOD_NAME(
    self,
    *reqs,  # type: HttpRequest
    **kwargs
):
    # Pop it here, so requests doesn't feel bad about additional kwarg
    raise_on_any_failure = kwargs.pop("raise_on_any_failure", True)
    request = self._client._client.post(  # pylint: disable=protected-access
        url=(
            f'{self.scheme}://{self.primary_hostname}/'
            f"{kwargs.pop('path', '')}?{kwargs.pop('restype', '')}"
            f"comp=batch{kwargs.pop('sas', '')}{kwargs.pop('timeout', '')}"
        ),
        headers={
            'x-ms-version': self.api_version
        }
    )
    policies = [StorageHeadersPolicy()]
    if self._credential_policy:
        policies.append(self._credential_policy)
    request.set_multipart_mixed(
        *reqs,
        policies=policies,
        enforce_https=False
    )
    pipeline_response = await self._pipeline.run(
        request, **kwargs
    )
    response = pipeline_response.http_response
    try:
        if response.status_code not in [202]:
            raise HttpResponseError(response=response)
        parts = response.parts() # Return an AsyncIterator
        if raise_on_any_failure:
            parts_list = []
            async for part in parts:
                parts_list.append(part)
            if any(p for p in parts_list if not 200 <= p.status_code < 300):
                error = PartialBatchErrorException(
                    message="There is a partial failure in the batch operation.",
                    response=response, parts=parts_list
                )
                raise error
            return AsyncList(parts_list)
        return parts
    except HttpResponseError as error:
        process_storage_error(error)