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