Onedata API Reference

REST API references for Onezone, Oneprovider, and Onepanel.

Configure file-popularity mechanism in the space.

PATCH /provider/spaces/{id}/file-popularity/configuration

Configures the file-popularity mechanism in the space. The mechanism is responsible for collecting file-popularity usage statistics per space support. Creates a view which can be queried to fetch the least popular files. The view is sorted in an increasing order by the popularity function value. The popularity function is defined as

P(lastOpenHour, avgOpenCountPerDay) = w1 * lastOpenHour + w2 * min(avgOpenCountPerDay, MAX_AVG_OPEN_COUNT_PER_DAY)
where:
* lastOpenHour - parameter which is equal to timestamp (in hours since 01.01.1970) of last open operation on given file
* w1 - weight of lastOpenHour parameter
* avgOpenCountPerDay - parameter equal to moving average of number of open operations on given file per day. Value is calculated over last 30 days.
* w2 - weight of avgOpenCountPerDay parameter
* MAX_AVG_OPEN_COUNT_PER_DAY - upper boundary for avgOpenCountPerDay parameter

Path parameters

Parameter Type & Description
id required
string

The Id of a space.

Request body

application/json

Configuration of the file-popularity mechanism in the space.

PropertyType & Description
enabled
boolean

If true, collecting file-popularity mechanism in the space is enabled.

exampleQuery
string

Example curl command that can be executed to query the file-popularity view in the space.

lastOpenHourWeight
number

Weight of lastOpenHour parameter.

avgOpenCountPerDayWeight
number

Weight of avgOpenCountPerDayWeight parameter.

maxAvgOpenCountPerDay
number

Maximal value of average open count per day taken to calculate the value of popularity function.

Request Examples

application/json
{
  "enabled": true,
  "exampleQuery": "curl -sS -k -H 'X-Auth-Token: $TOKEN' -X GET https://$HOST/api/v3/oneprovider/spaces/example_space_id/views/file-popularity?limit=10&stale=false",
  "lastOpenHourWeight": 1,
  "avgOpenCountPerDayWeight": 20,
  "maxAvgOpenCountPerDay": 100
}

Responses

application/json
202
No description.
400

Invalid request.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}
401

Unauthorized request.

403

Forbidden request.

500

Internal server error.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}