我不确定如何使用以下命令在AWS EC2中显示实例名称 boto3
这是我的一些代码:
import boto3
ec2 = boto3.resource('ec2', region_name='us-west-2')
vpc = ec2.Vpc("vpc-21c15555")
for i in vpc.instances.all():
print(i)
我得到的回报是
...
...
...
ec2.Instance(id='i-d77ed20c')
我可以更改i
为i.id
or,i.instance_type
但尝试时name
会得到:
AttributeError: 'ec2.Instance' object has no attribute 'name'
获取实例名称的正确方法是什么?
可能还有其他方法。但是从您的代码角度来看,以下方法应该起作用。
>>> for i in vpc.instances.all():
... for tag in i.tags:
... if tag['Key'] == 'Name':
... print tag['Value']
如果您想使用Python强大的列表理解功能,可以使用一种划线员解决方案:
inst_names = [tag['Value'] for i in vpc.instances.all() for tag in i.tags if tag['Key'] == 'Name']
print inst_names
我的目标是能够使用boto3运行Python程序来访问DynamoDB,而无需任何本地配置。我一直在关注这个AWS文档https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html)使用“IAM角色”选项似乎是可行的https://boto3.amazonaws.com/v1/documentatio
我正在使用下面的python boto3代码来启动Ec2 当实例处于运行状态时,我可以通过运行此lambda来停止实例。 但当实例处于停止状态并且我运行Lambda时,我会得到下面的消息,它不会显示任何错误。但当我签入控制台时,实例仍然处于停止状态。我无法找出实例为什么没有进入运行阶段。实例状态=80个实例id为i-06ce851edfXXXXXX的已启动实例 下面是使用的IAM角色
问题内容: com.amazonaws.services.ec2是否包含从现有AMI创建全新EC2实例的方法?我希望通过Java SDK而不是Web管理控制台来执行此操作。 问题答案: RunInstances是方法,它应该在SDK中。
我试图从我的windows 7机器RDP到EC2实例,但是总是得到 远程桌面无法连接到这些原因之一的远程Comupter 1.)未启用远程桌面到服务器 2.)远程计算机已关闭 3.) 远程计算机在网络上不可用。 我能够RDP其他EC2实例。另外,作为一种解决方法,我能够从其他EC2机器(而不是从我的windows7机器和网络上的其他机器)将RDP映射到subject实例中。 检查了RDP工作和RD
我无法ping与之关联公共IP的EC2实例。在发布之前,我阅读了Cannot-ping AWS EC2实例。这没有帮助: 以下是我如何设置的: 我使用所有默认值创建了一个新的AmazonLinuxt2.micro实例。 创建后,它在 EC2 |实例|实例。 所以我去了EC2|NETWORK 我返回EC2|INSTANCES|INSTANCES,IPv4 Public IP列显示了我刚刚创建的地址。
我做错了什么?我可以通过aws cli以及boto(如果我使用): 我想做的是:我有很多AWS帐户,我的脚本需要在其中运行。我厌倦了每次需要在不同的配置文件/角色上运行脚本时都键入mfa。 我收到以下代码的错误消息: 我们的AWS是这样设置的:我是一个用户,是管理帐户组的一部分。该组与每个帐户上的角色\u建立了信任关系。 下面是我的python: 这是我的配置 根据第一次回复进行编辑: 要清楚,如
这是个新手问题。求求你,忍耐我。 我试图按照官方教程使用AWS SDK for JAVA创建一个实例。当谈到密钥对部分时,我会感到困惑: 通过这样做,我如何使用aws cli连接到我使用SDK创建的实例,我指的是如何定位。pem文件(如果它确实存在的话)。在使用代码创建ec2实例并通过aws cli管理它方面,我的逻辑是正确的吗?还是应该以相同的方式?!