Python 2.7 使用无服务器获取实例';s状态
我是无服务器框架的新手,我想获得一个实例的状态,所以我使用了boto3Python 2.7 使用无服务器获取实例';s状态,python-2.7,amazon-web-services,amazon-ec2,boto3,serverless-framework,Python 2.7,Amazon Web Services,Amazon Ec2,Boto3,Serverless Framework,我是无服务器框架的新手,我想获得一个实例的状态,所以我使用了boto3descripe-instance-status(),但我不断得到错误,我没有被授权执行这种操作,尽管我拥有对所有aws服务的管理员访问权限;请帮助,我是否需要更改或添加要识别的内容 这是我的密码: import json import boto3 import logging import sys #setup simple logging for INFO logger = logging.getLogger() log
descripe-instance-status()
,但我不断得到错误,我没有被授权执行这种操作,尽管我拥有对所有aws服务的管理员访问权限;请帮助,我是否需要更改或添加要识别的内容
这是我的密码:
import json
import boto3
import logging
import sys
#setup simple logging for INFO
logger = logging.getLogger()
logger.setLevel(logging.INFO)
from botocore.exceptions import ClientError
def instance_status(event, context):
"""Take an instance Id and return its status"""
#print "ttot"
body = {}
status_code = 200
client = boto3.client('ec2')
response = client.describe_instance_status(InstanceIds=['i-070ad071'])
return response
这是我的serverless.yml文件
service: ec2
provider:
name: aws
runtime: python2.7
timeout: 30
memorySize: 128
stage: dev
region: us-east-1
iamRoleStatements:
- Effect: "Allow"
Action:
- "ec2:DescribeInstanceStatus"
Resource: "*"
functions:
instance_status:
handler: handler.instance_status
description: Status ec2 instances
events:
- http:
path: ''
method: get
下面是我收到的错误消息:
“errorType”:“ClientError”,“errorMessage”:“发生错误”
(未经授权的操作)调用DescribeInstanceStatus时
操作:您无权执行此操作。“
您无权执行此操作
这意味着您无权执行此操作客户端。请描述\u实例\u状态
有一些方法可以使您的功能获得正确的权限:
serverless.yaml
中的provider
部分,添加以下内容:
iamRoleStatements:
- Effect: Allow
Action:
- ec2:DescribeInstanceStatus
Resource: <insert your resource here>
IAM角色声明:
-效果:允许
行动:
-ec2:描述安装状态
资源:
参考资料:您正在使用lambda?您的lambda的IAM角色使用什么?该IAM角色具有执行EC2资源的权限?仔细检查此角色的权限。我没有指定角色,是否可以在serverless.yml中执行此操作?witch角色是使用Bot3 Library最方便的角色。请共享您的IAM策略随角色一起使用。我确实在aws控制台中手动更改了角色,以便在Bot3上进行访问,它在aws控制台中工作正常,但当我使用http端点测试它时,它会给我{“消息”:“内部服务器错误”}因此,我认为我需要在serverless.yml文件中添加一些内容,但不知道如何使用serverless执行此操作。我做了同样的事情,但不知道为什么我不断收到相同的错误。请更新原始问题中的
serverless.yml
。可能资源
不正确?还是缩进?我刚做了,如果不是太多要求,你能检查一下它是否正确。你重新部署了吗?在部署期间或调用HTTP端点时,何时会出现错误?仔细检查Lambda控制台中的内容。我在调用http端点时出错,在Lambda控制台中,它运行正常,我得到实例的状态没有问题,我检查了配置区域,我有以下角色: