title: Generate S3 pre-signed URL with v4 signature using python boto3
body: <p>The following does not work:</p>
  
  <p>From the boto 3 docs:</p>
  
  <p><a href="http://boto3.readthedocs.io/en/latest/guide/s3.html#generating-presigned-urls" rel="noreferrer">http://boto3.readthedocs.io/en/latest/guide/s3.html#generating-presigned-urls</a></p>
  
  <p>This is my script with placeholder bucket and key values:</p>
  
  <pre><code>import boto3
  import requests
  from botocore.client import Config
  
  # Get the service client.
  s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
  
  # Generate the URL to get 'key-name' from 'bucket-name'
  url = s3.generate_presigned_url(
      ClientMethod='get_object',
      Params={
          'Bucket': 'mybucketname',
          'Key': 'myObject.txt'
      }
  )
  
  print url
  response = requests.get(url)
  print response
  </code></pre>
  
  <p>S3 responds with a 403:</p>
  
  <pre><code>&lt;Error&gt;
  &lt;Code&gt;AccessDenied&lt;/Code&gt;
  &lt;Message&gt;Access Denied&lt;/Message&gt;
  &lt;RequestId&gt;B5681E888657E2A1&lt;/RequestId&gt;
  &lt;HostId&gt;
  FMS7oPPOXt4I0KXPPQwdBx2fyxze+ussMmy/BOWLVFusWMoU2zAErE08ez34O6VhSYRvIYFm7Bs=
  &lt;/HostId&gt;
  &lt;/Error&gt;
  </code></pre>