Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果python(django)应用程序正在EC2中运行,我如何使用boto进行检查?_Python_Django_Amazon Web Services_Boto - Fatal编程技术网

如果python(django)应用程序正在EC2中运行,我如何使用boto进行检查?

如果python(django)应用程序正在EC2中运行,我如何使用boto进行检查?,python,django,amazon-web-services,boto,Python,Django,Amazon Web Services,Boto,我目前有一个部署到EC2的django应用程序。我打算在使用boto.utils时添加一些额外的日志信息,以获取实例id之类的信息。但是,在本地运行代码时,对boto.utils.get_instance_metadata()['instance-id']的调用只是挂起,而不是返回无或空字符串 我似乎无法在boto中看到是否有标志或函数来检查您是否在EC2上 有人知道吗 谢谢 检查元数据服务器是否存在是我所知道的检测是否在EC2实例上运行的最好(唯一?)方法。get\u instance\u m

我目前有一个部署到EC2的django应用程序。我打算在使用boto.utils时添加一些额外的日志信息,以获取实例id之类的信息。但是,在本地运行代码时,对boto.utils.get_instance_metadata()['instance-id']的调用只是挂起,而不是返回无或空字符串

我似乎无法在boto中看到是否有标志或函数来检查您是否在EC2上

有人知道吗


谢谢

检查元数据服务器是否存在是我所知道的检测是否在EC2实例上运行的最好(唯一?)方法。
get\u instance\u metadata
函数接受两个可选参数,您可以提供这些参数来控制超时和重试策略。例如:

>>> boto.utils.get_instance_metadata(timeout=1, num_retries=1)
{}
>>>

将使用一秒钟的
超时时间
,然后重试一次。如果希望调用更快地返回,还可以将
num_retries
指定为零。但是请注意,在实际的EC2实例上,您偶尔会收到失败的请求,因此至少重试一次会更安全。

谢谢您的帮助-非常棒!