code: def sign(self, headers, data, url_context, instant, method,
               region=REGION_US_EAST_1):
          
          headers["host"] = url_context.get_encoded_host()
  
          if data is None:
              request = _auth_v4._CanonicalRequest.from_request_components(
                  method=method,
                  url=url_context.get_encoded_path(),
                  headers=headers,
                  headers_to_sign=('host', 'x-amz-date'),
                  payload_hash=None,
              )
          else:
              request = _auth_v4._CanonicalRequest.from_request_components_and_payload(
                  method=method,
                  url=url_context.get_encoded_path(),
                  headers=headers,
                  headers_to_sign=('host', 'x-amz-date'),
                  payload=data,
              )
  
          return _auth_v4._make_authorization_header(
              region=region,
              service="s3",
              canonical_request=request,
              credentials=self.creds,
              instant=instant)
docs: Sign this query using its built in credentials.