Skip to content

Commit

Permalink
error handling
Browse files Browse the repository at this point in the history
Signed-off-by: Eric <[email protected]>
  • Loading branch information
mengweieric committed Apr 30, 2024
1 parent 1e7fdc1 commit 7b59823
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 23 deletions.
2 changes: 1 addition & 1 deletion common/constants/data_sources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,4 @@ export const SPARK_PARTITION_INFO = `# Partition Information`;
export const OBS_DEFAULT_CLUSTER = 'observability-default'; // prefix key for generating data source id for default cluster in data selector
export const OBS_S3_DATA_SOURCE = 'observability-s3'; // prefix key for generating data source id for s3 data sources in data selector
export const S3_DATA_SOURCE_GROUP_DISPLAY_NAME = 'Amazon S3'; // display group name for Amazon-managed-s3 data sources in data selector
export const S3_DATA_SOURCE_GROUP_SPARK_DISPLAY_NAME = 'OpenSearch Spark'; // display group name for OpenSearch-spark-s3 data sources in data selector
export const S3_DATA_SOURCE_GROUP_SPARK_DISPLAY_NAME = 'Spark'; // display group name for OpenSearch-spark-s3 data sources in data selector
53 changes: 31 additions & 22 deletions public/plugin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -396,33 +396,42 @@ export class ObservabilityPlugin
const { dataSourceService, dataSourceFactory } = startDeps.data.dataSources;
dataSourceFactory.registerDataSourceType(S3_DATA_SOURCE_TYPE, S3DataSource);

const getDataSourceTypeLabel = (type: string) => {
if (type === DATA_SOURCE_TYPES.S3Glue) return S3_DATA_SOURCE_GROUP_DISPLAY_NAME;
if (type === DATA_SOURCE_TYPES.SPARK) return S3_DATA_SOURCE_GROUP_SPARK_DISPLAY_NAME;
return `${type.charAt(0).toUpperCase()}${type.slice(1)}`;
};

// register all s3 datasources
const registerDataSources = () => {
core.http.get(`${DATACONNECTIONS_BASE}`).then((s3DataSources) => {
s3DataSources.map((s3ds) => {
dataSourceService.registerDataSource(
dataSourceFactory.getDataSourceInstance(S3_DATA_SOURCE_TYPE, {
id: htmlIdGenerator(OBS_S3_DATA_SOURCE)(DATA_SOURCE_TYPES.S3Glue),
name: s3ds.name,
type: s3ds.connector.toLowerCase(),
metadata: {
...s3ds.properties,
ui: {
label: s3ds.name,
typeLabel:
s3ds.connector.toLowerCase() === DATA_SOURCE_TYPES.S3Glue
? S3_DATA_SOURCE_GROUP_DISPLAY_NAME
: S3_DATA_SOURCE_GROUP_SPARK_DISPLAY_NAME,
groupType: s3ds.connector.toLowerCase(),
selector: {
displayDatasetsAsSource: false,
try {
core.http.get(`${DATACONNECTIONS_BASE}`).then((s3DataSources) => {
[...s3DataSources, { name: 'myspark', connector: 'spark', properties: {} }].map(
(s3ds) => {
dataSourceService.registerDataSource(
dataSourceFactory.getDataSourceInstance(S3_DATA_SOURCE_TYPE, {
id: htmlIdGenerator(OBS_S3_DATA_SOURCE)(),
name: s3ds.name,
type: s3ds.connector.toLowerCase(),
metadata: {
...s3ds.properties,
ui: {
label: s3ds.name,
typeLabel: getDataSourceTypeLabel(s3ds.connector.toLowerCase()),
groupType: s3ds.connector.toLowerCase(),
selector: {
displayDatasetsAsSource: false,
},
},
},
},
},
})
})
);
}
);
});
});
} catch (error) {
console.error('Error registering S3 datasources', error);
}
};

dataSourceService.registerDataSourceFetchers([
Expand Down

0 comments on commit 7b59823

Please sign in to comment.