如何从云端分发中检索 ActiveTrustedSigners 列表?

How to retrieve a list of ActiveTrustedSigners from a cloudfront distribution?

我想我无法理解 boto3 文档。

我基本上想为每个云端分发检索 ActiveTrustedSigners 的列表。

从此处的文档 http://boto.cloudhackers.com/en/latest/ref/cloudfront.html#module-boto.cloudfront.signers 我知道 class ActiveTrustedSigners。

但是我如何从分发中检索它?

这是代码

import boto
import os

from boto.cloudfront import CloudFrontConnection

def main():
    KEY_ID = os.environ['CF_KEY_ID']
    SECRET = os.environ['CF_SECRET']

    cnn = CloudFrontConnection(KEY_ID, SECRET)
    for dist in cnn.get_all_distributions():
        print dist.ActiveTrustedSigners()  # AttributeError: 'DistributionSummary' object has no attribute 'ActiveTrustedSigners'

我在这里得到了 'AttributeError'。那么我如何从 DistributionSummaryActiveTrustedSigners.

的列表

原来我可以从 DistributionSummary 得到 Distribution 对象,然后我可以从那里查询 active_signers

这是最终版本

import os

from boto.cloudfront import CloudFrontConnection

def main():
    KEY_ID = os.environ['CF_KEY_ID']
    SECRET = os.environ['CF_SECRET']

    cnn = CloudFrontConnection(KEY_ID, SECRET)
    for dist_summary in cnn.get_all_distributions():
        dist = dist_summary.get_distribution()
        if dist.active_signers:
            for signer in dist.active_signers:
                print signer.key_pair_ids


if __name__ == '__main__':
    main()