日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

带有AWS DynamoDB的反应式Spring Webflux

發布時間:2023/12/3 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带有AWS DynamoDB的反应式Spring Webflux 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AWS已經發布了Java版本2的AWS開發工具包 ,該開發工具包現在支持針對不同AWS服務的API調用的非阻塞IO。 在本文中,我將探討如何使用AWS開發工具包2.x的DynamoDB API以及如何使用Spring Webflux堆棧公開響應式端點-這種方式,應用程序是端對端響應式的,大概應該非常有效地使用資源(我有計劃在此設置上做一些測試作為后續步驟)。

申請詳情

簡單地看一下代碼并在那兒跟隨它可能會更容易-在我的GitHub存儲庫中可以找到它。

該應用程序很簡單-使用以下Kotlin代碼對酒店實體執行CRUD操作:

data class Hotel(val id: String = UUID.randomUUID().toString(),val name: String? = null,val address: String? = null,val state: String? = null,val zip: String? = null )

我想公開端點以保存和檢索酒店實體,并按州獲取酒店列表。

AWS開發工具包2的詳細信息

AWS SDK 2 api的所有軟件包名稱現在都以“ software.amazon.awssdk”前綴開頭,使用以下代碼創建與DynamoDB進行交互的客戶端:

import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider import software.amazon.awssdk.regions.Region import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClientval client: DynamoDbAsyncClient = DynamoDbAsyncClient.builder().region(Region.of(dynamoProperties.region)).credentialsProvider(DefaultCredentialsProvider.builder().build()).build()

創建DynamoDbAsyncClient實例后,使用此客戶端的任何操作都將返回Java 8 CompletableFuture類型。 例如。 保存酒店實體時:

val putItemRequest = PutItemRequest.builder().tableName("hotels").item(HotelMapper.toMap(hotel)).build()val result: CompletableFuture<PutItemResponse> =dynamoClient.putItem(putItemRequest)

并通過ID檢索記錄:

val getItemRequest: GetItemRequest = GetItemRequest.builder().key(mapOf(Constants.ID to AttributeValue.builder().s(id).build())).tableName(Constants.TABLE_NAME).build()val response: CompletableFuture<GetItemResponse> = dynamoClient.getItem(getItemRequest)

CompletableFuture提供了一組全面的功能,以在可用時轉換結果。

與Spring Webflux集成

Spring Webflux是一個反應式Web框架。 現在,借助AWS開發工具包2中的非阻塞IO支持,可以使用DynamoDB編寫端到端的響應式和非阻塞應用程序。 Spring Webflux使用反應堆核心提供反應流支持,與AWS開發工具包2集成的技巧是將Java 8 CompletableFuture轉換為反應堆核心類型,方法是通過ID從DynamoDB檢索項目時采用以下方式:

val getItemRequest: GetItemRequest = GetItemRequest.builder().key(mapOf(Constants.ID to AttributeValue.builder().s(id).build())).tableName(Constants.TABLE_NAME).build()return Mono.fromCompletionStage(dynamoClient.getItem(getItemRequest)).map { resp ->HotelMapper.fromMap(id, resp.item())}

Spring Webflux期望不同Web終結點方法簽名的返回類型為響應類型,因此,用于說出酒店列表的典型終結點如下:

@RequestMapping(value = ["/hotels"], method = [RequestMethod.GET]) fun getHotelsByState(@RequestParam("state") state: String): Flux<Hotel> {return hotelRepo.findHotelsByState(state) }

Spring Webflux還支持描述應用程序API的功能性方法,因此,一個等效的API可通過其ID檢索酒店,但表示為功能性DSL,如下所示:

@Configuration class HotelAdditionalRoutes {@Beanfun routes(hotelRepo: HotelRepo) = router {GET("/hotels/{id}") { req ->val id = req.pathVariable("id")val response: Mono<ServerResponse> = hotelRepo.getHotel(id).flatMap { hotel ->ServerResponse.ok().body(BodyInserters.fromObject(hotel))}response.switchIfEmpty(ServerResponse.notFound().build())}} }

結論

AWS SDK 2使編寫端到端反應性和非阻塞應用程序變得簡單。 我已使用Spring Webflux和AWS開發工具包2發電機客戶端在此處編寫此類應用程序。 整個工作示例可在我的GitHub存儲庫中找到-https ://github.com/bijukunjummen/boot-with-dynamodb,其中包含有關如何啟動DynamoDB本地版本并將其用于測試應用程序的說明。

翻譯自: https://www.javacodegeeks.com/2018/12/reactive-spring-webflux-aws-dynamodb.html

總結

以上是生活随笔為你收集整理的带有AWS DynamoDB的反应式Spring Webflux的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美丰满老熟妇aaaa片 | 国产一区二区麻豆 | 欧美专区在线 | 色射色| 影音先锋在线视频观看 | 精品国产999久久久免费 | 超碰自拍 | 亚洲精品激情视频 | 天堂аⅴ在线最新版在线 | 欧美xxxx日本和非洲 | 午夜欧美精品 | 日本高清www| 领导揉我胸亲奶揉下面 | 久久中文字幕高清 | av中文资源 | 中文字幕在线免费播放 | 国产午夜一级 | 成人v片 | 久久久成人av | 亚洲国产成人精品无码区99 | 一级做a爱 | 亚洲自拍偷拍网站 | 国产精品调教 | 亚色图 | 欧美性猛交久久久久 | 欧美熟妇乱码在线一区 | 久久这里只有精品99 | 国产人妖在线视频 | 日韩免费在线视频观看 | 奇米色777 | 男人的天堂在线播放 | 欧美日韩中出 | 欧美破处大片 | 黄色一级视频免费 | 亚洲视频免费在线 | 美味的客房沙龙服务 | 日韩视频在线一区 | 超碰在 | 国产成人精品视频在线 | 国产成人无码一区二区在线播放 | 韩国久久久久 | 一卡二卡在线视频 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品二区一区二区aⅴ污介绍 | 国产精品热| 麻豆changesxxx国产 | 久久激情小说 | 国产一级一级片 | 国内av自拍| jizzjizz日本免费视频 | 一女二男一黄一片 | 欧美日韩另类在线 | 国产精品一区二区入口九绯色 | 丁香婷婷六月天 | 日韩欧美中文字幕一区二区三区 | 欧美日韩在线一区二区三区 | 免费观看亚洲视频 | 日韩欧美高清片 | 九色丨蝌蚪丨成人 | 日韩av在线一区二区 | 在线观看欧美视频 | av不卡免费在线观看 | 蜜桃久久av一区 | 欧美暧暧视频 | 熊出没之冬日乐翻天免费高清观看 | julia一区二区三区中文字幕 | 成人午夜福利一区二区 | 99久久国| 亚洲精品视屏 | 国产白丝喷水 | 亚洲污视频 | 黄色高清在线观看 | 国产精品爱啪在线线免费观看 | 国产成人一区二区三区别 | 欧美另类一区二区 | 久久青娱乐| 国内自拍av | 天天插美女| 亚洲免费视 | 国产精品乱码久久久久 | 九九久久99 | 国产又爽又黄又嫩又猛又粗 | 亚洲一区成人 | 亚洲av无码国产精品色午夜 | 国产毛片久久 | 国产寡妇色xxⅹ交肉视频 | 午夜激情欧美 | 亚洲一区二区三区午夜 | 久久鲁视频 | 国产欧美精品一区二区三区 | 日本a级在线 | 激情图片区 | 国产成人三级在线 | 色在线播放 | 国产一区二区三区视频在线观看 | 中日韩中文字幕一区二区 | 69堂在线观看 | 国产最新在线 | 日本国产精品视频 |