2017-08-02 21 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。