Browse Source

修复异步推送图片没有生成阿里云图片链接问题

locky 1 year ago
parent
commit
978911375e
1 changed files with 8 additions and 2 deletions
  1. 8 2
      Service/DevicePushService.py

+ 8 - 2
Service/DevicePushService.py

@@ -15,13 +15,14 @@ import time
 
 import boto3
 import botocore
+import oss2
 import requests
 from obs import ObsClient
 
 from AnsjerPush.Config.aiConfig import DEVICE_EVENT_TYPE, ALGORITHM_COMBO_TYPES
 from AnsjerPush.config import CONFIG_INFO, CONFIG_CN, MULTI_CHANNEL_TYPE_LIST, SYS_EVENT_TYPE_LIST, AWS_ACCESS_KEY_ID, \
     AWS_SECRET_ACCESS_KEY, EVENT_DICT, EVENT_DICT_CN, CONFIG_TEST, HUAWEICLOUD_AK, HUAWEICLOUD_SK, \
-    HUAWEICLOUD_OBS_SERVER, HUAWEICLOUD_PUSH_BUKET
+    HUAWEICLOUD_OBS_SERVER, HUAWEICLOUD_PUSH_BUKET, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
 from AnsjerPush.config import XMPUSH_CONFIG, OPPOPUSH_CONFIG, XM_PUSH_CHANNEL_ID
 from Model.models import UidPushModel, SysMsgModel, DeviceSharePermission, DeviceChannelUserSet, \
     DeviceChannelUserPermission, UidSetModel, Device_Info, UserAudioVideoPush
@@ -713,7 +714,12 @@ class DevicePushService:
         异步推送图片
         """
         try:
-            if storage_reg in [3, 4]:
+            if storage_reg == 1:
+                # 阿里云
+                auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
+                oss_img_bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
+                image_url = oss_img_bucket.sign_url('GET', key, 300)
+            elif storage_reg in [3, 4]:
                 image_url = DevicePushService.oci_object_url(storage_reg, bucket, key)
             elif storage_reg == 5:
                 image_url = DevicePushService.create_obs_signed_url(key, 'GET')