2
0

kvs.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. # -*- encoding:utf-8 -*-
  2. from kscore.kvs import getKvsClient
  3. import json
  4. import time
  5. #没有配置kscore.cfg调用方式
  6. ks_access_key_id='xxxxx'
  7. ks_secret_access_key='xxxxxx'
  8. # 参数:服务service_name,大区region_name
  9. client = getKvsClient("kvs", "cn-beijing-6",use_ssl=False,ks_access_key_id=ks_access_key_id,ks_secret_access_key=ks_secret_access_key)
  10. #配置kscore.cfg调用方式
  11. #client = getKvsClient("kvs", "cn-beijing-6",use_ssl=False)
  12. #创建模板接口调用示例 : preset
  13. presetname = 'xxxx'
  14. description = 'just a demo'
  15. presetType = 'avop'
  16. #具体的格式请参考官网说明
  17. param = {
  18. "Preset": presetname,
  19. "Description": description,
  20. "PresetType": presetType,
  21. "Param": {
  22. "f": "mp4",
  23. "AUDIO": {
  24. "acodec": "aac"
  25. },
  26. "VIDEO": {
  27. "vcodec": "h264"
  28. }
  29. }
  30. }
  31. #该接口需要输入json格式数据
  32. res = client.Preset(param)
  33. print json.dumps(res)
  34. #更新模板接口调用示例 : UpdatePreset
  35. #该接口需要输入json格式数据
  36. res = client.UpdatePreset(param)
  37. print json.dumps(res)
  38. #获取模板列表接口调用示例 : GetPresetList
  39. #参数
  40. # WithDetail:是否查询模板详情,1-是 0-否
  41. # PresetType:模板类型,多种模板类型以逗号隔开
  42. # Presets:模板名称,多个模板名称以逗号隔开
  43. res = client.GetPresetList(WithDetail=1,PresetType="xxxx")
  44. print json.dumps(res)
  45. #获取模板信息接口调用示例 : GetPresetDetail
  46. # Preset:模板名称
  47. res = client.GetPresetDetail(Preset=presetname)
  48. print json.dumps(res)
  49. #删除模板接口调用示例 : DelPreset
  50. # Preset:模板名称
  51. res = client.DelPreset(Preset=presetname)
  52. print json.dumps(res)
  53. #修改任务队列接口调用示例 : UpdatePipeline
  54. # 该接口需要输入json格式数据
  55. pipeinfo = {
  56. "PipelineName": "usual",
  57. "Description": "test pipeline",
  58. "State": "Active",
  59. "RegularStart": "01:00:00",
  60. "RegularDuration":7200
  61. }
  62. res = client.UpdatePipeline(pipeinfo)
  63. print json.dumps(res)
  64. #查询任务队列接口调用示例 : QueryPipeline
  65. # PipelineName:队列名称
  66. res = client.QueryPipeline(PipelineName="usual")
  67. print json.dumps(res)
  68. #创建任务接口调用示例 : CreateTask
  69. #具体参数请参考官方文档
  70. task = {
  71. "DstDir": "",
  72. "DstObjectKey": "xxxx",
  73. "DstBucket": "xxxx",
  74. "DstAcl": "public-read",
  75. "Preset": presetname,
  76. "SrcInfo": [
  77. {
  78. "path": "/xxxxx/xxxxx",
  79. "type": "video",
  80. "index": 0
  81. }
  82. ],
  83. "CbMethod": "POST",
  84. "CbUrl": "xxxxx"
  85. }
  86. #该接口需要输入json格式数据
  87. res = client.CreateTask(task)
  88. print json.dumps(res)
  89. #该接口需要输入json格式数据
  90. res = client.CreateFlowTask(task)
  91. print json.dumps(res)
  92. #查看任务状态接口调用示例 : GetTaskByTaskID
  93. taskid = "xxxxxx"
  94. # TaskID:任务ID
  95. res = client.GetTaskByTaskID(TaskID = taskid)
  96. print json.dumps(res)
  97. #获取任务列表接口调用示例 : GetTaskList
  98. #参数
  99. # StartDate:开始时间,默认为当前月的第一天;格式:20160919
  100. # EndDate:截止时间,默认为开始时间加30天;若大于当前时间,则默认为当前时间;格式:20160930
  101. # Marker:请求起始游标,默认为0
  102. # Limit:单次请求的记录数,默认为100,最大值为100
  103. # StartTime:起始时间戳
  104. # EndTime:结束时间戳
  105. # 错误码:ErrorCode
  106. # 任务状态:TaskStatus
  107. res = client.GetTaskList(StartDate=20170100,EndDate=20170112,Marker=0,Limit=50)
  108. print json.dumps(res)
  109. #删除任务接口调用示例 : DelTaskByTaskID
  110. # TaskID:任务ID
  111. res = client.DelTaskByTaskID(TaskID = taskid)
  112. print json.dumps(res)
  113. #任务置顶接口调用示例 : TopTaskByTaskID
  114. # TaskID:任务ID
  115. res = client.TopTaskByTaskID(TaskID = taskid)
  116. print json.dumps(res)
  117. #查询任务META列表接口调用示例 : GetTaskMetaInfo
  118. #参数
  119. # TaskID:任务ID
  120. # StartDate:开始时间,默认为当前月的第一天;格式:20160919
  121. # EndDate:截止时间,默认为开始时间加30天;若大于当前时间,则默认为当前时间;格式:20160930
  122. # Marker:请求起始游标,默认为0
  123. # Limit:单次请求的记录数,默认为100,最大值为100
  124. res = client.GetTaskMetaInfo(StartDate=20170100,EndDate=20170112,Marker=0,Limit=50)
  125. print json.dumps(res)
  126. #查询转码时长统计数据接口调用示例 : GetMediaTransDuration
  127. #查询转码API调用次数统计数据接口调用示例 : GetInterfaceNumber
  128. #查询转码截图统计数据接口调用示例 : GetScreenshotNumber
  129. #参数
  130. # StartUnixTime:查询起始时间戳秒数
  131. # EndUnixTime:查询截止时间戳秒数
  132. # Granularity:统计时间粒度
  133. # ResultType:返回结果类型
  134. start = "2017-06-16 00:00:00"
  135. end = "2017-06-20 00:00:00"
  136. t0 = time.strptime(start, "%Y-%m-%d %H:%M:%S")
  137. t1 = time.strptime(end, "%Y-%m-%d %H:%M:%S")
  138. StartUnixTime = int(time.mktime(t0))
  139. EndUnixTime = int(time.mktime(t1))
  140. Granularity = 5
  141. ResultType = 1
  142. res = client.GetMediaTransDuration(StartUnixTime, EndUnixTime, Granularity, ResultType)
  143. print json.dumps(res)
  144. res = client.GetInterfaceNumber(StartUnixTime, EndUnixTime, Granularity, ResultType)
  145. print json.dumps(res)
  146. res = client.GetScreenshotNumber(StartUnixTime, EndUnixTime, Granularity, ResultType)
  147. print json.dumps(res)
  148. #控制台专用
  149. #发起媒体转码
  150. res = client.FetchObjectMediaProcess(task)
  151. print json.dumps(res)
  152. #查询任务列表
  153. res = client.ListFetchObjectMediaProcess(StartUnixTime=StartUnixTime,EndUnixTime=EndUnixTime)
  154. print json.dumps(res)
  155. #查询单个任务详情
  156. res = client.GetFetchObjectMediaProcess(ProcessTaskId="12121212")
  157. print json.dumps(res)
  158. #同步获取视频源信息
  159. task = {
  160. "SrcPath":"/xxx/000bab6c0ade5f816eef4a2f44a2a6cd.mp4"
  161. }
  162. res = client.FetchMetaInfo(task)
  163. print json.dumps(res)