为什么我必须在每次通话时更改CallerReference?

时间:2016-01-06 22:58:40

标签: amazon-web-services amazon-route53 boto3

我有这个Python + boto3。此代码运行正常,并创建名为 test 的托管区域。但是,当我再次使用新名称​​ test2 运行相同的代码块时,我还必须将CallerReference更改为某个唯一值,在下面的代码中它将是从awsbuilder5到awsbuilder6等。 如果我不这样做,我会收到此错误:

  

调用CreateHostedZone操作时发生错误(HostedZoneAlreadyExists):已使用指定的调用者引用创建了托管区域。

代码在这里:

response = client.create_hosted_zone (
  Name = 'test',
  VPC={
   'VPCRegion': 'us-east-1',
   'VPCId': 'vpc-958122f0'
  }, 
  CallerReference='awsbuilder5',
  HostedZoneConfig={
   'Comment': 'Test',
  }
 )

1 个答案:

答案 0 :(得分:2)

来自文档,CallerReference:

  

标识请求且允许失败的唯一字符串   创建托管区域请求以便在没有风险的情况下重试   执行两次操作。您必须使用唯一的CallerReference   每次创建托管区域时都会生成字符串。

http://docs.aws.amazon.com/cli/latest/reference/route53/create-hosted-zone.html