apify-client 3.0.0-beta.6 → 3.0.0-beta.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/dist/apify_api_error.d.ts +11 -26
- package/dist/apify_api_error.js +31 -22
- package/dist/apify_client.d.ts +125 -10
- package/dist/apify_client.js +133 -48
- package/dist/base/api_client.d.ts +7 -7
- package/dist/base/api_client.js +36 -36
- package/dist/base/resource_client.d.ts +21 -8
- package/dist/base/resource_client.js +67 -33
- package/dist/base/resource_collection_client.d.ts +12 -4
- package/dist/base/resource_collection_client.js +34 -11
- package/dist/body_parser.d.ts +3 -4
- package/dist/body_parser.js +19 -26
- package/dist/bundle.js +27 -22
- package/dist/bundle.js.map +1 -1
- package/dist/generated/api.d.ts +785 -290
- package/dist/generated/schemas.d.ts +771 -798
- package/dist/generated/schemas.js +183 -179
- package/dist/http_clients/axios.d.ts +60 -0
- package/dist/http_clients/axios.js +117 -0
- package/dist/http_clients/base.d.ts +331 -0
- package/dist/http_clients/base.js +563 -0
- package/dist/http_clients/index.d.ts +4 -0
- package/dist/http_clients/index.js +2 -0
- package/dist/http_compressors/base.d.ts +40 -0
- package/dist/http_compressors/base.js +9 -0
- package/dist/http_compressors/brotli.d.ts +33 -0
- package/dist/http_compressors/brotli.js +39 -0
- package/dist/http_compressors/gzip.d.ts +33 -0
- package/dist/http_compressors/gzip.js +39 -0
- package/dist/http_compressors/index.d.ts +6 -0
- package/dist/http_compressors/index.js +2 -0
- package/dist/http_compressors/resolve.d.ts +23 -0
- package/dist/http_compressors/resolve.js +27 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +3 -1
- package/dist/invalid_response_body_error.d.ts +13 -0
- package/dist/invalid_response_body_error.js +17 -0
- package/dist/models.d.ts +162 -194
- package/dist/models.js +6 -4
- package/dist/resource_clients/actor.d.ts +74 -34
- package/dist/resource_clients/actor.js +87 -56
- package/dist/resource_clients/actor_collection.d.ts +18 -14
- package/dist/resource_clients/actor_collection.js +11 -3
- package/dist/resource_clients/actor_env_var.d.ts +11 -4
- package/dist/resource_clients/actor_env_var.js +16 -6
- package/dist/resource_clients/actor_env_var_collection.d.ts +16 -20
- package/dist/resource_clients/actor_env_var_collection.js +17 -11
- package/dist/resource_clients/actor_version.d.ts +20 -5
- package/dist/resource_clients/actor_version.js +19 -9
- package/dist/resource_clients/actor_version_collection.d.ts +18 -19
- package/dist/resource_clients/actor_version_collection.js +19 -11
- package/dist/resource_clients/build.d.ts +20 -7
- package/dist/resource_clients/build.js +35 -15
- package/dist/resource_clients/build_collection.d.ts +7 -5
- package/dist/resource_clients/build_collection.js +4 -1
- package/dist/resource_clients/dataset.d.ts +53 -35
- package/dist/resource_clients/dataset.js +105 -80
- package/dist/resource_clients/dataset_collection.d.ts +10 -6
- package/dist/resource_clients/dataset_collection.js +13 -2
- package/dist/resource_clients/key_value_store.d.ts +73 -23
- package/dist/resource_clients/key_value_store.js +86 -43
- package/dist/resource_clients/key_value_store_collection.d.ts +10 -6
- package/dist/resource_clients/key_value_store_collection.js +13 -2
- package/dist/resource_clients/log.d.ts +13 -20
- package/dist/resource_clients/log.js +141 -59
- package/dist/resource_clients/request_queue.d.ts +74 -36
- package/dist/resource_clients/request_queue.js +182 -106
- package/dist/resource_clients/request_queue_collection.d.ts +9 -5
- package/dist/resource_clients/request_queue_collection.js +9 -3
- package/dist/resource_clients/run.d.ts +119 -28
- package/dist/resource_clients/run.js +190 -49
- package/dist/resource_clients/run_collection.d.ts +5 -3
- package/dist/resource_clients/run_collection.js +4 -1
- package/dist/resource_clients/schedule.d.ts +16 -7
- package/dist/resource_clients/schedule.js +30 -22
- package/dist/resource_clients/schedule_collection.d.ts +6 -2
- package/dist/resource_clients/schedule_collection.js +9 -3
- package/dist/resource_clients/store_collection.d.ts +6 -4
- package/dist/resource_clients/store_collection.js +4 -1
- package/dist/resource_clients/task.d.ts +36 -13
- package/dist/resource_clients/task.js +79 -46
- package/dist/resource_clients/task_collection.d.ts +9 -5
- package/dist/resource_clients/task_collection.js +9 -3
- package/dist/resource_clients/user.d.ts +19 -10
- package/dist/resource_clients/user.js +42 -38
- package/dist/resource_clients/webhook.d.ts +17 -8
- package/dist/resource_clients/webhook.js +30 -22
- package/dist/resource_clients/webhook_collection.d.ts +8 -4
- package/dist/resource_clients/webhook_collection.js +9 -3
- package/dist/resource_clients/webhook_dispatch.d.ts +4 -1
- package/dist/resource_clients/webhook_dispatch.js +7 -2
- package/dist/resource_clients/webhook_dispatch_collection.d.ts +3 -1
- package/dist/resource_clients/webhook_dispatch_collection.js +4 -1
- package/dist/runtime/node.d.ts +6 -0
- package/dist/runtime/node.js +49 -0
- package/dist/runtime/types.d.ts +52 -0
- package/dist/runtime/types.js +1 -0
- package/dist/runtime/web.d.ts +5 -0
- package/dist/runtime/web.js +18 -0
- package/dist/schemas.d.ts +1 -1
- package/dist/schemas.js +1 -1
- package/dist/statistics.d.ts +1 -6
- package/dist/statistics.js +2 -2
- package/dist/timeouts.d.ts +84 -0
- package/dist/timeouts.js +37 -0
- package/dist/timezones.d.ts +1 -1
- package/dist/utils.d.ts +89 -53
- package/dist/utils.js +214 -161
- package/dist/wait_for_resources.d.ts +8 -0
- package/dist/wait_for_resources.js +39 -0
- package/package.json +32 -29
- package/dist/http_client.d.ts +0 -88
- package/dist/http_client.js +0 -255
- package/dist/interceptors.d.ts +0 -19
- package/dist/interceptors.js +0 -105
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { STORAGE_OWNERSHIP_FILTER } from '@apify/consts';
|
|
2
2
|
import type { ApiClientSubResourceOptions } from '../base/api_client.js';
|
|
3
3
|
import { ResourceCollectionClient } from '../base/resource_collection_client.js';
|
|
4
|
+
import type { TimeoutOptions } from '../timeouts.js';
|
|
4
5
|
import type { PaginatedList, PaginationOptions } from '../utils.js';
|
|
5
|
-
import type {
|
|
6
|
+
import type { DatasetResource } from './dataset.js';
|
|
6
7
|
/**
|
|
7
8
|
* Client for managing the collection of datasets in your account.
|
|
8
9
|
*
|
|
@@ -45,21 +46,24 @@ export declare class DatasetCollectionClient extends ResourceCollectionClient {
|
|
|
45
46
|
* ```
|
|
46
47
|
*
|
|
47
48
|
* @param options - Pagination options.
|
|
49
|
+
* @param options.timeoutSecs - Timeout for each API request. Default is `'medium'`.
|
|
48
50
|
* @returns A paginated iterator of Datasets.
|
|
49
51
|
* @see https://docs.apify.com/api/v2/datasets-get
|
|
50
52
|
*/
|
|
51
|
-
list(options?: DatasetCollectionClientListOptions): Promise<DatasetCollectionClientListResult> & AsyncIterable<
|
|
53
|
+
list(options?: DatasetCollectionClientListOptions): Promise<DatasetCollectionClientListResult> & AsyncIterable<DatasetResource>;
|
|
52
54
|
/**
|
|
53
55
|
* Gets or creates a dataset with the specified name.
|
|
54
56
|
*
|
|
55
57
|
* @param name - Name of the dataset. If not provided, a default dataset is used.
|
|
56
58
|
* @param options - Additional options like schema.
|
|
59
|
+
* @param options.schema - Schema of the dataset.
|
|
60
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
|
|
57
61
|
* @returns The dataset object.
|
|
58
62
|
* @see https://docs.apify.com/api/v2/datasets-post
|
|
59
63
|
*/
|
|
60
|
-
getOrCreate(name?: string, options?: DatasetCollectionClientGetOrCreateOptions): Promise<
|
|
64
|
+
getOrCreate(name?: string, options?: DatasetCollectionClientGetOrCreateOptions): Promise<DatasetResource>;
|
|
61
65
|
}
|
|
62
|
-
export interface DatasetCollectionClientListOptions extends PaginationOptions {
|
|
66
|
+
export interface DatasetCollectionClientListOptions extends PaginationOptions, TimeoutOptions {
|
|
63
67
|
unnamed?: boolean;
|
|
64
68
|
desc?: boolean;
|
|
65
69
|
/**
|
|
@@ -71,9 +75,9 @@ export interface DatasetCollectionClientListOptions extends PaginationOptions {
|
|
|
71
75
|
/**
|
|
72
76
|
* @since Added in 2.3.0
|
|
73
77
|
*/
|
|
74
|
-
export interface DatasetCollectionClientGetOrCreateOptions {
|
|
78
|
+
export interface DatasetCollectionClientGetOrCreateOptions extends TimeoutOptions {
|
|
75
79
|
schema?: Record<string, unknown>;
|
|
76
80
|
}
|
|
77
|
-
export type DatasetCollectionClientListResult = PaginatedList<
|
|
81
|
+
export type DatasetCollectionClientListResult = PaginatedList<DatasetResource> & {
|
|
78
82
|
unnamed: boolean;
|
|
79
83
|
};
|
|
@@ -2,12 +2,14 @@ import { z } from 'zod';
|
|
|
2
2
|
import { STORAGE_OWNERSHIP_FILTER } from '@apify/consts';
|
|
3
3
|
import { ResourceCollectionClient } from '../base/resource_collection_client.js';
|
|
4
4
|
import * as schemas from '../schemas.js';
|
|
5
|
+
import { optionalSignalSchema, optionalTimeoutSchema, timeoutOptionsShape } from '../timeouts.js';
|
|
5
6
|
import { anyObjectSchema, paginationOptionsShape, parseArgument } from '../utils.js';
|
|
6
7
|
const listOptionsSchema = z.strictObject({
|
|
7
8
|
unnamed: z.boolean().optional(),
|
|
8
9
|
...paginationOptionsShape,
|
|
9
10
|
desc: z.boolean().optional(),
|
|
10
11
|
ownership: z.enum(STORAGE_OWNERSHIP_FILTER).optional(),
|
|
12
|
+
...timeoutOptionsShape,
|
|
11
13
|
});
|
|
12
14
|
const nameSchema = z.string().optional();
|
|
13
15
|
const schemaSchema = anyObjectSchema.optional();
|
|
@@ -58,24 +60,33 @@ export class DatasetCollectionClient extends ResourceCollectionClient {
|
|
|
58
60
|
* ```
|
|
59
61
|
*
|
|
60
62
|
* @param options - Pagination options.
|
|
63
|
+
* @param options.timeoutSecs - Timeout for each API request. Default is `'medium'`.
|
|
61
64
|
* @returns A paginated iterator of Datasets.
|
|
62
65
|
* @see https://docs.apify.com/api/v2/datasets-get
|
|
63
66
|
*/
|
|
64
67
|
list(options = {}) {
|
|
65
68
|
const parsed = parseArgument(options, listOptionsSchema, 'DatasetCollectionClientListOptions');
|
|
66
|
-
return this.
|
|
69
|
+
return this.listResourcesPaginated(schemas.ListOfDatasets(), parsed, 'medium');
|
|
67
70
|
}
|
|
68
71
|
/**
|
|
69
72
|
* Gets or creates a dataset with the specified name.
|
|
70
73
|
*
|
|
71
74
|
* @param name - Name of the dataset. If not provided, a default dataset is used.
|
|
72
75
|
* @param options - Additional options like schema.
|
|
76
|
+
* @param options.schema - Schema of the dataset.
|
|
77
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
|
|
73
78
|
* @returns The dataset object.
|
|
74
79
|
* @see https://docs.apify.com/api/v2/datasets-post
|
|
75
80
|
*/
|
|
76
81
|
async getOrCreate(name, options) {
|
|
77
82
|
parseArgument(name, nameSchema);
|
|
78
83
|
parseArgument(options?.schema, schemaSchema); // TODO: Add schema validation
|
|
79
|
-
|
|
84
|
+
parseArgument(options?.timeoutSecs, optionalTimeoutSchema);
|
|
85
|
+
parseArgument(options?.signal, optionalSignalSchema);
|
|
86
|
+
// `timeoutSecs` and `signal` are not part of the resource, so the body carries only the rest, and stays
|
|
87
|
+
// absent when there is nothing else to send.
|
|
88
|
+
const { timeoutSecs = 'short', signal, ...resource } = options ?? {};
|
|
89
|
+
const hasResource = Object.keys(resource).length > 0;
|
|
90
|
+
return this.getOrCreateResource(schemas.DatasetResource(), name, hasResource ? resource : undefined, timeoutSecs, signal);
|
|
80
91
|
}
|
|
81
92
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
|
-
import type { JsonValue } from 'type-fest';
|
|
2
|
+
import type { JsonValue, TypedArray } from 'type-fest';
|
|
3
3
|
import type { STORAGE_GENERAL_ACCESS } from '@apify/consts';
|
|
4
4
|
import type { ApiClientSubResourceOptions } from '../base/api_client.js';
|
|
5
5
|
import { ResourceClient } from '../base/resource_client.js';
|
|
6
|
-
import type {
|
|
7
|
-
|
|
6
|
+
import type { KeyValueStoreResource, KeyValueStoreKey, ListOfKeys } from '../models.js';
|
|
7
|
+
import type { TimeoutOptions } from '../timeouts.js';
|
|
8
|
+
export type { KeyValueStoreResource, KeyValueStoreKey, KeyValueStoreStats, ListOfKeys } from '../models.js';
|
|
8
9
|
/**
|
|
9
10
|
* Client for managing a specific key-value store.
|
|
10
11
|
*
|
|
@@ -41,10 +42,12 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
41
42
|
/**
|
|
42
43
|
* Gets the key-value store object from the Apify API.
|
|
43
44
|
*
|
|
45
|
+
* @param options - Request options
|
|
46
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
|
|
44
47
|
* @returns The KeyValueStore object, or `undefined` if it does not exist
|
|
45
48
|
* @see https://docs.apify.com/api/v2/key-value-store-get
|
|
46
49
|
*/
|
|
47
|
-
get(): Promise<
|
|
50
|
+
get(options?: TimeoutOptions): Promise<KeyValueStoreResource | undefined>;
|
|
48
51
|
/**
|
|
49
52
|
* Updates the key-value store with specified fields.
|
|
50
53
|
*
|
|
@@ -52,16 +55,20 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
52
55
|
* @param newFields.name - New name for the store
|
|
53
56
|
* @param newFields.title - New title for the store
|
|
54
57
|
* @param newFields.generalAccess - General resource access level ('FOLLOW_USER_SETTING', 'ANYONE_WITH_ID_CAN_READ' or 'RESTRICTED')
|
|
58
|
+
* @param options - Request options
|
|
59
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
|
|
55
60
|
* @returns The updated KeyValueStore object
|
|
56
61
|
* @see https://docs.apify.com/api/v2/key-value-store-put
|
|
57
62
|
*/
|
|
58
|
-
update(newFields: KeyValueClientUpdateOptions): Promise<
|
|
63
|
+
update(newFields: KeyValueClientUpdateOptions, options?: TimeoutOptions): Promise<KeyValueStoreResource>;
|
|
59
64
|
/**
|
|
60
65
|
* Deletes the key-value store.
|
|
61
66
|
*
|
|
67
|
+
* @param options - Request options
|
|
68
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
|
|
62
69
|
* @see https://docs.apify.com/api/v2/key-value-store-delete
|
|
63
70
|
*/
|
|
64
|
-
delete(): Promise<void>;
|
|
71
|
+
delete(options?: TimeoutOptions): Promise<void>;
|
|
65
72
|
/**
|
|
66
73
|
* Lists all keys in the key-value store.
|
|
67
74
|
*
|
|
@@ -70,9 +77,12 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
70
77
|
*
|
|
71
78
|
* @param options - Listing options
|
|
72
79
|
* @param options.limit - Maximum number of keys to return. Default is 1000.
|
|
80
|
+
* @param options.chunkSize - Maximum number of keys requested per API call when iterating across pages. `limit`
|
|
81
|
+
* then caps the total across all pages.
|
|
73
82
|
* @param options.exclusiveStartKey - Key to start listing from (for pagination). The listing starts with the next key after this one.
|
|
74
83
|
* @param options.collection - Filter keys by collection name.
|
|
75
84
|
* @param options.prefix - Filter keys that start with this prefix.
|
|
85
|
+
* @param options.timeoutSecs - Timeout for each API request. Default is `'medium'`.
|
|
76
86
|
* @returns Object containing `items` array of key metadata, pagination info (`count`, `limit`, `isTruncated`, `nextExclusiveStartKey`)
|
|
77
87
|
* @see https://docs.apify.com/api/v2/key-value-store-keys-get
|
|
78
88
|
*
|
|
@@ -97,7 +107,7 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
97
107
|
* } while (result.isTruncated);
|
|
98
108
|
* ```
|
|
99
109
|
*/
|
|
100
|
-
listKeys(options?: KeyValueClientListKeysOptions): Promise<
|
|
110
|
+
listKeys(options?: KeyValueClientListKeysOptions): Promise<ListOfKeys> & AsyncIterable<KeyValueStoreKey>;
|
|
101
111
|
/**
|
|
102
112
|
* Generates a public URL for accessing a specific record in the key-value store.
|
|
103
113
|
*
|
|
@@ -106,6 +116,8 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
106
116
|
* requiring an API token.
|
|
107
117
|
*
|
|
108
118
|
* @param key - The record key
|
|
119
|
+
* @param options - Request options
|
|
120
|
+
* @param options.timeoutSecs - Timeout for the API request that fetches the store. Default is `'long'`.
|
|
109
121
|
* @returns A public URL string for accessing the record
|
|
110
122
|
*
|
|
111
123
|
* @example
|
|
@@ -116,7 +128,7 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
116
128
|
* ```
|
|
117
129
|
* @since Added in 2.14.0
|
|
118
130
|
*/
|
|
119
|
-
getRecordPublicUrl(key: string): Promise<string>;
|
|
131
|
+
getRecordPublicUrl(key: string, options?: TimeoutOptions): Promise<string>;
|
|
120
132
|
/**
|
|
121
133
|
* Generates a public URL for accessing the list of keys in the key-value store.
|
|
122
134
|
*
|
|
@@ -127,6 +139,7 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
127
139
|
* @param options.expiresInSecs - Number of seconds until the signed URL expires. If omitted, the URL never expires.
|
|
128
140
|
* @param options.limit - Maximum number of keys to return.
|
|
129
141
|
* @param options.prefix - Filter keys by prefix.
|
|
142
|
+
* @param options.timeoutSecs - Timeout for the API request that fetches the store. Default is `'long'`.
|
|
130
143
|
* @returns A public URL string for accessing the keys list
|
|
131
144
|
*
|
|
132
145
|
* @example
|
|
@@ -147,6 +160,8 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
147
160
|
* This is more efficient than {@link getRecord} when you only need to check for existence.
|
|
148
161
|
*
|
|
149
162
|
* @param key - The record key to check
|
|
163
|
+
* @param options - Request options
|
|
164
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
|
|
150
165
|
* @returns `true` if the record exists, `false` if it does not
|
|
151
166
|
* @see https://docs.apify.com/api/v2/key-value-store-record-get
|
|
152
167
|
*
|
|
@@ -159,15 +174,27 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
159
174
|
* ```
|
|
160
175
|
* @since Added in 2.9.0
|
|
161
176
|
*/
|
|
162
|
-
recordExists(key: string): Promise<boolean>;
|
|
177
|
+
recordExists(key: string, options?: TimeoutOptions): Promise<boolean>;
|
|
163
178
|
/**
|
|
179
|
+
* By default, the value is parsed by the record's content type: `application/json` is parsed into a value,
|
|
180
|
+
* `text/*` and `application/*xml` are decoded to a string, and anything else is returned as a Buffer (Node.js)
|
|
181
|
+
* or ArrayBuffer (browser). A record whose body does not parse as its content type claims, such as a non-JSON
|
|
182
|
+
* string stored under `application/json`, makes the call throw an {@link InvalidResponseBodyError}, which
|
|
183
|
+
* carries the raw body in `error.response`.
|
|
184
|
+
*
|
|
164
185
|
* You can use the `buffer` option to get the value in a Buffer (Node.js)
|
|
165
|
-
* or ArrayBuffer (browser) format. In Node.js (not in browser) you can also
|
|
186
|
+
* or ArrayBuffer (browser) format, which skips the parsing. In Node.js (not in browser) you can also
|
|
166
187
|
* use the `stream` option to get a Readable stream.
|
|
167
188
|
*
|
|
168
189
|
* When the record does not exist, the function resolves to `undefined`. It does
|
|
169
|
-
* NOT resolve to a `
|
|
190
|
+
* NOT resolve to a `KeyValueStoreRecord` with an `undefined` value.
|
|
170
191
|
*
|
|
192
|
+
* @param key - The record key
|
|
193
|
+
* @param options - Retrieval options
|
|
194
|
+
* @param options.buffer - If `true`, the value is returned as a Buffer (Node.js) or ArrayBuffer (browser).
|
|
195
|
+
* @param options.stream - If `true`, the value is returned as a Readable stream. Node.js only.
|
|
196
|
+
* @param options.signature - Signature of a public URL, for reading a record without a token.
|
|
197
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
|
|
171
198
|
* @see https://docs.apify.com/api/v2/key-value-store-record-get
|
|
172
199
|
*/
|
|
173
200
|
getRecord(key: string): Promise<KeyValueStoreRecord<JsonValue> | undefined>;
|
|
@@ -179,19 +206,27 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
179
206
|
* The content type is automatically determined based on the value type, but can be
|
|
180
207
|
* overridden using the `contentType` property.
|
|
181
208
|
*
|
|
209
|
+
* A string is sent as it is, even under `application/json`, so a string stored under a JSON content type has
|
|
210
|
+
* to be valid JSON already, or {@link getRecord} fails to parse it back.
|
|
211
|
+
*
|
|
182
212
|
* **Note about streams:** If the value is a stream object (has `.pipe` and `.on` methods),
|
|
183
213
|
* the upload cannot be retried on failure or follow redirects. For reliable uploads,
|
|
184
214
|
* buffer the entire stream into memory first.
|
|
185
215
|
*
|
|
186
216
|
* @param record - The record to store
|
|
187
217
|
* @param record.key - Record key (unique identifier)
|
|
188
|
-
* @param record.value - Record value (
|
|
218
|
+
* @param record.value - Record value (a JSON-serializable value, Buffer, ArrayBuffer, typed array, or Readable)
|
|
189
219
|
* @param record.contentType - Optional MIME type. Auto-detected if not provided:
|
|
190
220
|
* - Objects: `'application/json; charset=utf-8'`
|
|
191
221
|
* - Strings: `'text/plain; charset=utf-8'`
|
|
192
|
-
* -
|
|
222
|
+
* - Binary values and streams: `'application/octet-stream'`
|
|
223
|
+
*
|
|
224
|
+
* Worth setting for media and archives: the client skips compressing a body
|
|
225
|
+
* whose content type already carries its own compression. The
|
|
226
|
+
* `'application/octet-stream'` fallback is treated as compressible, because
|
|
227
|
+
* it could hold any binary data.
|
|
193
228
|
* @param options - Storage options
|
|
194
|
-
* @param options.timeoutSecs - Timeout for the
|
|
229
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
|
|
195
230
|
* @param options.doNotRetryTimeouts - If `true`, don't retry on timeout errors. Default is `false`.
|
|
196
231
|
* @see https://docs.apify.com/api/v2/key-value-store-record-put
|
|
197
232
|
*
|
|
@@ -219,11 +254,13 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
219
254
|
* });
|
|
220
255
|
* ```
|
|
221
256
|
*/
|
|
222
|
-
setRecord(record: KeyValueStoreRecord<
|
|
257
|
+
setRecord(record: KeyValueStoreRecord<KeyValueStoreRecordValue>, options?: KeyValueStoreRecordOptions): Promise<void>;
|
|
223
258
|
/**
|
|
224
259
|
* Deletes a record from the key-value store.
|
|
225
260
|
*
|
|
226
261
|
* @param key - The record key to delete
|
|
262
|
+
* @param options - Request options
|
|
263
|
+
* @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
|
|
227
264
|
* @see https://docs.apify.com/api/v2/key-value-store-record-delete
|
|
228
265
|
*
|
|
229
266
|
* @example
|
|
@@ -231,7 +268,7 @@ export declare class KeyValueStoreClient extends ResourceClient {
|
|
|
231
268
|
* await client.keyValueStore('my-store').deleteRecord('temp-data');
|
|
232
269
|
* ```
|
|
233
270
|
*/
|
|
234
|
-
deleteRecord(key: string): Promise<void>;
|
|
271
|
+
deleteRecord(key: string, options?: TimeoutOptions): Promise<void>;
|
|
235
272
|
}
|
|
236
273
|
/**
|
|
237
274
|
* Options for updating a Key-Value Store.
|
|
@@ -250,8 +287,14 @@ export interface KeyValueClientUpdateOptions {
|
|
|
250
287
|
/**
|
|
251
288
|
* Options for listing keys in a Key-Value Store.
|
|
252
289
|
*/
|
|
253
|
-
export interface KeyValueClientListKeysOptions {
|
|
290
|
+
export interface KeyValueClientListKeysOptions extends TimeoutOptions {
|
|
254
291
|
limit?: number;
|
|
292
|
+
/**
|
|
293
|
+
* Maximum number of keys returned in one API response. When the call is iterated with `for await`, the iterator
|
|
294
|
+
* fetches keys in chunks of this size and yields them one by one, until `limit` is reached or the store has no
|
|
295
|
+
* more keys. Awaiting the call returns only the first chunk.
|
|
296
|
+
*/
|
|
297
|
+
chunkSize?: number;
|
|
255
298
|
exclusiveStartKey?: string;
|
|
256
299
|
collection?: string;
|
|
257
300
|
/**
|
|
@@ -266,17 +309,17 @@ export interface KeyValueClientListKeysOptions {
|
|
|
266
309
|
/**
|
|
267
310
|
* Options for creating a public URL to list keys in a Key-Value Store.
|
|
268
311
|
*
|
|
269
|
-
* Extends {@link KeyValueClientListKeysOptions} with URL expiration control, minus `
|
|
270
|
-
* method produces one).
|
|
312
|
+
* Extends {@link KeyValueClientListKeysOptions} with URL expiration control, minus `chunkSize` (it only sizes a
|
|
313
|
+
* client-side iteration) and `signature` (this method produces one).
|
|
271
314
|
* @since Added in 2.16.0
|
|
272
315
|
*/
|
|
273
|
-
export interface KeyValueClientCreateKeysUrlOptions extends Omit<KeyValueClientListKeysOptions, 'signature'> {
|
|
316
|
+
export interface KeyValueClientCreateKeysUrlOptions extends Omit<KeyValueClientListKeysOptions, 'chunkSize' | 'signature'> {
|
|
274
317
|
expiresInSecs?: number;
|
|
275
318
|
}
|
|
276
319
|
/**
|
|
277
320
|
* Options for retrieving a record from a Key-Value Store.
|
|
278
321
|
*/
|
|
279
|
-
export interface KeyValueClientGetRecordOptions {
|
|
322
|
+
export interface KeyValueClientGetRecordOptions extends TimeoutOptions {
|
|
280
323
|
buffer?: boolean;
|
|
281
324
|
stream?: boolean;
|
|
282
325
|
/**
|
|
@@ -284,6 +327,14 @@ export interface KeyValueClientGetRecordOptions {
|
|
|
284
327
|
*/
|
|
285
328
|
signature?: string;
|
|
286
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* A value that `setRecord` accepts.
|
|
332
|
+
*
|
|
333
|
+
* Anything JSON-serializable, or binary content the client uploads as bytes instead of JSON-encoding
|
|
334
|
+
* it: a `Buffer`, an `ArrayBuffer`, a typed array, or a readable stream. `Buffer` is a `Uint8Array`, so
|
|
335
|
+
* `TypedArray` covers it.
|
|
336
|
+
*/
|
|
337
|
+
export type KeyValueStoreRecordValue = JsonValue | ArrayBuffer | TypedArray | Readable;
|
|
287
338
|
/**
|
|
288
339
|
* Represents a record (key-value pair) in a Key-Value Store.
|
|
289
340
|
*
|
|
@@ -298,8 +349,7 @@ export interface KeyValueStoreRecord<T> {
|
|
|
298
349
|
* Options for storing a record in a Key-Value Store.
|
|
299
350
|
* @since Added in 2.12.4
|
|
300
351
|
*/
|
|
301
|
-
export interface KeyValueStoreRecordOptions {
|
|
302
|
-
timeoutSecs?: number;
|
|
352
|
+
export interface KeyValueStoreRecordOptions extends TimeoutOptions {
|
|
303
353
|
doNotRetryTimeouts?: boolean;
|
|
304
354
|
}
|
|
305
355
|
/**
|