Anonymous
Программное получение цен Amazon на Fargate
Сообщение
Anonymous » 03 мар 2026, 10:21
Некоторое время я занимался разработкой такого промежуточного программного обеспечения на AWS. для работы этого промежуточного программного обеспечения необходимо провести некоторый анализ цен на aws Fargate, поскольку мы предполагаем, что наши проекты, использующие это промежуточное программное обеспечение, представляют собой дополнительные задачи.
Я просматривал документы aws и возился с AWS CLI и AWS SDK Java, но, несмотря ни на что, я не могу получить нужные мне цифры.
Сначала я попробовал:
Код: Выделить всё
Filter regionFilter = Filter.builder().type(FilterType.TERM_MATCH).field("regionCode").value(regionCode).build();
Filter productFamilyFilter = Filter.builder().type(FilterType.TERM_MATCH).field("productFamily").value("Compute Metering").build();
GetProductsRequest req = GetProductsRequest.builder()
.serviceCode("AmazonECS")
.filters(List.of(regionFilter, productFamilyFilter))
.build();
GetProductsResponse resp = pricing.getProducts(req);
Ответ, который я получил, был в некоторой степени верным, но с одним фатальным недостатком: единицы цены составляли 0,00000000.
Код: Выделить всё
{
"product" : {
"productFamily" : "Compute Metering",
"attributes" : {
"regionCode" : "ap-northeast-1",
"servicecode" : "AmazonECS",
"usagetype" : "APN1-ECS-EC2-GB-Hours",
"locationType" : "AWS Region",
"location" : "Asia Pacific (Tokyo)",
"servicename" : "Amazon Elastic Container Service",
"memorytype" : "perGB",
"operation" : ""
},
"sku" : "MDSNRAW9AM4H9JG5"
},
"serviceCode" : "AmazonECS",
"terms" : {
"OnDemand" : {
"MDSNRAW9AM4H9JG5.JRTCKXETXF" : {
"priceDimensions" : {
"MDSNRAW9AM4H9JG5.JRTCKXETXF.6YS6EN2CT7" : {
"unit" : "GB-Hours",
"endRange" : "Inf",
"description" : "USD 0.0 per GB-Hours for ECS-EC2-GB-Hours in Asia Pacific (Tokyo)",
"appliesTo" : [ ],
"rateCode" : "MDSNRAW9AM4H9JG5.JRTCKXETXF.6YS6EN2CT7",
"beginRange" : "0",
"pricePerUnit" : {
"USD" : "0.0000000000"
}
}
},
"sku" : "MDSNRAW9AM4H9JG5",
"effectiveDate" : "2026-02-01T00:00:00Z",
"offerTermCode" : "JRTCKXETXF",
"termAttributes" : { }
}
}
},
"version" : "20260216071830",
"publicationDate" : "2026-02-16T07:18:30Z"
}
Затем я попробовал обычное семейство продуктов Compute и получил взамен следующее:
Код: Выделить всё
{
"product": {
"productFamily": "Compute",
"attributes": {
"regionCode": "ap-southeast-3",
"servicecode": "AmazonECS",
"instanceType": "m6i.metal",
"usagetype": "APS4-ECS-Managed-Instances:m6i.metal-management-hours",
"locationType": "AWS Region",
"location": "Asia Pacific (Jakarta)",
"servicename": "Amazon Elastic Container Service",
"operation": "ECSManagedInstancesUsage"
},
"sku": "222V76S6DT6W55JX"
},
"serviceCode": "AmazonECS",
"terms": {
"OnDemand": {
"222V76S6DT6W55JX.JRTCKXETXF": {
"priceDimensions": {
"222V76S6DT6W55JX.JRTCKXETXF.6YS6EN2CT7": {
"unit": "hours",
"endRange": "Inf",
"description": "$0.9216 per hour for ECS-Managed-Instances:m6i.metal-management-hours in Asia Pacific (Jakarta)",
"appliesTo": [],
"rateCode": "222V76S6DT6W55JX.JRTCKXETXF.6YS6EN2CT7",
"beginRange": "0",
"pricePerUnit": {
"USD": "0.9216000000"
}
}
},
"sku": "222V76S6DT6W55JX",
"effectiveDate": "2026-02-01T00:00:00Z",
"offerTermCode": "JRTCKXETXF",
"termAttributes": {}
}
}
},
"version": "20260216071830",
"publicationDate": "2026-02-16T07:18:30Z"
}
и еще около 100 для разных управляемых экземпляров. Насколько я могу судить, у AWS есть веб-сайт, на котором указаны цены на Fargate, но я не смог найти для него API. Буду признателен за решение или рекомендации, что делать.
Заранее спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... mmatically
1772522511
Anonymous
Некоторое время я занимался разработкой такого промежуточного программного обеспечения на AWS. для работы этого промежуточного программного обеспечения необходимо провести некоторый анализ цен на aws Fargate, поскольку мы предполагаем, что наши проекты, использующие это промежуточное программное обеспечение, представляют собой дополнительные задачи. Я просматривал документы aws и возился с AWS CLI и AWS SDK Java, но, несмотря ни на что, я не могу получить нужные мне цифры. Сначала я попробовал: [code] Filter regionFilter = Filter.builder().type(FilterType.TERM_MATCH).field("regionCode").value(regionCode).build(); Filter productFamilyFilter = Filter.builder().type(FilterType.TERM_MATCH).field("productFamily").value("Compute Metering").build(); GetProductsRequest req = GetProductsRequest.builder() .serviceCode("AmazonECS") .filters(List.of(regionFilter, productFamilyFilter)) .build(); GetProductsResponse resp = pricing.getProducts(req); [/code] Ответ, который я получил, был в некоторой степени верным, но с одним фатальным недостатком: единицы цены составляли 0,00000000. [code]{ "product" : { "productFamily" : "Compute Metering", "attributes" : { "regionCode" : "ap-northeast-1", "servicecode" : "AmazonECS", "usagetype" : "APN1-ECS-EC2-GB-Hours", "locationType" : "AWS Region", "location" : "Asia Pacific (Tokyo)", "servicename" : "Amazon Elastic Container Service", "memorytype" : "perGB", "operation" : "" }, "sku" : "MDSNRAW9AM4H9JG5" }, "serviceCode" : "AmazonECS", "terms" : { "OnDemand" : { "MDSNRAW9AM4H9JG5.JRTCKXETXF" : { "priceDimensions" : { "MDSNRAW9AM4H9JG5.JRTCKXETXF.6YS6EN2CT7" : { "unit" : "GB-Hours", "endRange" : "Inf", "description" : "USD 0.0 per GB-Hours for ECS-EC2-GB-Hours in Asia Pacific (Tokyo)", "appliesTo" : [ ], "rateCode" : "MDSNRAW9AM4H9JG5.JRTCKXETXF.6YS6EN2CT7", "beginRange" : "0", "pricePerUnit" : { "USD" : "0.0000000000" } } }, "sku" : "MDSNRAW9AM4H9JG5", "effectiveDate" : "2026-02-01T00:00:00Z", "offerTermCode" : "JRTCKXETXF", "termAttributes" : { } } } }, "version" : "20260216071830", "publicationDate" : "2026-02-16T07:18:30Z" } [/code] Затем я попробовал обычное семейство продуктов Compute и получил взамен следующее: [code]{ "product": { "productFamily": "Compute", "attributes": { "regionCode": "ap-southeast-3", "servicecode": "AmazonECS", "instanceType": "m6i.metal", "usagetype": "APS4-ECS-Managed-Instances:m6i.metal-management-hours", "locationType": "AWS Region", "location": "Asia Pacific (Jakarta)", "servicename": "Amazon Elastic Container Service", "operation": "ECSManagedInstancesUsage" }, "sku": "222V76S6DT6W55JX" }, "serviceCode": "AmazonECS", "terms": { "OnDemand": { "222V76S6DT6W55JX.JRTCKXETXF": { "priceDimensions": { "222V76S6DT6W55JX.JRTCKXETXF.6YS6EN2CT7": { "unit": "hours", "endRange": "Inf", "description": "$0.9216 per hour for ECS-Managed-Instances:m6i.metal-management-hours in Asia Pacific (Jakarta)", "appliesTo": [], "rateCode": "222V76S6DT6W55JX.JRTCKXETXF.6YS6EN2CT7", "beginRange": "0", "pricePerUnit": { "USD": "0.9216000000" } } }, "sku": "222V76S6DT6W55JX", "effectiveDate": "2026-02-01T00:00:00Z", "offerTermCode": "JRTCKXETXF", "termAttributes": {} } } }, "version": "20260216071830", "publicationDate": "2026-02-16T07:18:30Z" } [/code] и еще около 100 для разных управляемых экземпляров. Насколько я могу судить, у AWS есть веб-сайт, на котором указаны цены на Fargate, но я не смог найти для него API. Буду признателен за решение или рекомендации, что делать. Заранее спасибо. Подробнее здесь: [url]https://stackoverflow.com/questions/79896922/fetching-amazons-fargate-pricing-programmatically[/url]