code: def _compute_signature(parameters, access_key_secret, method, path):
      '''
      Generate an API request signature. Detailed document can be found at:
  
      https://docs.qingcloud.com/api/common/signature.html
      '''
      parameters['signature_method'] = 'HmacSHA256'
  
      string_to_sign = '{0}\n{1}\n'.format(method.upper(), path)
  
      keys = sorted(parameters.keys())
      pairs = []
      for key in keys:
          val = six.text_type(parameters[key]).encode('utf-8')
          pairs.append(_quote(key, safe='') + '=' + _quote(val, safe='-_~'))
      qs = '&'.join(pairs)
      string_to_sign += qs
  
      h = hmac.new(access_key_secret, digestmod=sha256)
      h.update(string_to_sign)
  
      signature = base64.b64encode(h.digest()).strip()
  
      return signaturf _compute_signature(parameters, access_key_secret, method, path):
      '''
      Generate an API request signature. Detailed document can be found at:
  
      https://docs.qingcloud.com/api/common/signature.html
      '''
      parameters['signature_method'] = 'HmacSHA256'
  
      string_to_sign = '{0}\n{1}\n'.format(method.upper(), path)
  
      keys = sorted(parameters.keys())
      pairs = []
      for key in keys:
          val = six.text_type(parameters[key]).encode('utf-8')
          pairs.append(_quote(key, safe='') + '=' + _quote(val, safe='-_~'))
      qs = '&'.join(pairs)
      string_to_sign += qs
  
      h = hmac.new(access_key_secret, digestmod=sha256)
      h.update(string_to_sign)
  
      signature = base64.b64encode(h.digest()).strip()
  
      return signature
docs: Generate an API request signature. Detailed document can be found at:
  
      https://docs.qingcloud.com/api/common/signature.html