title: Making a signed HTTP request to AWS Elasticsearch in Python
body: <p>I'm trying to make a simple Python Lambda that makes snapshots of our Elasticsearch database. This is done through <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html" rel="noreferrer">Elasticsearch's REST API</a> using simple HTTP requests.</p>
  
  <p>However, for AWS, I have to sign these requests. I have a feeling it can be achieved through <code>boto3</code>'s low-level clients probably with <code>generate_presigned_url</code>, but I cannot for the life of me figure out how to invoke this function correctly. For example, what are the valid <code>ClientMethod</code>s? I've tried <code>ESHttpGet</code> but to no avail.</p>
  
  <p>Can anyone point me in the right direction?</p>