日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用函數(shù)計(jì)算實(shí)現(xiàn)OSS圖片增量檢測

如果需要實(shí)時檢測上傳到OSS Bucket的圖片是否存在違規(guī)內(nèi)容,且根據(jù)檢測結(jié)果決定如何處理圖片,例如是否對外公開、轉(zhuǎn)存后人工復(fù)核等問題,可以通過函數(shù)計(jì)算調(diào)用內(nèi)容安全的圖片審核增強(qiáng)版服務(wù)。本文介紹如何使用函數(shù)計(jì)算實(shí)現(xiàn)OSS Bucket增量圖片數(shù)據(jù)的檢測。

方案架構(gòu)

函數(shù)計(jì)算.png

方案優(yōu)勢

與內(nèi)容安全OSS違規(guī)檢測1.0版本功能相比,使用函數(shù)計(jì)算的方案具備如下優(yōu)勢:

  • 支持配置多個函數(shù)以實(shí)現(xiàn)不同OSS Bucket采用不同的檢測配置。

  • 檢測日志寫入日志服務(wù)SLS對應(yīng)的Project中,更方便查詢和分析檢測結(jié)果。

  • 函數(shù)計(jì)算對事件和請求能實(shí)時動態(tài)伸縮,實(shí)現(xiàn)增量圖片檢測能力接近毫秒級。

  • 虛擬機(jī)級別隔離運(yùn)行,更靈活也更安全地處理OSS Bucket文件。

說明

如需定期或者批量檢測OSS Bucket圖片數(shù)據(jù),請參見批量檢測OSS存儲圖片數(shù)據(jù)

費(fèi)用說明

使用函數(shù)計(jì)算實(shí)現(xiàn)OSS Bucket增量圖片數(shù)據(jù)的檢測,會產(chǎn)生以下幾部分費(fèi)用:

類別

說明

內(nèi)容審核服務(wù)費(fèi)用

調(diào)用圖片審核增強(qiáng)版API服務(wù)的費(fèi)用。具體信息,請參見圖片審核增強(qiáng)版介紹及計(jì)費(fèi)說明

OSS訪問和流量費(fèi)用

訪問OSS Bucket文件過程會產(chǎn)生請求費(fèi)用。具體信息,請參見請求費(fèi)用

同地域下調(diào)用審核API使用OSS內(nèi)網(wǎng)地址為內(nèi)網(wǎng)流量傳輸,跨地域或者調(diào)用審核API使用公網(wǎng)地址會產(chǎn)生外網(wǎng)流量費(fèi)用。具體信息,請參見流量費(fèi)用

函數(shù)計(jì)算調(diào)用和資源費(fèi)用

使用函數(shù)計(jì)算觸發(fā)OSS事件并調(diào)用函數(shù)會產(chǎn)生相應(yīng)的資源和調(diào)用費(fèi)用。具體信息,請參見計(jì)費(fèi)概述

圖片審核增強(qiáng)版服務(wù)支持接入的地域

地域

外網(wǎng)接入地址

內(nèi)網(wǎng)接入地址

華東2(上海)

green-cip.cn-shanghai.aliyuncs.com

green-cip-vpc.cn-shanghai.aliyuncs.com

華北2(北京)

green-cip.cn-beijing.aliyuncs.com

green-cip-vpc.cn-beijing.aliyuncs.com

華東1(杭州)

green-cip.cn-hangzhou.aliyuncs.com

green-cip-vpc.cn-hangzhou.aliyuncs.com

華南1(深圳)

green-cip.cn-shenzhen.aliyuncs.com

暫無

西南1(成都)

green-cip.cn-chengdu.aliyuncs.com

暫無

新加坡

green-cip.ap-southeast-1.aliyuncs.com

green-cip-vpc.ap-southeast-1.aliyuncs.com

前提條件

操作步驟

  1. 登錄函數(shù)計(jì)算控制臺,選擇服務(wù)地域,創(chuàng)建服務(wù)和函數(shù)。具體操作,請參見管理服務(wù)管理函數(shù)

    創(chuàng)建函數(shù)時,選擇使用內(nèi)置運(yùn)行時創(chuàng)建的方式,核心字段配置如下:

    • 基本設(shè)置區(qū)域,選擇請求處理程序類型處理事件請求

      image.png
    • 函數(shù)代碼區(qū)域,根據(jù)實(shí)際業(yè)務(wù)選擇運(yùn)行環(huán)境,設(shè)置代碼上傳方式使用示例代碼方式,并選擇對象存儲OSS觸發(fā)函數(shù)

      image.png
    • 觸發(fā)器配置區(qū)域,選擇觸發(fā)器類型對象存儲OSS,指定Bucket名稱osstest-20文件前綴img文件后綴png觸發(fā)事件選擇oss:ObjectCreated:PutObjectoss:ObjectCreated:PostObject事件,角色名稱AliyunOSSEventNotificationRole

      首次創(chuàng)建函數(shù)時,您可以根據(jù)頁面提示授予事件源訪問函數(shù)計(jì)算權(quán)限。更多內(nèi)容,請參見授予事件源訪問函數(shù)計(jì)算的權(quán)限

      關(guān)于OSS觸發(fā)器事件的詳細(xì)信息,請參見OSS觸發(fā)器概述

      image.png
  2. 通過函數(shù)調(diào)用內(nèi)容安全圖片審核增強(qiáng)版服務(wù)。

    創(chuàng)建函數(shù)后會跳轉(zhuǎn)到函數(shù)代碼界面,在編輯器頁面中即可編輯調(diào)用內(nèi)容安全的示例代碼。詳細(xì)參數(shù)說明,請參見圖片審核增強(qiáng)版API

    關(guān)于函數(shù)代碼編輯介紹,請參見代碼開發(fā)概述

    以下為您展示圖片審核增強(qiáng)版Python代碼示例。在調(diào)用以下代碼示例前,您需要先將AccessKey ID和AccessKey Secret寫入到配置文件config.ini中。

    # -*- coding: utf-8 -*-
    import json, uuid
    import configparser
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.request import CommonRequest
    def handler(event, context):
        config = configparser.ConfigParser()
        config.read("config.ini", encoding="GB18030")
        # AccessKey ID和AccessKey Secret寫入的配置文件。
        evt = json.loads(event)
        evt = evt['events'][0]
        bucket_name = evt['oss']['bucket']['name']
        object_name = evt['oss']['object']['key']
        
        # 公網(wǎng)地址,需要公共讀且會產(chǎn)生OSS公網(wǎng)流量費(fèi)用。
        objecturl = "https://" + bucket_name + ".oss-cn-hangzhou.aliyuncs.com/" + object_name
        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')  # https | http
        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",
                                {
                                    'imageUrl': objecturl,
                                    'dataId': str(uuid.uuid4())
                                })
        
        response = client.do_action_with_exception(request)
        print(str(response, encoding='utf-8'))
        
        response_json = json.loads(response)
        if response_json.get("Code") == 200:
            for item in response_json.get("Data", {}).get("Result", []):
                if item["Label"] == "nonLabel":
                    print("nonLabel 無命中標(biāo)簽")
                elif "pornographic" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有色情內(nèi)容")
                elif "political" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有涉政內(nèi)容")
                elif "violent" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有暴恐內(nèi)容")
                elif "fraud" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有風(fēng)險(xiǎn)內(nèi)容")
        else:
            print("請求失敗,錯誤碼:", response_json.get("Code"))

    如果是華東2(cn-shanghai)或者華北2(cn-beijing)區(qū)域的OSS圖片,支持使用OSS圖片內(nèi)網(wǎng)地址調(diào)用同區(qū)域的審核服務(wù)。使用前須使用阿里云賬號(即主賬號)訪問云資源訪問授權(quán)頁面進(jìn)行授權(quán)。更詳細(xì)的參數(shù)信息,請參考圖片審核增強(qiáng)版API

    # -*- coding: utf-8 -*-
    import json, uuid
    import configparser
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.request import CommonRequest
    def handler(event, context):
        config = configparser.ConfigParser()
        config.read("config.ini", encoding="GB18030")
        # AccessKey ID和AccessKey Secret寫入的配置文件。
        evt = json.loads(event)
        evt = evt['events'][0]
        bucket_name = evt['oss']['bucket']['name']
        object_name = evt['oss']['object']['key']
    
        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')  # https | http
        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",
                                {
                                    'ossRegionId': 'cn-shanghai',
                                    'ossBucketName': bucket_name,
                                    'ossObjectName': object_name,
                                    'dataId': str(uuid.uuid4())
                                })
        
        response = client.do_action_with_exception(request)
        print(str(response, encoding='utf-8'))
        
        response_json = json.loads(response)
        if response_json.get("Code") == 200:
            for item in response_json.get("Data", {}).get("Result", []):
                if item["Label"] == "nonLabel":
                    print("nonLabel 無命中標(biāo)簽")
                elif "pornographic" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有色情內(nèi)容")
                elif "political" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有涉政內(nèi)容")
                elif "violent" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有暴恐內(nèi)容")
                elif "fraud" in item["Label"] and int(item["Confidence"]) > 80:
                    print("疑似含有風(fēng)險(xiǎn)內(nèi)容")
        else:
            print("請求失敗,錯誤碼:", response_json.get("Code"))
  3. 進(jìn)行圖片增量檢測。

    通過OSS PostObject或者OSS PutObject接口上傳圖片文件時,即可觸發(fā)該函數(shù)執(zhí)行。檢測完成后,您可以在調(diào)用日志中查看檢測結(jié)果。具體操作,請參見查看調(diào)用日志

    image.png

    如果您需要進(jìn)一步處理OSS文件,比如凍結(jié)或者刪除文件等操作,請參見管理文件