code: def _make_authorization_header(region,
                                 service,
                                 canonical_request,
                                 credentials,
                                 instant):
      
      date_stamp = makeDateStamp(instant)
      amz_date = makeAMZDate(instant)
  
      scope = _CredentialScope(
          date_stamp=date_stamp,
          region=region,
          service=service
      )
  
      signable = _SignableAWS4HMAC256Token(
          amz_date,
          scope,
          canonical_request,
      )
  
      signature = signable.signature(
          getSignatureKey(credentials.secret_key,
                          date_stamp,
                          region,
                          service)
      )
  
      v4credential = _Credential(
          access_key=credentials.access_key,
          credential_scope=scope,
      )
  
      return (
          b"%s " % (_SignableAWS4HMAC256Token.ALGORITHM,) +
          b", ".join([
              b"Credential=%s" % (v4credential.serialize(),),
              b"SignedHeaders=%s" % (canonical_request.signed_headers,),
              b"Signature=%s" % (signature,),
          ]))
docs: Construct an AWS version 4 authorization value for use in an
      C{Authorization} header.
  
      @param region: The AWS region name (e.g., C{'us-east-1'}).
      @type region: L{str}
  
      @param service: The AWS service's name (e.g., C{'s3'}).
      @type service: L{str}
  
      @param canonical_request: The canonical form of the request.
      @type canonical_request: L{_CanonicalRequest} (use
          L{_CanonicalRequest.from_payload_and_headers})
  
      @param credentials: The AWS credentials.
      @type credentials: L{txaws.credentials.AWSCredentials}
  
      @param instant: The current UTC date and time
      @type instant: A naive local L{datetime.datetime} (as returned by
          L{datetime.datetime.utcnow})
  
      @return: A value suitable for use in an C{Authorization} header
      @rtype: L{bytes}