in azure-kusto-ingest/azure/kusto/ingest/ingestion_properties.py [0:0]
def is_valid(self, kind: IngestionMappingKind) -> (bool, List[str]):
if not self.column:
return False, ["Column name is required"]
results = []
needed_props = self.NEEDED_PROPERTIES[kind]
if all(prop not in self.properties for prop in needed_props):
results.append(f"{kind} needs at least one of the required properties: {needed_props}")
if self.properties.get(self.TRANSFORMATION_METHOD):
if (self.properties.get(self.PATH) or self.properties.get(self.FIELD_NAME)) and self.properties.get(
self.TRANSFORMATION_METHOD
) in self.CONSTANT_TRANSFORMATION_METHODS:
results.append(
f"When specifying {self.PATH} or {self.FIELD_NAME}, {self.TRANSFORMATION_METHOD} must not be one of "
f"{','.join(str(x) for x in self.CONSTANT_TRANSFORMATION_METHODS)}, not {self.properties.get(self.TRANSFORMATION_METHOD)}."
)
if (not self.properties.get(self.PATH) and not self.properties.get(self.FIELD_NAME)) and self.properties.get(
self.TRANSFORMATION_METHOD
) not in self.CONSTANT_TRANSFORMATION_METHODS:
results.append(
f"When not specifying {self.PATH} or {self.FIELD_NAME}, {self.TRANSFORMATION_METHOD} must be one of"
f" {','.join(str(x) for x in self.CONSTANT_TRANSFORMATION_METHODS)}, not {self.properties.get(self.TRANSFORMATION_METHOD)}."
)
return not bool(results), results