Python aws boto路由53为桶添加别名

Python aws boto路由53为桶添加别名,python,amazon-web-services,boto,Python,Amazon Web Services,Boto,我正在编写一个脚本,创建一个网站bucket,然后将dns条目分配给它 我不知道如何将正确的别名记录分配给apex,使其指向bucket 此函数用于接收r53连接、区域对象和带有bucket对象的dict。它尝试将适当的记录添加到区域 我如何正确地创建将转发到bucket的dns条目 请注意,www bucket向前移动到顶点 def创建网站记录(r53、区域、存储桶): records=r53.get\u all\u rrset(zone.id) 更改=记录。添加更改('CREATE',zon

我正在编写一个脚本,创建一个网站bucket,然后将dns条目分配给它

我不知道如何将正确的别名记录分配给apex,使其指向bucket

此函数用于接收r53连接、区域对象和带有bucket对象的dict。它尝试将适当的记录添加到区域

我如何正确地创建将转发到bucket的dns条目

请注意,www bucket向前移动到顶点

def创建网站记录(r53、区域、存储桶):
records=r53.get\u all\u rrset(zone.id)
更改=记录。添加更改('CREATE',zone.name',A',别名\u hosted\u zone\u id=bucket['apex']))
更改。添加值(“%s”%bucket['apex']。获取网站\u端点()
更改=记录。添加更改('CREATE','www.+zone.name','CNAME'))
change.add_值(“%s”%bucket['www'].get_website_endpoint())
commit()记录
退货记录

显然,您无法通过api获取bucket的托管区域id

您必须手动设置托管分区(您可以查找它们)

我的方法最终是这样的:

def create_website_records(r53,zone,buckets):
  records = r53.get_all_rrsets(zone.id)
  change = records.add_change('CREATE', zone.name,    'A',alias_hosted_zone_id='Z3AQBSTGFYJSTF',alias_dns_name='s3-website-us-east-1.amazonaws.com')
  change.add_value('ALIAS s3-website-us-east-1.amazonaws.com (Z3AQBSTGFYJSTF)')
  change = records.add_change('CREATE', 'www.' + zone.name, 'CNAME')
  change.add_value('%s' % buckets['www'].get_website_endpoint())
  records.commit()
  return records