code: def get_by_id(self, schema_id):
          
          if schema_id in self.id_to_schema:
              return self.id_to_schema[schema_id]
          # fetch from the registry
          url = '/'.join([self.url, 'schemas', 'ids', str(schema_id)])
  
          result, code = self._send_request(url)
          if code == 404:
              log.error("Schema not found:" + str(code))
              return None
          elif not (code >= 200 and code <= 299):
              log.error("Unable to get schema for the specific ID:" + str(code))
              return None
          else:
              # need to parse the schema
              schema_str = result.get("schema")
              try:
                  result = loads(schema_str)
                  # cache it
                  self._cache_schema(result, schema_id)
                  return result
              except ClientError as e:
                  # bad schema - should not happen
                  raise ClientError("Received bad schema (id %s) from registry: %s" % (schema_id, e))
docs: GET /schemas/ids/{int: id}
          Retrieve a parsed avro schema by id or None if not found
          :param int schema_id: int value
          :returns: Avro schema
          :rtype: schema