Get file storage locations
Returns information about file location on each storage backend. null value for a storage backend
means that there is no file replica on this storage backend.
Supported for directories and regular files.
This endpoint returns a subset of information offered by the
Get data distribution endpoint.
Example cURL requests
Get file storage locations
curl -H "X-Auth-Token: $TOKEN" -X GET "https://$PROVIDER_HOST/api/v3/oneprovider/data/$FILE_ID/storage_locations"
{
"locationsPerProvider": {
"$PROVIDER_ID1": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID1": {
"success": "true",
"location": "path/to/file"
}
}
},
"$PROVIDER_ID2": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID2": {
"success": "true",
"location": null
}
}
},
"$PROVIDER_ID3": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID2": {
"success": false,
"error": {
"id": "requiresPosixCompatibleStorage",
"details": {
"storageId": "b2ce3858c7267a9c016296e51dc9c41cch3618",
"posixCompatibleStorages": ["posix", "glusterfs", "nfs", "nulldevice"]
},
"description": "Cannot apply for the storage backend \"b2ce3858c7267a9c016296e51dc9c41cch3618\". This operation requires a POSIX-compatible storage backend (any of: posix, glusterfs, nfs, nulldevice).",
}
}
}
}
}
}
Path parameters
| Parameter | Type & Description |
|---|---|
| id required | string The Id of the file |
Request Examples
oneprovider-rest-cli getFileStorageLocations id=$FILE_IDResponses
Storage file locations.
Example
{
"locationsPerProvider": {
"$PROVIDER_ID1": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID": {
"success": true,
"location": "path/to/file"
}
}
},
"$PROVIDER_ID2": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID": {
"success": true,
"location": null
}
}
},
"$PROVIDER_ID3": {
"success": false,
"error": {
"description": "Operation failed with POSIX error: enoent.",
"details": {
"errno": "enoent"
}
}
},
"$PROVIDER_ID4": {
"success": true,
"locationsPerStorageBackend": {
"$STORAGE_ID": {
"success": false,
"error": {
"id": "requiresPosixCompatibleStorage",
"description": "Cannot apply for the storage backend \"b2ce3858c7267a9c016296e51dc9c41cch3618\". This operation requires a POSIX-compatible storage backend (any of: posix, glusterfs, nfs, nulldevice).",
"details": {
"storageId": "$STORAGE_ID",
"posixCompatibleStorages\"": [
"posix",
"glusterfs",
"nfs",
"nulldevice"
]
}
}
}
}
}
}
}Invalid request.
error object (ErrorJson) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
ctx required object (ErrorJsonCtx) Technical information about error.
Technical information about error.
Timestamp in milliseconds.
Release version of a product, for example "25.1".
Identifier of a service instance — either Oneprovider Id or "onezone".
Domain of the service.
Build version of the service.
Short name of service.
Revision of onedata-errors repo, where the error is defined.
Module where the error occurred.
Line number in the module where the error occurred.
Example
{
"error": {
"id": "example",
"description": "This is an example error.",
"ctx": {
"timestamp": 1750762637248,
"serviceReleaseVersion": "25.1",
"serviceId": "a7ee2722915b8bf7fb064eb65087cc61ch9357",
"serviceDomain": "dev-oneprovider-krakow.default.svc.cluster.local",
"serviceBuildVersion": "231-g8d26f953c3",
"service": "opw",
"onedataErrorsRevision": "ca3af8cb",
"module": "metadata_req",
"line": 45
}
}
}Forbidden request.
error object (ErrorJson) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
ctx required object (ErrorJsonCtx) Technical information about error.
Technical information about error.
Timestamp in milliseconds.
Release version of a product, for example "25.1".
Identifier of a service instance — either Oneprovider Id or "onezone".
Domain of the service.
Build version of the service.
Short name of service.
Revision of onedata-errors repo, where the error is defined.
Module where the error occurred.
Line number in the module where the error occurred.
Example
{
"error": {
"id": "example",
"description": "This is an example error.",
"ctx": {
"timestamp": 1750762637248,
"serviceReleaseVersion": "25.1",
"serviceId": "a7ee2722915b8bf7fb064eb65087cc61ch9357",
"serviceDomain": "dev-oneprovider-krakow.default.svc.cluster.local",
"serviceBuildVersion": "231-g8d26f953c3",
"service": "opw",
"onedataErrorsRevision": "ca3af8cb",
"module": "metadata_req",
"line": 45
}
}
}File not found.
error object (ErrorJson) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
ctx required object (ErrorJsonCtx) Technical information about error.
Technical information about error.
Timestamp in milliseconds.
Release version of a product, for example "25.1".
Identifier of a service instance — either Oneprovider Id or "onezone".
Domain of the service.
Build version of the service.
Short name of service.
Revision of onedata-errors repo, where the error is defined.
Module where the error occurred.
Line number in the module where the error occurred.
Example
{
"error": {
"id": "example",
"description": "This is an example error.",
"ctx": {
"timestamp": 1750762637248,
"serviceReleaseVersion": "25.1",
"serviceId": "a7ee2722915b8bf7fb064eb65087cc61ch9357",
"serviceDomain": "dev-oneprovider-krakow.default.svc.cluster.local",
"serviceBuildVersion": "231-g8d26f953c3",
"service": "opw",
"onedataErrorsRevision": "ca3af8cb",
"module": "metadata_req",
"line": 45
}
}
}Internal server error.
error object (ErrorJson) Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
ctx required object (ErrorJsonCtx) Technical information about error.
Technical information about error.
Timestamp in milliseconds.
Release version of a product, for example "25.1".
Identifier of a service instance — either Oneprovider Id or "onezone".
Domain of the service.
Build version of the service.
Short name of service.
Revision of onedata-errors repo, where the error is defined.
Module where the error occurred.
Line number in the module where the error occurred.
Example
{
"error": {
"id": "example",
"description": "This is an example error.",
"ctx": {
"timestamp": 1750762637248,
"serviceReleaseVersion": "25.1",
"serviceId": "a7ee2722915b8bf7fb064eb65087cc61ch9357",
"serviceDomain": "dev-oneprovider-krakow.default.svc.cluster.local",
"serviceBuildVersion": "231-g8d26f953c3",
"service": "opw",
"onedataErrorsRevision": "ca3af8cb",
"module": "metadata_req",
"line": 45
}
}
}