### Is there an existing issue for this?

- [X] I have searched the existing issues

### Enhancement description

AWS Lambda recently added support for Java 17 as managed runtime:
https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambda-java-17/



### 🧑‍💻 Implementation

_No response_

### Anything else?

_No response_
job_names = []
    def _create_job(audio_file: str, params: Optional[dict[str, Any]] = None) -> str:
        s3_key = "test-clip.wav"
        if not params:
            params = {}
        if "TranscriptionJobName" not in params:
            params["TranscriptionJobName"] = f"test-transcribe-{short_uid()}"
        if "LanguageCode" not in params:
            params["LanguageCode"] = "en-GB"
        if "Media" not in params:
            params["Media"] = {"MediaFileUri": f"s3://{s3_bucket}/{s3_key}"}
        
        with open(audio_file, "rb") as f:
            aws_client.s3.upload_fileobj(f, s3_bucket, s3_key)
        response = aws_client.transcribe.start_transcription_job(**params)
        job_name = response["TranscriptionJob"]["TranscriptionJobName"]
        job_names.append(job_name)
        return job_name
    yield _create_job
    for job_name in job_names:
        with contextlib.suppress(ClientError):
            aws_client.transcribe.delete_transcription_job(TranscriptionJobName=job_name)
@pytest.fixture
def kinesis_create_stream(aws_client):