# system.kanoa.quality.config.updateDataSource(attrInfo, userId)

Updates an attributeDataSource. All attrInfo keys are required.

---
### Parameters
**attrInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - assetId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - attributeDataSourceId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - attributeId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - enabled</td><td>Boolean</td><td></td></tr>	
 	<tr><td> - ignoreZeroValues</td><td>Boolean</td><td></td></tr>	
 	<tr><td> - scaleFactor</td><td>Float</td><td></td></tr>	
 	<tr><td> - sourceTagPath</td><td>String</td><td></td></tr>	
	</tbody>
</table>

**userId** `Integer`: Id of user executing the function<br />

---
### Returns
**# of records modified** `Integer`<br />
**msg** `String` None if success<br />

---
### Example
```python
attrInfo = {
                'attributeDataSourceId': 7, 
                'attributeId': 3, 
                'assetId': 5, 
                'sourceTagPath': 'some tag path', 
                'scaleFactor': 1.0, 
                'ignoreZeroValues': True, 
                'enabled': True
           }
userId = 5
retVal, msg = system.kanoa.quality.config.updateDataSource(attrInfo, userId)
```
