Как определить, сколько стоит отдельная работа?
Есть ли способ узнать, сколько стоит индивидуальная учебная работа?
Я вижу ежедневные / почасовые расходы на панели инструментов выставления счетов, которая является хорошим прокси. Я также посмотрел отчет об использовании, но не нашел способа добавить значения UsageValues и не увидел тегов, попадающих в отчет об использовании.
1 ответ
Когда вы вызываете вызов API DescribeTrainingJob, вы получаете следующие значения: TrainingStartTime и TrainingEndTime. Вам выставлен счет за промежуток времени между этими временами.
Теперь вам нужно получить следующие два значения для завершения расчета стоимости в ResourceConfig (в том же выводе вызова API): InstanceType и InstanceCount.
Наконец, вы можете запросить API ценообразования для используемого вами InstanceType и получить цену для региона, в котором вы работаете.
import boto3
pricing_client = boto3.client('pricing', region_name='us-east-1')
filterValue = instanceType + "-Training"
response = pricing_client.get_products(
ServiceCode='AmazonSageMaker',
Filters=[
{
'Type': 'TERM_MATCH',
'Field': 'instanceType',
'Value': filterValue
},
]
)
## TODO: fix this line to take the right region and not the first
python_dict = json.loads(response['PriceList'][0])
pricePerHour = next(iter(next(iter(python_dict['terms']['OnDemand'].values()))["priceDimensions"].values()))["pricePerUnit"]['USD']
return float(pricePerHour)