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

異步任務(wù)處理

更新時(shí)間:

IMM支持多種數(shù)據(jù)輸出,其中有些處理時(shí)間會(huì)比較長(zhǎng),無(wú)法在一次同步請(qǐng)求中返回。因此IMM提供了一類API來(lái)異步處理這種請(qǐng)求,這類API通常以CreateXXXTask命名,同時(shí)提供了結(jié)果獲取的消息通知方式。

說(shuō)明

IMM提供的異步任務(wù)API適用于那些處理時(shí)間較長(zhǎng)、無(wú)法在一次同步請(qǐng)求中返回的場(chǎng)景。通過(guò)異步處理方式,可以避免阻塞主線程,提高系統(tǒng)性能,并在后臺(tái)完成數(shù)據(jù)處理、計(jì)算量大的操作,或者定時(shí)任務(wù),而不影響用戶體驗(yàn)。

任務(wù)處理流程

  1. 開(kāi)發(fā)者上傳源數(shù)據(jù)至阿里云對(duì)象存儲(chǔ)OSS。

  2. 開(kāi)發(fā)者調(diào)用IMM API接口CreateXXXTask發(fā)起異步任務(wù)處理請(qǐng)求。

  3. IMM從開(kāi)發(fā)者指定的OSS地址獲取源數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。

  4. IMM將數(shù)據(jù)處理結(jié)果寫回開(kāi)發(fā)者指定的OSS地址。

  5. IMM處理完數(shù)據(jù)后,將任務(wù)狀態(tài)發(fā)送至開(kāi)發(fā)者指定的MNSRocketMQ。

  6. MNSRocketMQ將消息推送至開(kāi)發(fā)者的服務(wù)中。

任務(wù)輸入輸出

  • 輸入數(shù)據(jù)參數(shù)一般以Source命名,包括如下參數(shù):

    • SourceURI:數(shù)據(jù)源地址,目前僅支持OSS URI。

    • Sources:多個(gè)輸入URI地址數(shù)組。

    • Source:多個(gè)輸入URI對(duì)象。

  • 輸出數(shù)據(jù)參數(shù)一般以Target命名,包括如下參數(shù):

    • TargetURI:目標(biāo)地址,該地址支持模板語(yǔ)法。

    • TargetURIPrefix:目標(biāo)地址前綴。

    • Target:多個(gè)輸出URI對(duì)象。

重要

輸入數(shù)據(jù)和輸出數(shù)據(jù)需要和IMM在同一個(gè)地域。

OSS URI

OSS URI是用來(lái)定位唯一的一個(gè)OSS資源,其格式為oss://<bucket>/<object>,例如oss://test-bucket/test-object/test.docx

說(shuō)明

Bucket為和當(dāng)前項(xiàng)目處于同一地域的OSS Bucket名稱,Object為包含文件擴(kuò)展名的文件完整路徑。

常見(jiàn)的錯(cuò)誤輸入格式:

  • http://bucket.oss-cn-hangzhou.aliyuncs.com/test-object/test.docx

  • oss://bucket.oss-cn-hangzhou.aliyuncs.com/test-object/test.docx

TargetURI模板

TargetURI模板是在URI提供一些占位符,使用時(shí)用實(shí)際的值去替換占位符,從而動(dòng)態(tài)生成實(shí)際的URI地址。例如oss://{bucket}/{tags.custom}/{dirname}/{barename}.{autoext}

關(guān)于TargetURI的更多信息,請(qǐng)參見(jiàn)TargetURI 模板

授權(quán)機(jī)制

異步任務(wù)處理的輸入數(shù)據(jù)和輸出數(shù)據(jù)均為開(kāi)發(fā)者提供的地址,需要授權(quán)IMM服務(wù)輸入數(shù)據(jù)的讀權(quán)限和輸出數(shù)據(jù)的寫權(quán)限。這些權(quán)限來(lái)自于ProjectName參數(shù),在CreateProject - 創(chuàng)建項(xiàng)目接口中,通過(guò)參數(shù)ServiceRole指定了一個(gè)授權(quán)給IMM的服務(wù)角色(默認(rèn)為AliyunIMMDefaultRole,開(kāi)通服務(wù)時(shí)自動(dòng)創(chuàng)建),IMM在異步任務(wù)處理中會(huì)通過(guò)扮演這個(gè)服務(wù)角色獲取和上傳數(shù)據(jù)。

獲取任務(wù)狀態(tài)

通過(guò)MNSRocketMQ獲取任務(wù)狀態(tài)

任務(wù)處理流程中所述,開(kāi)發(fā)者可以通過(guò)設(shè)置MNSRocketMQ來(lái)接收IMM的任務(wù)處理狀態(tài),這也是IMM推薦的使用方式。MNS通知消息格式請(qǐng)參見(jiàn)異步通知消息格式

重要

MNSRocketMQ需要和IMM在同一個(gè)地域。

  • 通過(guò)Notification參數(shù)指定MNSRocketMQ配置接收異步消息通知(推薦)

    • MNS:通過(guò)Notification參數(shù)中的MNS參數(shù)指定MNS通知地址和主題接收異步消息通知。

      {
        "Notification": {
          "MNS": {
            "Endpoint": "MNS消息通知地址",
            "TopicName": "MNS消息通知主題"
          }
        }
      }
    • RocketMQ:通過(guò)Notification參數(shù)中的RocketMQ參數(shù)指定RocketMQ通知地址、主題和實(shí)例ID接收異步消息通知。

      {
        "Notification": {
          "RocketMQ": {
            "Endpoint": "RocketMQ消息通知地址",
            "TopicName": "RocketMQ消息通知主題",
            "InstanceId": "RocketMQ消息通知實(shí)例Id"
          }
        }
      }
  • 通過(guò)NotifyEndpointNotifyTopicName兩個(gè)參數(shù)指定MNS接收地址和主題接收異步消息通知

    • NotifyEndpoint:MNS消息通知地址,默認(rèn)為調(diào)用者的MNS地址。

    • NotifyTopicName:MNS消息通知主題,為空則不會(huì)發(fā)送消息通知。

通過(guò)GetTask接口獲取任務(wù)狀態(tài)

IMM同樣也提供GetTask - 獲取任務(wù)信息接口來(lái)查詢?nèi)蝿?wù)狀態(tài)。

通過(guò)輪詢GetTask - 獲取任務(wù)信息直到任務(wù)完成同樣可以獲取到任務(wù)狀態(tài),但這種方式的效率很低,在任務(wù)處理時(shí)間比較長(zhǎng)的場(chǎng)景中,需要大量的GetTask - 獲取任務(wù)信息調(diào)用,如果堆積的任務(wù)比較多,可能會(huì)觸發(fā)全局限流,影響其他接口的調(diào)用。此外,輪詢有時(shí)間間隔,而任務(wù)完成可能在間隔中的任意一個(gè)時(shí)間,平均需要延遲半個(gè)時(shí)間的時(shí)間間隔才能獲取到任務(wù)狀態(tài)。因此不建議在實(shí)際生產(chǎn)中使用該接口來(lái)獲取任務(wù)狀態(tài)。

說(shuō)明

任務(wù)開(kāi)始執(zhí)行后,任務(wù)信息只保存7天,超過(guò)7天則無(wú)法再獲取。

標(biāo)簽機(jī)制

請(qǐng)求參數(shù)中的Tags參數(shù)提供了一種標(biāo)簽機(jī)制,此參數(shù)可以在以下場(chǎng)景中使用:

  • 開(kāi)發(fā)者可以設(shè)置自定義數(shù)據(jù),這些數(shù)據(jù)會(huì)在MNS消息中返回。

  • Tags可以作為搜索任務(wù)的條件。

  • Tags可以作為變量在TargetURI中使用。