boto3附加卷投掷卷不可用
Posted
技术标签:
【中文标题】boto3附加卷投掷卷不可用【英文标题】:botot3 attach_volume throwing volume not available 【发布时间】:2019-09-16 00:34:09 【问题描述】:我正在尝试使用 boto3 将卷附加到实例,但它未能附加并出现以下错误
文件“/usr/local/lib/python3.7/site-packages/botocore/client.py”,第 357 行,在 _api_call 中 return self._make_api_call(operation_name, kwargs) _make_api_call 中的文件“/usr/local/lib/python3.7/site-packages/botocore/client.py”,第 661 行 raise error_class(parsed_response, operation_name) botocore.exceptions.ClientError: 调用 AttachVolume 操作时发生错误 (IncorrectState): vol-xxxxxxxxxxxxxxx is not 'available'。
我可以看到 aws 控制台中存在卷,但不知何故 boto3 无法附加卷。
os.environ['AWS_DEFAULT_REGION'] = "us-west-1"
client = boto3.client('ec2', aws_access_key_id=access_key, aws_secret_access_key=secret_key,
region_name='us-west-1')
response1 = client.attach_volume(
VolumeId=volume_id,
InstanceId=instance_id,
Device='/dev/sdg',
)
在导出 AWS_DEFAULT_REGION="us-west-1"
还尝试使用 os.environ['AWS_DEFAULT_REGION'] = "us-west-1" 在 python 脚本中导出相同内容,但 python 脚本失败并出现与上述相同的错误。
【问题讨论】:
你是如何创建卷的?你能按照here 的方式运行client.describe_volume_status(volume_id)
并发布结果吗?
【参考方案1】:
我想通了。创建 ebs 卷后我没有给足够的时间。添加睡眠后我现在可以附加了
【讨论】:
以上是关于boto3附加卷投掷卷不可用的主要内容,如果未能解决你的问题,请参考以下文章
使用boto3 Python SDK返回AWS EC2可用性区域属性