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