private void create(String rowKey, String tableName, String state, Object type)
      throws IOException {
    try {

      CloudTable table = tableClient.getTableReference(tableName);

      String serializedJob = configuration.getMapper().writeValueAsString(type);
      DataWrapper wrapper =
          new DataWrapper(
              configuration.getPartitionKey(), rowKey, state, serializedJob); // job id used as key
      TableOperation insert = TableOperation.insert(wrapper);
      table.execute(insert);
    } catch (JsonProcessingException | StorageException | URISyntaxException e) {
      throw new IOException("Error creating data for rowKey: " + rowKey, e);
    }
  }
Uses the Azure Cosmos DB Table Storage API to persist job data.
extensions/cloud/portability-cloud-microsoft/src/main/java/org/datatransferproject/cloud/microsoft/cosmos/AzureTableStore.java