diff --git a/api-service/src/services/CloudServices/AWSStorageService.ts b/api-service/src/services/CloudServices/AWSStorageService.ts index d83b65b1..61e6f627 100644 --- a/api-service/src/services/CloudServices/AWSStorageService.ts +++ b/api-service/src/services/CloudServices/AWSStorageService.ts @@ -16,10 +16,14 @@ export class AWSStorageService implements ICloudService { const accessKeyId = _.get(config, "identity") const secretAccessKey = _.get(config, "credential") const endpoint = _.get(config, "endpoint") + const s3ForcePathStyle = _.get(config, "s3ForcePathStyle") const configuration: any = { region, credentials: { accessKeyId, secretAccessKey } } if(endpoint) { configuration.endpoint = endpoint; } + if (s3ForcePathStyle) { + configuration.s3ForcePathStyle = s3ForcePathStyle; + } try { this.client = new S3Client(configuration); } diff --git a/api-service/src/services/TableGenerator.ts b/api-service/src/services/TableGenerator.ts index 7030ad95..661a3919 100644 --- a/api-service/src/services/TableGenerator.ts +++ b/api-service/src/services/TableGenerator.ts @@ -58,7 +58,7 @@ class BaseTableGenerator { const properties = this.flattenSchema(denormDataset.data_schema, type); const transformProps = _.map(properties, (prop) => { _.set(prop, "name", _.join([denormField.denorm_out_field, prop.name], ".")); - _.set(prop, "expr", _.replace(prop.expr, "$", "$." + denormField.denorm_out_field)); + _.set(prop, "expr", _.replace(prop.expr, "$", "$." + `['${denormField.denorm_out_field}']`)); return prop; }); dataFields.push(...transformProps); @@ -66,7 +66,7 @@ class BaseTableGenerator { } if (!_.isEmpty(transformations_config)) { const transformationFields = _.map(transformations_config, (tf) => ({ - expr: "$." + tf.field_key, + expr: "$." + `['${tf.field_key}']`, name: tf.field_key, data_type: tf.transformation_function.datatype, arrival_format: tf.transformation_function.datatype,