W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
所述天青適配器自舉一個(gè)Spring Cloud功能上下文和通道功能從天青框架呼叫到用戶的功能,使用Spring Boot結(jié)構(gòu),其中必要的。Azure Functions具有一個(gè)非常獨(dú)特但具有侵入性的編程模型,涉及特定于平臺(tái)的用戶代碼中的注釋。
與Spring Cloud一起使用的最簡(jiǎn)單方法是擴(kuò)展基類,并在其中編寫帶有@FunctionName
批注的方法,該批注委派給基類方法。
該項(xiàng)目為Spring Cloud Function應(yīng)用程序提供了到Azure的適配器層。您可以編寫一個(gè)類型為Function
的單個(gè)@Bean
的應(yīng)用程序,如果正確放置了JAR文件,則可以將其部署在Azure中。
必須擴(kuò)展AzureSpringBootRequestHandler
,并提供輸入和輸出類型作為帶注釋的方法參數(shù)(使Azure能夠檢查類并創(chuàng)建JSON綁定)。基類有兩個(gè)有用的方法(handleRequest
和handleOutput
),您可以將實(shí)際的函數(shù)調(diào)用委派給該方法,因此大多數(shù)情況下,該函數(shù)只會(huì)有一行。
例:
public class FooHandler extends AzureSpringBootRequestHandler<Foo, Bar> { @FunctionName("uppercase") public Bar execute( @HttpTrigger(name = "req", methods = { HttpMethod.GET, HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) Foo foo, ExecutionContext context) { return handleRequest(foo, context); } }
此Azure處理程序?qū)⑽山oFunction<Foo,Bar>
bean(或Function<Publisher<Foo>,Publisher<Bar>>
)。某些Azure觸發(fā)器(例如@CosmosDBTrigger
)會(huì)導(dǎo)致輸入類型為List
,在這種情況下,您可以綁定到Azure處理程序中的List
或String
(原始JSON)。
List
輸入委托給輸入類型為Map<String,Object>
或Publisher
或相同類型的List
的Function
。
Function
的輸出可以是List
(一對(duì)一)或單個(gè)值(聚合),并且Azure聲明中的輸出綁定應(yīng)該匹配。
如果您的應(yīng)用具有多個(gè)Function
等類型的@Bean
等,那么您可以通過(guò)配置function.name
選擇一個(gè)。或者,如果使Azure處理程序方法中的@FunctionName
與函數(shù)名稱匹配,則它應(yīng)以這種方式工作(也適用于具有多個(gè)函數(shù)的函數(shù)應(yīng)用程序)。
這些功能是從Spring Cloud FunctionCatalog
中提取的,因此默認(rèn)功能名稱與bean名稱相同。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: