FMPResource
Представляет ресурс на сервере.
Since
21.04.01
Samples
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример создания ресурса.
*/
val resource: FMPResource = fmp.resource.name("resource") // Указать название ресурса на сервере.
.params("{\"delete_ids\":null,\"upsert_rows\":null}") // Указать параметры ресурса.
.build() // Получить FMPResource.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример создания ресурса с дополнительными параметрами.
*/
val resource: FMPResource = fmp.resource.name("...") // Указать название ресурса на сервере.
.params("...") // Указать параметры ресурса.
.cacheByParams(true) // Использовать кэширование по параметрам.
.delta(true) // Использовать дельту.
.filter(true) // Использовать фильтрацию FMPQuery.
.build() // Получить FMPResource.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример обращения к базе данных ресурса.
*/
resource.database.query("CREATE INDEX ...")
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример получения активных транзакций ресурса.
*/
val transactions: List<FMPTransaction> = resource.getTransactions().result
transactions.forEach { it.delete() } // Удалить все существующие транзакции ресурса.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример получения метаданных ресурса.
*/
val meta: FMPResource.Meta = resource.getMeta().result
val lifetime: String? = meta.lifetime // Получить время жизни кэша ресурса.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример получения списка таблиц ресурса.
*/
val tables: List<FMPTable> = resource.getTables().result
tables.forEach { it.name } // Получить список названий всех таблиц.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример ручной загрузки ресурса.
*/
val transaction: FMPTransaction = fmp.transaction.resource(resource).build()
val download: FMPResult<Boolean> = resource.download(transaction = transaction, // Указать транзакцию для запроса.
filters = listOf(FMPResource.FilterTable("output_table")) // Указать фильтр для загрузки только таблицы с названием output_table.
) { progress ->
println("progress: $progress") // Вывести прогресс загрузки в консоль.
}
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример отправки RPC запроса без загрузки данных.
*/
val rpc: Boolean = resource.rpc().result // true если параметры отправлены на источник, при этом ответ не записан в кэш.
//sampleEnd
}
import ru.fsight.fmp.*
fun main() {
//sampleStart
/*
* Пример удаления всех данных ресурса.
*/
val drop: Boolean = resource.dropCache().result // true если локальный кэш ресурса был очищен.
//sampleEnd
}
Types
Link copied to clipboard
Требуемые параметры: name.
Link copied to clipboard
Фильтрация по колонке. Будут загружены только те строки, значения колонок которых совпадают с указанными.
Link copied to clipboard
Ограничить получаемое число строк.
Link copied to clipboard
Сортировка по колонкам.
Link copied to clipboard
Пропустить указанное число строк.
Link copied to clipboard
Фильтрация по таблице. Будет загружена только требуемая таблица из всего ресурса.
Link copied to clipboard
data class Meta(val id: Int = -1, val name: String = "", val type: String = "", val input: FMPResource.Meta.Input? = null, val output: List<FMPResource.Meta.Argument>? = listOf(), val lifetime: String? = null)
Метаданные ресурса.
Properties
Functions
Link copied to clipboard
abstract fun download(transaction: FMPTransaction? = null, filters: List<FMPResource.Filter> = listOf(), onProgress: (Double) -> Unit = {}): FMPResult<Boolean>
Загрузить и закэшировать ресурс.
Link copied to clipboard
Метаданные ресурса на сервере.
Link copied to clipboard
Получить список существующих транзакций.
Link copied to clipboard