Smart contracts can not directly call external data like you want it to happen. To call the external data from smart contracts, you need to make use of web3js or similar API to make transaction with the external source whenever you want the data to be updated.
Note: If you are using a private chain then make sure that all the machines involved have access to the private chain.