ExternalIntegration¶
Usage
use ExternalIntegration;
or
import ExternalIntegration;
- const eiLogger = new Logger(logLevel, logChannel)¶
- const CURLOPT_VERBOSE: CURLoption¶
libcurl C constants required to configure the Curl core
of HttpChannel objects.
- const CURLOPT_USERNAME: CURLoption¶
- const CURLOPT_PASSWORD: CURLoption¶
- const CURLOPT_USE_SSL: CURLoption¶
- const CURLOPT_SSLCERT: CURLoption¶
- const CURLOPT_SSLKEY: CURLoption¶
- const CURLOPT_KEYPASSWD: CURLoption¶
- const CURLOPT_SSLCERTTYPE: CURLoption¶
- const CURLOPT_CAPATH: CURLoption¶
- const CURLOPT_CAINFO: CURLoption¶
- const CURLOPT_URL: CURLoption¶
- const CURLOPT_HTTPHEADER: CURLoption¶
- const CURLOPT_POSTFIELDS: CURLoption¶
- const CURLOPT_CUSTOMREQUEST: CURLoption¶
- const CURLOPT_FAILONERROR: CURLoption¶
- const CURLINFO_RESPONSE_CODE: CURLoption¶
- const CURLOPT_SSL_VERIFYPEER: CURLoption¶
- enum SystemType { KUBERNETES, REDIS, CONSUL, NONE }¶
Enum specifies the type of external system Arkouda will integrate with.
- enum constant KUBERNETES¶
- enum constant REDIS¶
- enum constant CONSUL¶
- enum constant NONE¶
- enum ChannelType { STDOUT, FILE, HTTP }¶
Enum describing the type of channel used to write to an
external system.
- enum constant STDOUT¶
- enum constant FILE¶
- enum constant HTTP¶
- enum ServiceEndpoint { ARKOUDA_CLIENT, METRICS }¶
Enum specifies if the service endpoint is the Arkouda client or metrics
socket
- enum constant ARKOUDA_CLIENT¶
- enum constant METRICS¶
- enum HttpRequestType { POST, PUT, PATCH, DELETE }¶
Enum specifies the request type used to write to an external system
via HTTP.
- enum constant POST¶
- enum constant PUT¶
- enum constant PATCH¶
- enum constant DELETE¶
- enum HttpRequestFormat { TEXT, JSON, MULTIPART }¶
Enum specifies the request format used to write to an external system
via HTTP.
- enum constant TEXT¶
- enum constant JSON¶
- enum constant MULTIPART¶
- proc getConnectHostIp() throws¶
Retrieves the host ip address of the locale 0 arkouda_server process, which is
useful for registering Arkouda with cloud environments such as Kubernetes.
- class Channel¶
Base class defining the Arkouda Channel interface consisting of a
write method that writes a payload to an external system.
- proc write(payload: string) throws¶
- class FileChannel: Channel¶
The FileChannel class writes a payload out to a file, either by appending
or overwriting an existing file or creating and writing to a new file.
- var path: string¶
- var append: bool¶
- proc init(path: string, append: bool)¶
- override proc write(payload: string) throws¶
- class HttpChannel: Channel¶
The HttpChannel class writes a payload out to an HTTP endpoint
in a configurable format via a configurable request type.
- var url: string¶
- var requestType: HttpRequestType¶
- var requestFormat: HttpRequestFormat¶
- proc init(url: string, requestType: HttpRequestType, requestFormat: HttpRequestFormat)¶
- proc configureChannel(channel) throws¶
- proc generateHeader(channel) throws¶
- override proc write(payload: string) throws¶
Writes the payload out to an HTTP/S endpoint in a format specified
by the requestFormat instance attribute via the request type
specified in the requestType instance attribute.
- class HttpsChannel: HttpChannel¶
The HttpChannel class writes a payload out to an HTTPS endpoint
in a configurable format via a configurable request type.
- var caCert: string¶
- var token: string¶
- proc init(url: string, requestType: HttpRequestType, requestFormat: HttpRequestFormat, caCert: string, token: string)¶
- override proc configureChannel(channel) throws¶
Overridden proc adds token TLS configuration
- override proc generateHeader(channel) throws¶
Overridden proc adds TLS token to the HTTPS header
- proc registerWithKubernetes(appName: string, serviceName: string, servicePort: int, targetServicePort: int) throws¶
Registers Arkouda with Kubernetes by creating a Kubernetes Service–and an Endpoints
if Arkouda is deployed outside of Kubernetes–to enable service discovery of Arkouda
from applications deployed within Kubernetes.
- proc deregisterFromKubernetes(serviceName: string) throws¶
Removes the Kubernetes Service and, if applicable, Endpoints that compose the
service endpoint that enables access to Arkouda deployed within or outside of
Kubernetes from applications deployed within Kubernetes
- proc getKubernetesRegistrationParameters(serviceEndpoint: ServiceEndpoint) throws¶
- proc getKubernetesDeregisterParameters(serviceEndpoint: ServiceEndpoint) throws¶
- proc registerWithExternalSystem(appName: string, endpoint: ServiceEndpoint) throws¶
Registers Arkouda with an external system on startup, defaulting to none.
- proc deregisterFromExternalSystem(endpoint: ServiceEndpoint) throws¶
Deregisters Arkouda from an external system upon receipt of shutdown command