2017-08-02 63 views
0

我想在python中使用boto3库创建一个Microsoft AD。我能够从AWS控制台创建它,但是当我尝试使用,当我从控制台试过我用同样的价值观从我的脚本做到这一点,它失败,出现以下错误:Boto3 DirectoryService:create_microsoft_ad失败

botocore.errorfactory.ClientException: An error occurred (ClientException) when calling the CreateMicrosoftAD operation: Invalid VPC ID. : RequestId: <id> 

异常响应具有400的HTTP状态代码。

我有访问密钥保存在本地为其提及的here用于Windows的方式,它所属的用户对于CreateMicrosoftAD具有提及here的权限。 (由于这是一个测试设置,我已经给用户完全访问。)

该脚本下面给出:

import boto3 
client = boto3.client('ds', region_name='us-west-2') 
response = client.create_microsoft_ad(
    Name='test1.test2.com', 
    ShortName='test1', 
    Password='TestPassword1', 
    Description='test description', 
    VpcSettings={ 
     'VpcId': 'vpc-1234abcd', 
     'SubnetIds': [ 
     'subnet-1235abcd', 
     'subnet-1236abcd' 
     ] 
    } 
) 

我的VPC和子网ID此处添加模拟值,但我在控制台中验证了我使用可用VPC和子网的ID。 create_microsoft_ad调用按照提及的here完成。

我不确定我是否缺少IAM用户设置或脚本中的步骤。请让我知道是否需要提供更多信息。谢谢!

+1

可能在AWS控制台中,您使用的是与“us-west-2”不同的区域。或者Boto3使用错误的凭据。请参阅:http://boto3.readthedocs.io/en/latest/guide/configuration.html以配置凭证。你使用的是“Boto2”。 – helloV

+0

我尝试在boto3.client调用中对凭据进行硬编码,我仍然收到相同的错误。但改变该地区的工作。谢谢! – nahzor

回答

1

正是在AWS控制台可能,您使用的不同的区域从us-west-2

或者Boto3使用错误的凭据。请参阅:Configuring Credentials以配置凭证。你使用的是Boto2。