我有在lambda中运行的代码,但在我的系统上无法运行。
asgName="test"
def lambda_handler(event, context):
client = boto3.client('autoscaling')
asgName="test"
response = client.describe_auto_scaling_groups(AutoScalingGroupNames=[asgName])
if not response['AutoScalingGroups']:
return 'No such ASG'
...
...
...
我下面的代码我尝试在linux上运行,但提示错误“ No such ASG”
asgName="test"
client = boto3.client('autoscaling')
response = client.describe_auto_scaling_groups(AutoScalingGroupNames=[asgName])
if not response['AutoScalingGroups']:
return 'No such ASG'
答案 0 :(得分:0)
首先要检查的是您正在连接到正确的AWS区域。如果未指定,则默认为us-east-1
(弗吉尼亚北部)。也可以在凭据文件中指定区域。
在代码中,您可以使用以下方式指定区域:
client = boto3.client('autoscaling', region_name = 'us-west-2')
接下来要检查的是凭据与正确的帐户相关联。 AWS Lambda函数显然已在所需的帐户中运行,但是您应确认“在linux中运行”的代码正在使用相同的AWS帐户。
您可以使用AWS Command-Line Interface (CLI)来执行此操作,该命令将使用与Linux计算机上的Python代码相同的凭据。运行:
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names test
其结果应与在该计算机上运行的Python代码相同。
您可能需要指定区域:
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names test --region us-west-2
(当然,请更改您的区域。)