OpenSearchの単価をlambdaで取得したい。

0

lambda内でboto3を利用してAWSのサービスの現在の単価を取得したい。
pricing_client = boto3.client('pricing', region_name='us-east-1')

●OpenSearchの単価を取得しようと思った時

  response = pricing_client.get_products(ServiceCode='AmazonOpenSearchService')

上記の時はresponseの中身は下記のようにPriceListが空欄である。

{'FormatVersion': 'aws_v1', 'PriceList': [],{'FormatVersion': 'aws_v1', 'PriceList': [],…}

● EC2の単価を取得しようと思った時

response = pricing_client.get_products(ServiceCode='AmazonEC2')

上記の時はreponseの中身は下記のようにPriceListの中身が確認可能である。

{'FormatVersion': 'aws_v1', 'PriceList': ['{"product":{"productFamily":"Compute Instance","a…}

OpenSearchの方は単価を取得できないのでしょうか。

yuuka_u
已提問 2 個月前檢視次數 507 次
2 個答案
1
已接受的答案

AWS CLIでAmazonOpenSearchServiceというサービスコードを探したのですが見つかりませんでした。
https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/price-list-query-api-find-services.html

aws pricing describe-services --region us-east-1 --query "Services"[]."ServiceCode" --service-code AmazonOpenSearchService

昔はAmazon Elasticsearchという名前だったのでその名残でAmazonESがサービスコードなのではないかと思います。
https://aws.amazon.com/jp/blogs/news/amazon-elasticsearch-service-is-now-amazon-opensearch-service-and-supports-opensearch-10/

以下のコマンドを実行すると結果が返ってくるのでサービスコードをAmazonESに変更して実行してみてください。

aws pricing describe-services --region us-east-1 --query "Services"[]."ServiceCode" --service-code AmazonES
[
    "AmazonES"
]
profile picture
專家
已回答 2 個月前
profile picture
專家
已審閱 1 個月前
0

Riku_Kobayashiさん、早速の回答ありがとうございます! AmazonESに変更したところ、無事PriceListの中身を取得することが出来ました!

とても早く解決できて、大変助かりました。ありがとうございました。

yuuka_u
已回答 2 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南