def Put(self, key, value, callback, content_type=None, request_timeout=20.0):
    assert not self._read_only, 'Received "Put" request on read-only object store.'

    # Define callback function which raises any error and then invokes the user callback function.
    def _OnCompletedPut(start_time, response):
      if response.error:
        raise response.error
      _secs_per_put.add(time.time() - start_time)
      callback()

    start_time = time.time()
    _puts_per_min.increment()
    headers = { "Content-Type": content_type } if content_type else None
    self._async_s3_conn.make_request('PUT', bucket=self._bucket_name, key=key, headers=headers,
                                     body=value, request_timeout=request_timeout,
                                     callback=partial(_OnCompletedPut, start_time))
Loads the committees associated with candidates into the Committee
dataset/ETHPy150Open viewfinderco/viewfinder/backend/storage/s3_object_store.py/S3ObjectStore.Put--crossover with--dataset/ETHPy150Open california-civic-data-coalition/django-calaccess-campaign-browser/calaccess_campaign_browser/management/commands/loadcalaccesscampaignfilers.py/Command.load_candidate_committees