Last active
December 22, 2015 19:09
-
-
Save tkoki/6518144 to your computer and use it in GitHub Desktop.
botoを使ってCloudFrontのsigned URLを発行する。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import boto, time | |
''' | |
@param[in] aws_access_key_id AWSアカウントのアクセスキーID | |
@param[in] aws_secret_access_key AWSアカウントのシークレットキー | |
@param[in] keypair_id CloudFrontキーペアID | |
@param[in] keypair_file CloudFrontキーペアファイル | |
@param[in] cf_distribution_id CloudFrontディストリビューションID | |
@param[in] s3_object_name 公開したいS3オブジェクトのキー | |
@param[in] expires_in_seconds CloudFrontで公開する期間を秒で指定 | |
@retval 署名されたURL | |
''' | |
def create_cf_signed_url(aws_access_key_id, | |
aws_secret_access_key, | |
keypair_id, keypair_file, | |
cf_distribution_id, | |
s3_object_name, | |
expires_in_seconds): | |
conn = boto.connect_cloudfront(aws_access_key_id, aws_secret_access_key) | |
distro_config = conn.get_distribution_config(cf_distribution_id) | |
distro_info = conn.get_distribution_info(cf_distribution_id) | |
distro = boto.cloudfront.distribution.Distribution(connection=conn, | |
config=distro_config, | |
domain_name=distro_info.domain_name, | |
id=cf_distribution_id, | |
last_modified_time=None, | |
status='Active') | |
url = 'http://' + distro.domain_name + '/' + s3_object_name | |
expire = time.time() + expires_in_seconds | |
return distro.create_signed_url(url=url, | |
keypair_id=keypair_id, | |
expire_time=long(expire), | |
private_key_file=keypair_file) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment