---
title: "Object Storage Fetch Blob"
description: "read events from Storage blob byte range(s)"
source: "https://github.com/log-10x/modules/tree/main/pipelines/run/modules/input/objectStorage/query/object/module.yaml"
icon: "octicons/filter-24"
hidden: "true"

---
Fetch specified byte range(s) from an object storage container (e.g., AWS S3 bucket) to transform
into TenXObjects on which to perform a set of [actions](https://doc.log10x.com/run/input/objectStorage/query/#queryactions "YAML/JSON configuration of 'stream' runtime instances").

End-users do not commonly configure fetch object directly but instead use [queries](https://doc.log10x.com/run/input/objectStorage/query/ "Query an object storage container for events matching target criteria") to scan through a target container for matching byte ranges to fetch.

## :material-menu: Options

Specify the options below to [configure](/config "configure") multiple Object storage fetch blob:

|Name|Description|Category|
|---|---|---|
|[queryObjectQueryName](#queryobjectqueryname "logical name to give this query")|Logical name to give this query|General|
|[queryObjectPrintProgress](#queryobjectprintprogress "sets whether this input prints throughput stats to the console")|Sets whether this input prints throughput stats to the console|General|
|[queryObjectObjectStorageName](#queryobjectobjectstoragename "object storage logical name")|Object storage logical name|Container|
|[queryObjectContainer](#queryobjectcontainer "storage container of the target blob")|Storage container of the target blob|Container|
|[queryObjectIndexContainer](#queryobjectindexcontainer "object storage container containing index objects")|Object storage container containing index objects|Container|
|[queryObjectTarget](#queryobjecttarget "logical name identifying the origin of 'queryObjectTargetObject'")|Logical name identifying the origin of 'queryObjectTargetObject'|Container|
|[queryObjectTargetObject](#queryobjecttargetobject "the target object to retrieve from storage")|The target object to retrieve from storage|Container|
|[queryObjectByteRanges](#queryobjectbyteranges "array of byte ranges to fetch")|Array of byte ranges to fetch|Container|
|[queryObjectFilters](#queryobjectfilters "list of terms to search for")|List of terms to search for|Filter|
|[queryObjectFrom](#queryobjectfrom "beginning of the search time range (inclusive)")|Beginning of the search time range (inclusive)|Filter|
|[queryObjectTo](#queryobjectto "end of the search time range (exclusive)")|End of the search time range (exclusive)|Filter|
|[queryObjectObjectStorageArgs](#queryobjectobjectstorageargs "custom object storage args")|Custom object storage args|Advanced|
|[queryObjectID](#queryobjectid "unique ID of host query")|Unique ID of host query|Advanced|
|[queryObjectElapseTime](#queryobjectelapsetime "epoch after which processing times out")|Epoch after which processing times out|Advanced|

### General

#### :material-menu-right-outline:**`queryObjectQueryName`**

Logical name to give this query.

|Type|Required|Category|
|---|---|---|
|String|✔|General|

Specifies a logical name associated with the query.
This value identifies this query operation in aggregated metrics reports.


#### :material-menu-right-outline:**`queryObjectPrintProgress`**

Sets whether this input prints throughput stats to the console.

|Type|Default|Category|
|---|---|---|
|Boolean|false|General|

Sets whether this input prints throughput stats to the console
This value is commonly used when testing an integration to a remote endpoint.


### Container

#### :material-menu-right-outline:**`queryObjectObjectStorageName`**

Object storage logical name.

|Type|Required|Category|
|---|---|---|
|String|✔|Container|

Identifies the [object storage](https://doc.log10x.com/run/input/objectStorage#objectstorageccessclassname) against which this query is made (e.g., `AWS`).


#### :material-menu-right-outline:**`queryObjectContainer`**

Storage container of the target blob.

|Type|Required|Category|
|---|---|---|
|String|✔|Container|

Specifies the object storage container (e.g., AWS S3 bucket) of the target
blob (e.g., log file) byte range to fetch.


#### :material-menu-right-outline:**`queryObjectIndexContainer`**

Object storage container containing index objects.

|Type|Required|Category|
|---|---|---|
|String|✔|Container|

Specifies the object storage container (e.g., AWS S3 bucket)
name in which to store [TenXTemplate Filters](https://doc.log10x.com/run/input/objectStorage/index/#tenxtemplate-filters).


#### :material-menu-right-outline:**`queryObjectTarget`**

Logical name identifying the origin of 'queryObjectTargetObject'.

|Type|Required|Category|
|---|---|---|
|String|✔|Container|

Specifies the logical name used to store index objects produced by the index app.


#### :material-menu-right-outline:**`queryObjectTargetObject`**

The target object to retrieve from storage.

|Type|Required|Category|
|---|---|---|
|String|✔|Container|

Sets the name of the object (e.g., log file) to retrieve from [queryObjectContainer](https://doc.log10x.com/run/input/objectStorage/query/object/#queryobjectcontainer "storage container of the target blob").


#### :material-menu-right-outline:**`queryObjectByteRanges`**

Array of byte ranges to fetch.

|Type|Default|Category|
|---|---|---|
|List|\[\]|Container|

Defines an array of byte-range pairs (e.g., start1,length1..startN,lengthN)
to fetch from [queryObjectTargetObject](https://doc.log10x.com/run/input/objectStorage/query/object/#queryobjecttargetobject "the target object to retrieve from storage").

To learn more see [byte range fetches](https://docs.aws.amazon.com/whitepapers/latest/s3-optimizing-performance-best-practices/use-byte-range-fetches.html){target="\_blank"}.

If not set, fetch the entire object.


### Filter

#### :material-menu-right-outline:**`queryObjectFilters`**

List of terms to search for.

|Type|Default|Category|
|---|---|---|
|List|\[\]|Filter|

Specifies filtering logic for TenXObjects in this query object.
Combines both the querySearch (Bloom filter pre-filtering from storage) and queryFilters (in-memory JavaScript expressions) from the originating query.
This ensures consistent application of both storage-level and in-memory filtering.


#### :material-menu-right-outline:**`queryObjectFrom`**

Beginning of the search time range (inclusive).

|Type|Required|Category|
|---|---|---|
|Number|✔|Filter|

Defines the beginning of the search time range (inclusive)
expressed as a UNIX millisecond epoch value. This value commonly uses the
[now](https://doc.log10x.com/api/js/#TenXDate.now) function.

For example, setting this value to:

```yaml
queryObjectFrom: $=now("-1h")
````

express the value of one hour before the current millisecond epoch.


#### :material-menu-right-outline:**`queryObjectTo`**

End of the search time range (exclusive).

|Type|Required|Category|
|---|---|---|
|Number|✔|Filter|

Defines the end of the search time range expressed as an
UNIX millisecond epoch value (exclusive). This value commonly uses the [now](https://doc.log10x.com/api/js/#TenXDate.now)
function.


### Advanced

#### :material-menu-right-outline:**`queryObjectObjectStorageArgs`**

Custom object storage args.

|Type|Default|Category|
|---|---|---|
|List|\[\]|Advanced|

Custom arguments passed as a map to the constructor of the underlying [object storage](https://doc.log10x.com/run/input/objectStorage/query/object/#queryobjectobjectstoragename "object storage logical name").
This list is expected to hold pairs of key values (e.g., args: \[key1, value1, key2, value2\]).


#### :material-menu-right-outline:**`queryObjectID`**

Unique ID of host query.

|Type|Required|Category|
|---|---|---|
|String|✔|Advanced|

UUID of the query which has submitted this fetch request.


#### :material-menu-right-outline:**`queryObjectElapseTime`**

Epoch after which processing times out.

|Type|Required|Category|
|---|---|---|
|Number|✔|Advanced|

Epoch value which if exceeds the current system time will result in this request being cancelled.


<br/>:material-github: This module is defined in [object/module.yaml](https://github.com/log-10x/modules/tree/main/pipelines/run/modules/input/objectStorage/query/object/module.yaml "object/module.yaml"){target="\_blank"}.

