import json, uuid
import configparser
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
import oss2
def oss_acl_private(bucket_name, object_name):
auth = oss2.Auth("accessKeyId", "accessSecret")
bucket = oss2.Bucket(auth, 'https://oss-cn-shanghai.aliyuncs.com', bucket_name)
bucket.put_object_acl(object_name, oss2.OBJECT_ACL_PRIVATE)
def handler(event, context):
config = configparser.ConfigParser()
config.read("config.ini", encoding="GB18030")
evt = json.loads(event)
evt = evt['events'][0]
bucket_name = evt['oss']['bucket']['name']
object_name = evt['oss']['object']['key']
ossRegionId = evt['region']
client = AcsClient(config.get("config", "accessKeyId"), config.get("config", "accessSecret"), 'cn-shanghai')
request = CommonRequest()
request.set_read_timeout(6000)
request.set_connect_timeout(3000)
request.set_accept_format('json')
request.set_method('POST')
request.set_protocol_type('https')
request.set_domain('green-cip.cn-shanghai.aliyuncs.com')
request.set_version('2022-03-02')
request.set_action_name('ImageModeration')
request.add_query_param("Service", "baselineCheck")
request.add_query_param("ServiceParameters",
{
'dataId': str(uuid.uuid4()),
'ossObjectName': object_name,
'ossRegionId': ossRegionId,
'ossBucketName': bucket_name,
})
response = client.do_action_with_exception(request)
response_json = json.loads(response)
if response_json.get("Code") == 200:
for item in response_json.get("Data", {}).get("Result", []):
print('item', item)
if item["Label"] == "nonLabel":
print("nonLabel 无命中标签")
elif "pornographic" in item["Label"] and int(item["Confidence"]) > 80:
print("疑似含有色情内容")
elif "political" in item["Label"] and int(item["Confidence"]) > 80:
print("疑似含有涉政内容")
elif "violent" in item["Label"] and int(item["Confidence"]) > 80:
print("疑似含有暴恐内容")
elif "fraud" in item["Label"] and int(item["Confidence"]) > 80:
print("疑似含有风险内容")
else:
print("请求失败,错误码:", response_json.get("Code"))