Skip to main content

DockerContainersDataSource

Functionality to work with Docker containers. See help: https://datagrok.ai/help/develop/how-to/docker_containers.

Extends

Constructors

new DockerContainersDataSource()

new DockerContainersDataSource(s): DockerContainersDataSource

Parameters

ParameterType
sany

Returns

DockerContainersDataSource

Overrides

HttpDataSource . constructor

Source

src/dapi.ts:969

Properties

PropertyTypeInherited from
clsNamestringHttpDataSource.clsName
dartanyHttpDataSource.dart

Methods

allPackageVersions()

allPackageVersions(): HttpDataSource <DockerContainer>

Turns off package versions isolation. This DataSource will return all entities in all versions, not only the current one *

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . allPackageVersions

Source

src/dapi.ts:344


by()

by(i): HttpDataSource <DockerContainer>

Parameters

ParameterType
inumber

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . by

Source

src/dapi.ts:349


count()

count(): Promise<number>

Counts entities that satisfy the filtering criteria (see filter). See examples: https://public.datagrok.ai/js/samples/dapi/projects-list Smart filter: https://datagrok.ai/help/datagrok/smart-search

Returns

Promise<number>

Inherited from

HttpDataSource . count

Source

src/dapi.ts:314


delete()

delete(e): Promise<void>

Deletes an entity.

Parameters

ParameterType
eEntity

Returns

Promise<void>

Inherited from

HttpDataSource . delete

Source

src/dapi.ts:339


fetchProxy()

fetchProxy(containerId, path, params?): Promise<Response>

Proxies URL requests to Docker containers via Datagrok server with the same interface as fetch. Returns response from the containers as it is. If an error occurs on the server side returns a response with "application/json" Content-Type and JSON body with field "datagrok-error" that describes the cause. If container status is incorrect for performing requests returns a response with a 400 status code. If something goes wrong in the server workflow, it returns a response with a 500 status code. Any other cases are the result of direct requests to the container itself.

Parameters

ParameterTypeDescription
containerIdstringID of the DockerContainer to which the http request should be sent.
pathstringURI without scheme and authority component.
params?RequestInitparameters of the request.

Returns

Promise<Response>

Source

src/dapi.ts:1006


filter()

filter(w): HttpDataSource <DockerContainer>

Applies filter to current request. Also can be set with list method "options" parameter See example: https://public.datagrok.ai/js/samples/dapi/projects-list Smart filter: https://datagrok.ai/help/datagrok/navigation/views/browse#entity-search

Parameters

ParameterTypeDescription
wstring

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . filter

Source

src/dapi.ts:375


find()

find(id): Promise <DockerContainer>

Returns an entity with the specified id. Throws an exception if an entity does not exist, or is not accessible in the current context. Sample: https://public.datagrok.ai/js/samples/data-access/save-and-load-df

Parameters

ParameterTypeDescription
idstringGUID of the corresponding object

Returns

Promise <DockerContainer>

{Promise<object>} - entity.

Inherited from

HttpDataSource . find

Source

src/dapi.ts:329


first()

first(): Promise <DockerContainer>

Returns fist entity that satisfies the filtering criteria (see filter).

Returns

Promise <DockerContainer>

Promise<object>

Inherited from

HttpDataSource . first

Source

src/dapi.ts:320


getContainerLogs()

getContainerLogs(containerId, limit): Promise<null | string>

Returns container's logs or throws Exception with the cause.

Parameters

ParameterTypeDefault valueDescription
containerIdstringundefinedID of the DockerContainer whose logs is to be obtained.
limitnumber10000maximum line count of logs.

Returns

Promise<null | string>

string - container logs or null if there are no logs.

Source

src/dapi.ts:1127


include()

include(include): HttpDataSource <DockerContainer>

Includes entity in the result

Parameters

ParameterTypeDescription
includestring

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . include

Source

src/dapi.ts:392


list()

list(options): Promise <DockerContainer[]>

Returns all entities that satisfy the filtering criteria (see filter). See examples: https://public.datagrok.ai/js/samples/dapi/projects-list Smart filter: https://datagrok.ai/help/datagrok/smart-search

Parameters

ParameterType
optionsobject
options.filter?string
options.order?string
options.pageNumber?number
options.pageSize?number

Returns

Promise <DockerContainer[]>

Inherited from

HttpDataSource . list

Source

src/dapi.ts:299


nextPage()

nextPage(): HttpDataSource <DockerContainer>

Returns next page of all entities that satisfy the filtering criteria (see filter). Works only if pageSize was set during previous list() call See examples: https://public.datagrok.ai/js/samples/dapi/projects-list

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . nextPage

Source

src/dapi.ts:364


order()

order(fieldName, desc): HttpDataSource <DockerContainer>

Instructs data source to return results in the specified order.

Parameters

ParameterTypeDefault valueDescription
fieldNamestringundefined
descbooleanfalse

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . order

Source

src/dapi.ts:384


page()

page(i): HttpDataSource <DockerContainer>

Restricts results to the specified page number. See also nextPage.

Parameters

ParameterType
inumber

Returns

HttpDataSource <DockerContainer>

Inherited from

HttpDataSource . page

Source

src/dapi.ts:355


run()

run(containerId, awaitStart): Promise<void>

Runs container.

Parameters

ParameterTypeDefault valueDescription
containerIdstringundefinedID of the DockerContainer to be run.
awaitStartbooleanfalseif [true] promise will not be resolved until the container is started, otherwise, it doesn't wait for start and resolves immediately after the container is queued for start.

Returns

Promise<void>

  • promise that resolves with void or throws Exception if something went wrong.

Source

src/dapi.ts:980


save()

save(e): Promise <DockerContainer>

Saves an entity.

Parameters

ParameterType
eEntity

Returns

Promise <DockerContainer>

Inherited from

HttpDataSource . save

Source

src/dapi.ts:334


stop()

stop(containerId, awaitStop): Promise<void>

Stops container.

Parameters

ParameterTypeDefault valueDescription
containerIdstringundefinedID of the DockerContainer to be stopped.
awaitStopbooleanfalseif [true] promise will not be resolved until the container is stopped, otherwise, it doesn't wait for a stop and resolves immediately after the container is queued for a stop.

Returns

Promise<void>

or throws Exception if something went wrong.

Source

src/dapi.ts:991


webSocketProxy()

webSocketProxy(containerId, path, timeout): Promise<WebSocket>

Proxies WebSocket connection to Docker containers via Datagrok server. Returns ready WebSocket that is connected through the server to the Docker container WebSocket endpoint. If container status is incorrect or there is error while establishing WebSocket connection to Docker container, caller will receive an error. After the WebSocket is returned, caller can do anything with it and should take care of reconnection. After the caller closes the connection, server will close proxied Docker WebSocket connection.

Parameters

ParameterTypeDefault valueDescription
containerIdstringundefinedID of the DockerContainer to which the WebSocket connection will be established.
pathstringundefinedURI without scheme and authority component that points to endpoint inside the Docker container
timeoutnumber60000Timeout in ms for initial connection establishment. Set it to higher values if you are using container with on_demand configuration set to true.

Returns

Promise<WebSocket>

Source

src/dapi.ts:1023


webSocketProxySync()

webSocketProxySync(containerId, path, timeout): WebSocket

This is the synchronous version of the function webSocketProxy. Note that the container won't be ready to accept messages immediately after this function returns. If your application logic requires sending a message right away, consider using the asynchronous version.

Parameters

ParameterTypeDefault valueDescription
containerIdstringundefinedID of the DockerContainer to which the WebSocket connection will be established.
pathstringundefinedURI without scheme and authority component that points to endpoint inside the Docker container
timeoutnumber60000Timeout in ms for initial connection establishment. Set it to higher values if you are using container with on_demand configuration set to true.

Returns

WebSocket

Source

src/dapi.ts:1078