Skip to main content

KeyValueStoreClient

Struct KeyValueStoreClient 

Source
pub struct KeyValueStoreClient { /* private fields */ }
Expand description

Client for a specific key-value store.

Implementations§

Source§

impl KeyValueStoreClient

Source

pub async fn get(&self) -> ApifyClientResult<Option<KeyValueStore>>

Fetches the store metadata, or None if it does not exist.

Source

pub async fn update<T: Serialize>( &self, new_fields: &T, ) -> ApifyClientResult<KeyValueStore>

Updates the store metadata (e.g. name, title).

Source

pub async fn delete(&self) -> ApifyClientResult<()>

Deletes the store.

Source

pub async fn list_keys( &self, options: ListKeysOptions, ) -> ApifyClientResult<KeyValueStoreKeysPage>

Lists the keys in the store (key-based pagination).

Source

pub fn iterate_keys( &self, options: ListKeysOptions, ) -> KeyValueStoreKeysIterator

Lazily iterates over every key in the store, fetching pages on demand.

Returns a KeyValueStoreKeysIterator; call its next() to get one key at a time, transparently fetching the following page once the local buffer drains, until the store is exhausted. This is the auto-paginating counterpart to the single-page list_keys, matching the reference client’s listKeys() AsyncIterable.

Key-value stores use cursor-based (not offset) pagination: each page is anchored by the previous page’s nextExclusiveStartKey, so the iterator threads that cursor through automatically. The prefix, collection and signature filters from options are carried into every page.

options.limit caps the total number of keys yielded across all pages; leaving it unset (or 0) iterates the entire store, matching the reference client. It is honoured across as many pages as needed — each individual request is bounded to the endpoint’s maximum page size (KEY_LIST_MAX_LIMIT), so a cap larger than one page still works. options.exclusive_start_key, when set, resumes iteration after that key.

Source

pub async fn record_exists(&self, key: &str) -> ApifyClientResult<bool>

Returns true if a record with the given key exists.

Source

pub async fn get_record( &self, key: &str, ) -> ApifyClientResult<Option<KeyValueStoreRecord>>

Gets a record’s raw value (and content type), or None if it does not exist.

Like the reference client’s getRecord, this sends attachment=true. Use get_record_with_options to override the attachment behaviour or to pass a URL-signing signature for a private store.

Source

pub async fn get_record_with_options( &self, key: &str, options: GetRecordOptions, ) -> ApifyClientResult<Option<KeyValueStoreRecord>>

Gets a record with explicit options.

The attachment option controls the Content-Disposition: attachment response header; when unset it defaults to true, matching the reference client’s unconditional behaviour. signature supplies a URL-signing signature for accessing a record in a private store.

Source

pub async fn set_record_raw( &self, key: &str, value: Vec<u8>, content_type: &str, ) -> ApifyClientResult<()>

Stores a record with raw bytes and an explicit content type.

Source

pub async fn set_record_json<T: Serialize>( &self, key: &str, value: &T, ) -> ApifyClientResult<()>

Stores a record as JSON (the value is serialized and content type set to JSON).

Source

pub async fn get_record_public_url( &self, key: &str, ) -> ApifyClientResult<String>

Builds a public URL for reading the record with the given key.

Mirrors the reference client’s getRecordPublicUrl: it fetches the store, and if the store exposes a URL-signing secret key (private store), appends an HMAC-SHA256 signature over the record key so the URL works without an API token. The URL is built from the configured public base URL.

Source

pub async fn create_keys_public_url( &self, expires_in_secs: Option<i64>, ) -> ApifyClientResult<String>

Builds a public URL for listing this store’s keys.

Like get_record_public_url, signs the URL with an HMAC-SHA256 signature for private stores. expires_in_secs optionally bounds a signed URL’s validity.

Source

pub async fn delete_record(&self, key: &str) -> ApifyClientResult<()>

Deletes the record with the given key.

Trait Implementations§

Source§

impl Clone for KeyValueStoreClient

Source§

fn clone(&self) -> KeyValueStoreClient

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for KeyValueStoreClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more