azure-kusto-ingest
Version:
Azure Data Explorer Ingestion SDK
60 lines • 2.92 kB
TypeScript
import { Client } from "azure-kusto-data";
import { TableClient } from "@azure/data-tables";
export declare enum ResourceType {
Queue = 0,
Container = 1,
Table = 2
}
export declare class ResourceURI {
readonly uri: string;
readonly accountName: string;
readonly resourceType: ResourceType;
constructor(uri: string, accountName: string, resourceType: ResourceType);
}
export declare class IngestClientResources {
readonly securedReadyForAggregationQueues: ResourceURI[] | null;
readonly failedIngestionsQueues: ResourceURI[] | null;
readonly successfulIngestionsQueues: ResourceURI[] | null;
readonly containers: ResourceURI[] | null;
readonly statusTables: ResourceURI[] | null;
constructor(securedReadyForAggregationQueues?: ResourceURI[] | null, failedIngestionsQueues?: ResourceURI[] | null, successfulIngestionsQueues?: ResourceURI[] | null, containers?: ResourceURI[] | null, statusTables?: ResourceURI[] | null);
valid(): boolean;
}
export declare class ResourceManager {
readonly kustoClient: Client;
readonly isBrowser: boolean;
readonly refreshPeriod: number;
refreshPeriodOnError: number;
ingestClientResources: IngestClientResources | null;
ingestClientResourcesLastUpdate: number | null;
authorizationContext: string | null;
authorizationContextLastUpdate: number | null;
private baseSleepTimeSecs;
private baseJitterSecs;
private rankedStorageAccountSet;
constructor(kustoClient: Client, isBrowser?: boolean);
refreshIngestClientResources(): Promise<IngestClientResources>;
getIngestClientResourcesFromService(): Promise<IngestClientResources>;
getResourceByName(table: {
rows: () => any;
}, resourceName: string, resourceType: ResourceType): ResourceURI[];
pupulateStorageAccounts(): void;
groupResourcesByStorageAccount(resources: ResourceURI[]): Map<string, ResourceURI[]>;
getRankedAndShuffledStorageAccounts(resources: ResourceURI[]): ResourceURI[][];
getRoundRobinRankedAndShuffledResources(resources: ResourceURI[]): ResourceURI[];
refreshAuthorizationContext(): Promise<string>;
tryRefresh(isAuthContextFetch: boolean): Promise<Error | null>;
getAuthorizationContextFromService(): Promise<string>;
getIngestionQueues(): Promise<ResourceURI[] | null>;
getFailedIngestionsQueues(): Promise<ResourceURI[] | null>;
getSuccessfulIngestionsQueues(): Promise<ResourceURI[] | null>;
getContainers(): Promise<ResourceURI[] | null>;
getAuthorizationContext(): Promise<string>;
getStatusTables(): Promise<ResourceURI[] | null>;
createStatusTable(): Promise<TableClient>;
close(): void;
reportResourceUsageResult(accountName: string, success: boolean): void;
}
export declare const createStatusTableClient: (uri: string) => TableClient;
export default ResourceManager;
//# sourceMappingURL=resourceManager.d.ts.map