chenjunkai 5 năm trước cách đây
mục cha
commit
f2a4692eaa
4 tập tin đã thay đổi với 64 bổ sung73 xóa
  1. 4 32
      Ansjer/test/oss.py
  2. 8 3
      Ansjer/test/oss_sts.py
  3. 11 38
      Ansjer/test/osssigput.py
  4. 41 0
      Ansjer/test/push_debug.py

+ 4 - 32
Ansjer/test/oss.py

@@ -35,39 +35,11 @@ auth = Auth(accessid, accesskey)
 # Endpoint以杭州为例,其它Region请按实际情况填写。
 service = oss2.Service(auth, host)
 
-print([b.name for b in oss2.BucketIterator(service)])
-
-
-exit()
-
-
 
 bucket_name = "cnvod1"
-channel_name = "vod"
 auth = Auth(accessid, accesskey)
 bucket = Bucket(auth, host, bucket_name)
-
-######################
-# 缩略图
-url = bucket.sign_url('GET', 'VVDHCVBYDKFMJRWA111A/vod1/2019010315/1546498920/ts2.ts', 60 * 60, params={'x-oss-process': 'video/snapshot,t_10000,m_fast,w_300'})
-# url = bucket.sign_url('GET', 'FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8', 60 * 60, params={'x-oss-process': 'hls/sign'})
-# url = urllib.parse.unquote(url, encoding='utf-8', errors='replace')
-urllst = url.split('?')
-url_start = urllib.parse.unquote(urllst[0])
-url_end = urllst[1]
-
-vod_play_url = '{url_start}?{url_end}'.format(url_start=url_start, url_end=url_end)
-print(vod_play_url)
-exit()
-# 播放m3u8
-# m3list = bucket.post_vod_playlist(channel_name=channel_name, playlist_name='test.m3u8', start_time=1537336020119,
-#                                   end_time=1537336029318)
-
-exit()
-# 获取推流地址
-channel_cfg = LiveChannelInfo(target=LiveChannelInfoTarget(frag_count=10))
-channel = bucket.create_live_channel(channel_name, channel_cfg)
-publish_url = channel.publish_url
-signed_publish_url = bucket.sign_rtmp_url("vod", "playlist.m3u8", 3600)
-print(signed_publish_url)
-
+result = bucket.append_object('mio', 23, '我是追加的噢噢噢噢content of first append')
+# 如果不是首次上传,可以通过bucket.head_object方法或上次追加返回值的next_position属性,得到追加位置。
+# bucket.append_object('<yourObjectName>', result.next_position, 'content of second append')
+print(result.next_position)

+ 8 - 3
Ansjer/test/oss_sts.py

@@ -8,7 +8,7 @@ import oss2
 endpoint = 'oss-cn-shenzhen.aliyuncs.com'
 access_key_id = 'LTAIyMkGfEdogyL9'
 access_key_secret = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
-bucket_name = 'cloudvod1'
+bucket_name = 'cnvod1'
 # role_arn是角色的资源名称。
 role_arn = 'acs:ram::1901342792446414:role/stsoss'
 
@@ -56,5 +56,10 @@ print(auth)
 bucket = oss2.Bucket(auth, endpoint, bucket_name)
 # 上传一个字符串。
 # res = bucket.put_object('oss_media_hls.ts', b'hello world')
-res = bucket.put_object('test/test-name.txt', b'hello world')
-print(res)
+# res = bucket.put_object('test/test-name.txt', b'hello world')
+# print(res)
+# oss append obj
+result = bucket.append_object('mio', 0, 'content of first append')
+print(result)
+# 如果不是首次上传,可以通过bucket.head_object方法或上次追加返回值的next_position属性,得到追加位置。
+# bucket.append_object('<yourObjectName>', result.next_position, 'content of second append')

+ 11 - 38
Ansjer/test/osssigput.py

@@ -24,48 +24,21 @@ import base64
 '''
 http://test.dvema.com/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaGFubmVsIjoiNCIsInVpZCI6IkZUU0xMOEhNNDM3WjM4V1UxMTFBIn0.wkrwYvIYf5qEukOSTxALSAgSqop-gNBdEvSwScOgYB8
 '''
+endpoint = 'oss-cn-shenzhen.aliyuncs.com'
+bucket_name = 'cnvod1'
 
-# tokenss ={"arn": "acs:ram::1901342792446414:role/stsoss/P2WNGJRD2EHA5EU9111A", "expire": "3600", "Expiration": "2019-02-25T07:03:40Z", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "ip": "120.237.157.181", "storage": "P2WNGJRD2EHA5EU9111A/vod1/", "AccessKeySecret": "ErbGnFyPWPcfNBPRkcpZBJNBVpsX73q2u5vgJYownBQd", "SecurityToken": "CAIS9AJ1q6Ft5B2yfSjIr4vWBsLMjLBI0q2haFD/pTUgb8RvqL3pqDz2IHFIf3NhAe0bv/kzm2lX7/YYlr1LEaBjam7+QZFdzr0K3D7wOtOYkpRIRwn3ctj3d1KIAjvXgeV+CoeQFaELE5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re4iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELsiH2SVLuR9R7/U03u4W8jHZud3ERGEL3DOpEdD4qPBPBVJUW/ljQvdt6+b7maQ/+JaX9eXW0z9BMftYSD+lIImr25n/H/6zPdsYbcSCWROUiIjJbMKq9Vp5PjRCZFpoA4NwciYrVUZzG2uGdvH7oQzwD139G/Tf4sYfyoFoyljkx92OKmWUTq+RuSRiYc5gNBl5b0NLjDG9LfZZKlwWaT18G62SVp5jypvDLGYoZWYagAGOO+MMAjzgPaDMySC/exBy3d1Lp0iCGLeY6HYgMhel1YjuC2+vaPxvIaTgp4n9+QmQi+i1wtRhCVk8bwY0YCgNO5nZds4E0J5g7xTfnMfm30FaRs5s3rJohwEwp4cnsxgqsDGwwvqpOAefRd/hscpw3frgyPEVG6b6XRY4na+xpA==", "AccessKeyId": "STS.NHcMxxaoieoJjvNA5ucKCGxBJ", "bucket_name": "cnvod1", "code": 0}
-tokenss ={"AccessKeyId": "STS.NKKRWdsfkMyHA9rz9SN6s26sA", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "AccessKeySecret": "G7CRveV6XpcBnVkRd9qVxM8c6TkEzA4N3wdNmxTzHyQQ", "arn": "acs:ram::1901342792446414:role/stsoss/151564262337939513800138001", "bucket_name": "apg", "storage": "151564262337939513800138001/uid_preview/", "SecurityToken": "CAISrwN1q6Ft5B2yfSjIr4j+Ge3QnrlK+rujQx/DnjkGQrlf3fPYozz2IHFIf3NhAe0bv/kzm2lX7/YYlrIqFsYYGxCeM5ErtcsGqlL8OtGR45Tstuxc0MT90Z0w592+jqHoeOzcYI736p7PAgm2Y0YRrJL+cTK9JXzHVbSClZ9gaPkOQwC8dkAoLdxKJwxk2pd4UHzKLqSVLwLNiGjdB1YKwg1nkjFT5KCy3sC74BjTh0GYr+gOvNbeL4SDZcthN4sFcbXT5uFtcbfb2yN98gVD8LwM7JZJ4jDapNqQcR8zpxyNKLjT6cY9bl07NKEiFOkd8aGhy6Ei5LaIzNumkEcQZLoFC3yGH9D4mJKGatjLW/89cbHkQTWvtvmEKpjytS49fHsfL3kkUtE9K3h2e2VOLTbBMf2D+UvWRQ2hRqOZy9tBs/xPwk7v4MCBKnWWXrydylx4AJInaF4yPBNktg6IMI1+Kl0UKgg7XenEF9kvMkwH9ZmF51OCCndSqVhMpOD7av/svaQSVJ7yRJou0/BGNcgd6TpyEgmmFu7x0xhNJDZ/L61Ky672Io8ZYyIABSVLChqAAUU8EA+LN1EXtGazb+yfWncE/l3wUXsW0qT7EU+m2YXBKt+yzl8Ls9xicDj1NMIyy1KrtHXOM8iHTGiNC0U1Ulnwl6yprCW2snc7q2CiaAjzTIRkPjgGd+gA6hO2neSifA0bfhkhitLb8HEq+g32zpCYcdeMigawRWBrNdoCsGqu", "code": 0, "expire": 3600, "Expiration": "2019-05-13T09:42:52Z"}
+tokenss ={
+    'AccessKeySecret': '7kWzxVezTBs5Qd3AArRAcuXiYaQoLYVUnLb14iuv5LWW',
+    'AccessKeyId': 'STS.NU3npZw8fkd7sSeFFrehxRmud',
+    'Expiration': '2019-12-16T04:40:40Z',
+    'SecurityToken': 'CAIS3AJ1q6Ft5B2yfSjIr5aGJcrumudH3KbccXXUokYnaedUvajehjz2IHFIf3NhAe0bv/kzm2lX7/YYlqduSpMcHhaYNJErss0NqltYtGpBI4nng4YfgbiJREJJYnyShb0WCoeUZdfZfejXOjKgvyRvwLz8WCy/Vli+S/OggoJmadJlF2vdaiFdVu9LOixoqsIRKRmpMu22YDLnhmfMAW1iuAd3lRkti8KFz9ab9wDVgXDj1+YRvP6RGJW/aNR2N5oNJbXB1edtJK3ay3wSuVoY/6NxkaBa/jue+c2QGEUWoW/CUYv16vRjIBV0fbNAf6dPt6rHkuBiseHyj/aOqXEUZ7kTCX+AAtn9n42dSL+LTo9oLe+gZy6Sg4rTasep6l8eDChFZF8QSb0IMWRtDBEgcDbeJ5K89UrCCgXZEPnZi/tniccongi0ooPVfgjVWduCzT0fIYQsyci1stvWBQcagAFYkAuSbf8lQF1U2ifn3hKAD3S5+CVRyluQoYJBnel5o1MsL6gzccGXwBC0Jpuux/tzOZBETh0DqA+BrfYsPEUdHyZ9O5wVAHym8gx9TYiZNYNkd9FXev1k5i9pOMoy+DzaF90gZBiiZv9AYhlw8k8WGo+0InLNdI8F4CcjA1oYBQ=='
+  }
 # 使用RAM账号的AccessKeyId和AccessKeySecret向STS申请临时token。
 
 # 使用临时token中的认证信息初始化StsAuth实例。
 auth = oss2.StsAuth(tokenss['AccessKeyId'],
                     tokenss['AccessKeySecret'],
                     tokenss['SecurityToken'])
-print(auth)
-############### callback
-callback_dict = {}
-callback_dict['callbackUrl'] = 'http://www.dvema.com:3000/?token=token&filename=shijianchuo&size=1234&len=1234'
-# 设置回调请求消息头中Host的值, 如oss-cn-hangzhou.aliyuncs.com。
-callback_dict['callbackHost'] = 'oss-cn-shenzhen.aliyuncs.com'
-# 设置发起回调时请求body的值。
-callback_dict['callbackBody'] = 'filename=${object}&size=${size}&mimeType=${mimeType}'
-# 设置发起回调请求的Content-Type。
-callback_dict['callbackBodyType'] = 'application/x-www-form-urlencoded'
-# 回调参数是Json格式,并且需要Base64编码。
-callback_param = json.dumps(callback_dict).strip()
-base64_callback_body = oss2.utils.b64encode_as_string(callback_param)
-# 回调参数编码后放在Header中发送给OSS。
-headers = {'x-oss-callback': base64_callback_body}
-################
-# exit()
-# 使用StsAuth实例初始化存储空间。
-endpoint = tokenss['endpoint']
-bucket = oss2.Bucket(auth, tokenss['endpoint'], tokenss['bucket_name'])
-# # 上传一个字符串。
-# bucket.delete_object('a-3.txt')
-# exit()
-print(tokenss['storage'])
-res = bucket.list_objects(prefix=tokenss['storage'])
-print(res)
-exit()
-
-# patht = tokenss['storage'] + 'asfsdafsdafdsa'
-# print(patht)
-# print(endpoint)
-# print(bucket.put_object(patht, b'ddd'))
-# # bucket.put_object('FTSLL8HM437Z38WU111A/vod4/1234.txt', b'12345646',headers)
-# exit()
-res = bucket.get_object('151564262337939513800138001/uid_preview/asfsdafsdafdsa')
-print(res.read())
+bucket = oss2.Bucket(auth, endpoint, bucket_name)
+result = bucket.append_object('mio', 0, 'content of first append')
+print(result)

+ 41 - 0
Ansjer/test/push_debug.py

@@ -0,0 +1,41 @@
+#!/usr/bin/env python3  
+# -*- coding: utf-8 -*-  
+"""
+@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
+@AUTHOR: ASJRD018
+@NAME: AnsjerFormal
+@software: PyCharm
+@DATE: 2019/12/14 16:25
+@Version: python3.6
+@MODIFY DECORD:ansjer dev
+@file: push_debug.py
+@Contact: chanjunkai@163.com
+"""
+import time
+
+app_key = "d9924f56d3cc7c6017965130"
+master_secret = "869d832d126a232f158b5987"
+
+devToken = "13065ffa4e65a3d5c40"
+import jpush as jpush
+
+# 此处换成各自的app_key和master_secret
+_jpush = jpush.JPush(app_key, master_secret)
+push = _jpush.create_push()
+# if you set the logging level to "DEBUG",it will show the debug logging.
+_jpush.set_logging("DEBUG")
+# push.audience = jpush.all_
+
+n_time = int(time.time())
+event_type = 51
+push.audience = jpush.registration_id(devToken)
+push_data = {"alert": "Motion ", "event_time": n_time, "event_type": event_type, "msg": "",
+             "received_at": n_time, "sound": "sound.aif", "uid": 'xoxoxoxoxoxoxoxoxoxo', "zpush": "1"}
+
+android = jpush.android(alert="Hello, Android msg", priority=1, style=1, alert_type=1, big_text='ssssssssssssssssss',
+                        extras=push_data, title='fffff')
+
+push.notification = jpush.notification(android=android)
+
+push.platform = jpush.all_
+push.send()