2

botoを使用して自動スケーリングの起動構成を作成しようとしていますが、block_device_mappingsを定義する方法がわかりません。

次のようなコードスナップショット:

dev_sdf = boto.ec2.blockdevicemapping.EBSBlockDeviceType(snapshot_id = self.sna_data.id)
bdm = boto.ec2.blockdevicemapping.BlockDeviceMapping()
bdm['/dev/sdf'] = dev_sdf

lc = launchconfig.LaunchConfiguration(connection = self.as_conn,
                                      name = lc_name,
                                      image_id = self.ami.id,
                                      instance_type = self.instance_type,
                                      key_name = AWS_KEY_NAME,
                                      security_groups = self.security_groups,
                                      spot_price = self.price,
                                      block_device_mappings = [bdm])
self.as_conn.create_launch_configuration(lc)

しかし、私は得ました:

boto.exception.BotoServerError: BotoServerError: 400 Bad Request
<ErrorResponse xmlns="http://autoscaling.amazonaws.com/doc/2011-01-01/">
  <Error>
    <Type>Sender</Type>
    <Code>ValidationError</Code>
    <Message>1 validation error detected: Value null at 'blockDeviceMappings.1.member.deviceName' failed to satisfy constraint: Member must not be null</Message>
  </Error>
  <RequestId>7289473c-7bc1-11e2-a07c-93de372a2cc0</RequestId>
</ErrorResponse>

block_device_mappingsをどのように定義する必要がありますか?

4

1 に答える 1

1

マッピングをロードするコードが機能するとは思えません。

デバイス マッピングを適切にプルする必要がある boto コードに対してプル リクエストを作成しました。

https://github.com/pasc/boto/tree/bdm_for_autoscaling_groups

于 2013-02-26T12:48:46.687 に答える