我正在使用 API 获取 ec2 现货价格历史记录,但除了过去 90 天左右之外,我什么也得不到,也无法指定观察频率。有没有办法获得完整的现货价格历史,最好以分钟或每小时的频率?
3 回答
虽然没有为DescribeSpotPriceHistory API 操作明确记录,但至少在AWS 管理控制台(依次使用该 API)中提到了此限制,请参阅查看现货价格历史记录:
您可以根据实例类型、您希望实例运行的操作系统、时间段以及将在其中启动实例的可用区,查看 1 到 90 天的 Spot 价格历史记录。
- 因为自从这个 API 可用以来,任何人都可以检索和记录整个现货价格历史记录(毫无疑问,很多用户和研究人员已经这样做了;甚至 AWS 博客也列出了一些专门的第三方 AWS 跟踪站点,但这些都是乍一看全部失效),这个限制无疑似乎有点武断,但从严格的操作角度来看肯定是务实的,即您拥有未来投标所需的所有信息(尤其是考虑到 AWS 只降低了价格)到目前为止,并且经常这样做,实际上让客户很高兴)。
同样,没有更改频率的选项,因此您需要使用客户端代码进行每小时聚合。
该网站对某些地区的 EC2 现货价格历史进行了重新采样,您可以直接从 Python 脚本通过简单的 API 访问它们:
http://ec2-spot-prices.ai-mmo-games.de/
我希望这有帮助。
AWS 仅提供 90 天的历史记录。并且数据是原始的,即没有按小时甚至分钟标准化。所以有时数据中存在漏洞。
一种方法是将数据吸入 ipython 笔记本并使用 pandas 优秀的时间序列工具按分钟或 5 分钟等重新采样。这是一个简短的教程:
https://medium.com/cloud-upprising/the-data-science-of-aws-spot-pricing-8bed655caed2
以下是有关使用 pandas 进行时间序列重采样的更多详细信息:
http://pandas.pydata.org/pandas-docs/stable/timeseries.html
希望有帮助...