in ingest/src/main/java/com/microsoft/azure/kusto/ingest/IngestionProperties.java [215:262]
Map<String, String> getIngestionProperties() throws IOException {
Map<String, String> fullAdditionalProperties = new HashMap<>();
if (!dropByTags.isEmpty() || !ingestByTags.isEmpty() || !additionalTags.isEmpty()) {
List<String> tags = new ArrayList<>();
if (!additionalTags.isEmpty()) {
tags.addAll(additionalTags);
}
if (!ingestByTags.isEmpty()) {
for (String t : ingestByTags) {
tags.add(String.format("%s%s", "ingest-by:", t));
}
}
if (!dropByTags.isEmpty()) {
for (String t : dropByTags) {
tags.add(String.format("%s%s", "drop-by:", t));
}
}
ObjectMapper objectMapper = Utils.getObjectMapper();
String tagsAsJson = objectMapper.writeValueAsString(tags);
fullAdditionalProperties.put("tags", tagsAsJson);
}
if (!ingestIfNotExists.isEmpty()) {
ObjectMapper objectMapper = Utils.getObjectMapper();
String ingestIfNotExistsJson = objectMapper.writeValueAsString(ingestIfNotExists);
fullAdditionalProperties.put("ingestIfNotExists", ingestIfNotExistsJson);
}
fullAdditionalProperties.putAll(additionalProperties);
fullAdditionalProperties.put("format", dataFormat.getKustoValue());
fullAdditionalProperties.put("ignoreFirstRecord", Boolean.toString(ignoreFirstRecord));
String mappingReference = ingestionMapping.getIngestionMappingReference();
if (StringUtils.isNotBlank(mappingReference)) {
fullAdditionalProperties.put("ingestionMappingReference", mappingReference);
fullAdditionalProperties.put("ingestionMappingType", ingestionMapping.getIngestionMappingKind().getKustoValue());
} else if (ingestionMapping.getColumnMappings() != null) {
ObjectMapper objectMapper = Utils.getObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE);
objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
String mapping = objectMapper.writeValueAsString(ingestionMapping.getColumnMappings());
fullAdditionalProperties.put("ingestionMapping", mapping);
fullAdditionalProperties.put("ingestionMappingType", ingestionMapping.getIngestionMappingKind().getKustoValue());
}
return fullAdditionalProperties;
}