| ## Capabilities | |
| Depending on its configuration and the backing system, this service can expose: | |
| - [x] create_dir | |
| - [x] stat | |
| - [x] read | |
| - [x] write | |
| - [x] delete | |
| - [ ] list | |
| - [ ] copy | |
| - [ ] rename | |
| - [ ] presign | |
| Inspect the effective capability set with [`opendal_core::Operator::info`] and | |
| [`opendal_core::OperatorInfo::capability`] after building an operator. | |
| ## Configuration | |
| Use [`crate::SqliteConfig`] for serializable configuration and this builder's | |
| methods for direct construction. The field and method documentation defines | |
| accepted values, defaults, and environment interaction. | |
| ## Example | |
| ### Via Builder | |
| ```rust,no_run | |
| use opendal_core::Operator; | |
| use opendal_core::Result; | |
| use opendal_service_sqlite::Sqlite; | |
| #[tokio::main] | |
| async fn main() -> Result<()> { | |
| let mut builder = Sqlite::default() | |
| .root("/") | |
| .connection_string("file//abc.db") | |
| .table("your_table") | |
| // key field type in the table should be compatible with Rust's &str like text | |
| .key_field("key") | |
| // value field type in the table should be compatible with Rust's Vec<u8> like bytea | |
| .value_field("value"); | |
| let op = Operator::new(builder)?; | |
| Ok(()) | |
| } | |
| ``` |