Avila, a 31-year-old from Hialeah, Florida, has played in nine Major League Baseball seasons and was a 2011 All-Star Game selection as a member of the Detroit Tigers. He had a .239 batting average with 14 home runs and 49 RBIs in a combined 112 games with the Tigers and Chicago Cubs last season.
Avila's best MLB year came during his 2011 All-Star season, when he hit .295 with 19 home runs, 33 doubles and 82 RBIs for the Tigers. Avila was also a Silver Slugger award winner that year.
FOX Sports writer Ken Rosenthal reported Avila's deal is worth a total of $8.25 million.
In a corresponding move, the D-backs designated outfielder Rey Fuentes for assignment.