创建的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')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java本机方法的源代码可用吗?   java如何使父方法抛出异常?   java Android以编程方式设置不同屏幕大小/密度的布局   java如何使用一个变量来管理所有客户端请求   java输入一个txt文件,每行有一组数字   json java从jsonobject获取jsonarray错误   java将一个(WAV)写入一个文件只会说一个单词(最后一个单词)   java Telnet忽略原始字节   proguard java。运行桌面应用程序时出现lang.VerifyError   java用左键移动JLabel?   java如何在jText区域验证选项卡?   文件服务器客户端Javasocket编程中的字符串搜索   java省略了JSTL中的最后一个逗号<c:out>   java如何找到if或else代码已执行的次数?   java JavaScript WebSocket send()方法未执行   浮点数声明上的java标识符预期错误   java这是指二进制搜索算法吗?   编译mod at:reobfJar java时的minecraft问题。util。拉链ZipException:重复条目   java检测特定的震动运动(如图所示:D)