Dam*_*men 2 python amazon-ec2 amazon-web-services boto3
我正在尝试开始EC2 instance
使用boto3
。当我执行以下代码时,它可以正常工作
import boto3
ec2client = boto3.client('ec2')
class StartInstances:
def start_ec_instances(self):
response = ec2client.start_instances(InstanceIds=['i-XXXXXXXXXX'])
return
StartInstances().start_ec_instances()
Run Code Online (Sandbox Code Playgroud)
但是当我运行下面的代码时,我得到了
import boto3
ec2client = boto3.client('ec2')
class StartInstances:
def start_ec_instances(self, instanceid):
response = ec2client.start_instances(instanceid)
return
StartInstances().start_ec_instances('InstanceIds=[\'i-XXXXXXXXXX\']')
Run Code Online (Sandbox Code Playgroud)
追溯(最近一次通话):文件“ /Users/xxx/PycharmProjects/ctm-scripting-utils/ec2/start_instances.py”,第25行,位于StartInstances()。start_ec_instances(“ InstanceIds = [\'i-XXXXXXXXXX \ ']“)文件” /Users/xxx/PycharmProjects/ctm-scripting-utils/ec2/start_instances.py“,第11行,位于start_ec_instances响应= ec2client.start_instances(instanceids)文件” / Users / xxx / Library / Python / _api_call中的3.6 / lib / python / site-packages / botocore / client.py“,第310行,”%s()仅接受关键字参数。“ %py_operation_name)TypeError:start_instances()仅接受关键字参数。
更多关于Python的问题。您正在尝试通过string
:'InstanceIds=[\'i-XXXXXXXXXX\']'
而不是kwargs
:InstanceIds=[..]
。一种可能的解决方法是:
class StartInstances:
def start_ec_instances(self, instanceid):
response = ec2client.start_instances(InstanceIds=[instanceid])
return
StartInstances().start_ec_instances('i-XXXXXXXXXX')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2734 次 |
最近记录: |