def METHOD_NAME(self, data, filename, extraArgs):
    """Creates or updates a file on S3 in the bucket specified in the server configuration.
    The key of the created object will be equal to the
    configured prefix with the destination parameter appended.
    :param data: Data to upload to S3
    :param filename: name of the file to upload to s3
                     will be appended to the configured prefix
    :returns: url to access the uploaded file
    """
    import boto3
    s3 = boto3.resource('s3', region_name=self.region)
    s3.Object(self.bucket, filename).put(Body=data, **extraArgs)
    LOGGER.debug('S3 Put: {} into bucket {}'.format(self.bucket, filename))
    # Ensure object is available before returning URL
    self._wait_for(filename)
    # Create s3 URL
    url = self.url(filename)
    return url