I ended up querying the cost management API using a resource ID filter to retrieve the information I need. This works for us because we use auto pool specifications for our batch jobs and we name the pools using a convention (so we know the pool ID based on the job ID). Here's what I'm doing if anybody needs to do the same.
{
"type": "ActualCost",
"dataSet": {
"granularity": "None",
"aggregation": {
"totalCost": {
"name": "Cost",
"function": "Sum"
}
},
"grouping": [
{
"type": "Dimension",
"name": "ResourceId"
}
],
"filter": {
"Dimensions": {
"Name": "ResourceId",
"Operator": "In",
"Values": [
"/subscriptions/{subscription_id}/resourcegroups/{resource_group}/providers/microsoft.batch/batchaccounts/{batch_account}/pools/{pool_id}"
]
}
}
}
}