创建的Python库使使用BunnyCDN构建更容易
bunnyhop的Python项目详细描述
邦尼霍普
用于BunnyCDN的Python库
状态
仅文档阶段
安装
pip install bunnyhop
入门
^{pr2}$拉动区
获得牵引区
zone=b.Zone.get(id='myzone')#Returns: <Zone: myzone >
创建拉动区域
b.Zone.create(Name='myzone',Type=0,# 0 = Standard and 1 = High VolumeOriginUrl='https://example.org',StorageZoneId='storage-zone-id')
列出拉动区域
b.Zone.list()
更新拉动区域
b.Zone.update(id='zone-id',#Positional ArgumentOriginUrl='http://example.org',AllowedReferrers=['app.example.org','www.example.org'],BlockedIps=['122.33.22.11'],EnableCacheSlice=False,EnableGeoZoneUS=True,EnableGeoZoneEU=True,EnableGeoZoneASIA=True,EnableGeoZoneSA=True,EnableGeoZoneAF=True,ZoneSecurityEnabled=True,ZoneSecurityIncludeHashRemoteIP=True,IgnoreQueryStrings=True,MonthlyBandwidthLimit=1073741824,AccessControlOriginHeaderExtensions=['jpg','png'],EnableAccessControlOriginHeader=True,BlockRootPathAccess=True,EnableWebpVary=True,EnableLogging=True,DisableCookies=False,BudgetRedirectedCountries=['RU','BR'],BlockedCountries=['RU','BR'],EnableOriginShield=True,OriginShieldZoneCode='FR',AddCanonicalHeader=0,CacheControlMaxAgeOverride=-1,AddHostHeader=True,AWSSigningEnabled=True,AWSSigningKey='AK_EXAMPLEKEY',AWSSigningRegionName='us-east-1',AWSSigningSecret='SK_EXAMPLESECRETKET',EnableTLS1=True,EnableTLS1_1=True)# From Zone objectzone.update(OriginUrl='http://example.org',AllowedReferrers=['app.example.org','www.example.org'],BlockedIps=['122.33.22.11'],EnableCacheSlice=False,EnableGeoZoneUS=True,EnableGeoZoneEU=True,EnableGeoZoneASIA=True,EnableGeoZoneSA=True,EnableGeoZoneAF=True,ZoneSecurityEnabled=True,ZoneSecurityIncludeHashRemoteIP=True,IgnoreQueryStrings=True,MonthlyBandwidthLimit=1073741824,AccessControlOriginHeaderExtensions=['jpg','png'],EnableAccessControlOriginHeader=True,BlockRootPathAccess=True,EnableWebpVary=True,EnableLogging=True,DisableCookies=False,BudgetRedirectedCountries=['RU','BR'],BlockedCountries=['RU','BR'],EnableOriginShield=True,OriginShieldZoneCode='FR',AddCanonicalHeader=0,CacheControlMaxAgeOverride=-1,AddHostHeader=True,AWSSigningEnabled=True,AWSSigningKey='AK_EXAMPLEKEY',AWSSigningRegionName='us-east-1',AWSSigningSecret='SK_EXAMPLESECRETKET',EnableTLS1=True,EnableTLS1_1=True)
删除拉动区域
#From top-levelb.Zone.delete(id='myzone')#From Zone objectzone.delete()
从拉动区域清除文件
# From top-levelb.Purge.create(url='https://myzone.b-cdn.net/css/style.css')# From Zone Objectzone.purge_file('css/style.css')
吹扫整个拉动区
# From top-levelb.Zone.purge(id='myzone')# From Zone objectzone.purge()
将边缘规则添加到拉动区域
b.Zone.create_edge_rule(id='myzone',Guid="6a2e94df-8aa9-4cd2-b89d-16752102ef9f",# GUID of the edge ruleActionParameter1="My-Header",ActionParameter2="HeaderValue",Enabled=True,Description="My header value",ActionType=0,# 0 = ForceSSL, 1 = Redirect, 2 = OriginUrl, 3 = OverrideCacheTime, 4 = BlockRequest, 5 = SetResponseHeader, 6 = SetRequestHeader, 7 = ForceDownload, 8 = DisableTokenAuthentication, 9 = EnableTokenAuthenticationTriggerMatchingType=1Triggers=[])
储存
存储区
创建存储区域
# Create a Storage Zone (available regions are listed below)b.Storage.create(name='example-a',main_storage_region='NY',replica_regions=['DE','SG','SYD'])# Returns: <StorageZone: example-a (id: 1234)>
存储区域
- 欧洲(法尔肯斯坦)
- 纽约-北美(纽约)
- SG-亚洲(新加坡)
- 悉尼-大洋洲(悉尼)
列出存储区域
b.Storage.all()# Returns: [<StorageZone: example-a (id: 1234)>, <StorageZone: example-b (id: 12345)>]
删除存储区域
b.Storage.delete(1234)# Returns: None
获取存储区域
zone=b.Storage.get(1234)# Returns: <StorageZone: example-a (id: 1234)>
存储文件
# Get a Storage Zonezone=b.StorageZone.get(1234)# Returns: <StorageZone: example-a (id: 1234)># Lists files in the zoneobj_list=zone.all()# Returns [<StorageFile: index.html>, <StorageFile: base.css>]# Get a fileobj=zone.get('index.html')#Returns <StorageFile: index.html># Download that Fileobj.download()# Delete a filezone.delete('index.html')# Upload a Filezone.upload_file(dest_path='folder/path/error.html',local_path='/home/mj/work/error.html')# Returns: <StorageFile: error.html># Create a file from a stringzone.create_file('base.css',"body {background-color: powderblue;}")# Returns: <StorageFile: base.css>
存储JSON文件
# Create a json filemj=zone.create_json('23.json',{'first_name':'Michael','last_name':'Jordan'})# Returns <StorageJSONFile: 23.json># Get information from filemj['first_name']# Returns: 'Michael'
吹扫
创建清除
# Purge a zone or fileb.Purge.create(url='https://myzone.b-cdn.net/style.css')
统计
b.Stats.get(dateFrom='2018-12-01',dateTo='2020-01-01',pullZone='example-zone',serverZoneId='serverZoneID')
帐单
获取账单摘要
b.Billing.get()
应用代码
b.Billing.applycode(couponCode='somecode123')
- 项目
标签: