[英]Python Boto S3 to work with Custom Domains in Amazon S3
我如何在S3中使用Python Boto庫,它生成的URL將是我的CNAME到Amazon S3服務器的子域。
默認情況下,它使用默認格式BUCKETNAME.s3.amazonaws.com,但S3支持使用CNAME的自定義域別名(因此您可以使用custom.domain.com-> CNAME-> custom.domain.com.s3.amazonaws.com,其中“ “ custom.domain.com”是存儲桶。AWS 文檔
我看到boto庫具有boto.s3.connection.SubdomainCallingFormat和類boto.s3.connection.VHostCallingFormat ...
任何人都知道如何設置boto.s3,其中生成URL是針對我自己的自定義域的,而不是默認域的?
完成此操作后,我編寫的以下代碼片段會將URL的內容打印到密鑰中的所有文件中:
import sys
import boto.s3
from boto.s3.connection import VHostCallingFormat
from boto.s3.connection import S3Connection
def main():
access_key = "<AWS_ACCESS_KEY>"
secret_key = "<AWS_SECRET_KEY>"
bucket = "custom.domain.com"
# assuming you have your files organized with keys
key_prefix = "css"
key_prefix = key_prefix + "/"
conn = S3Connection(access_key, secret_key, calling_format=VHostCallingFormat())
bucket = conn.get_bucket(bucket)
# get all the keys with the prefix 'css/' inside said bucket
keys = bucket.get_all_keys(prefix=key_prefix)
for k in keys:
print k.generate_url(3600, query_auth=False, force_http=True)
# output:
# http://custom.domain.com/css/ie.css
# http://custom.domain.com/css/print.css
# http://custom.domain.com/css/screen.css
# http://custom.domain.com/css/style.min.css
if __name__ == '__main__':
main()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.