返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版新书] 利用FastAPI构建Python微服务 [美] 舍温·约翰·C. 特拉古拉 著 王 婷 清华大学出版
  • 新商品上架
    • 作者: [美]著
    • 出版社: 清华大学出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: [美]著
    • 出版社:清华大学出版社
    • 出版时间:1
    • 开本:16开
    • ISBN:9789982216850
    • 版权提供:清华大学出版社

     书名:  利用FastAPI构建Python微服务
     出版社:  清华大学出版社
     出版日期  2023
     ISBN号:  9787302644866
    《利用FastAPI构建Python微服务》详细阐述了与分布式机器学习相关的基本解决方案,主要包括设置 FastAPI,探索核心功能,依赖注入研究,构建微服务应用程序,连接到关系数据库,使用非关系数据库,保护REST API的安全,创建协程、事件和消息驱动的事务,利用其他高级功能,解决数值、符号和图形问题,添加其他微服务功能等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

    舍温·约翰·C.特拉古拉是Java、ASP.NET MVC和Python应用程序方面的主题专家,并且还具有一些前端框架背景。他管理着一个开发团队来构建与制造和固定资产、文档管理、记录管理、POS以及库存系统相关的各种应用程序。作为顾问,他拥有构建实验室信息管理系统(laboratory information management system,LIMS)和混合移动应用程序的背景。自2010年以来,他还为Python、Django、Flask、Jakarta EE、C#、ASP.NET MVC、JSF、Java和一些前端框架的课程提供企业新人培训服务。他撰写了Spring MVC Blueprints和Spring 5 Cookbook之类的书籍,另外还发布了Packt视频Modern Java Web Applications with Spring Boot 2.x。

    《利用FastAPI构建Python微服务》将向你详细介绍FastAPI框架及其组件,以及如何联合应用这些组件与一些第三方工具来构建微服务应用程序。读者需要具备一些Python编程背景、API开发原理知识以及对创建企业级微服务应用程序背后原理的理解。这不仅仅是一本参考用书,它还提供一些代码蓝图,在阐释和演示各章主题的同时,还可以帮助开发人员解决实际应用问题。

    目    录
    第1篇  与FastAPI微服务开发应用相关的架构概念
    第1章  设置FastAPI 3
    1.1  技术要求 3
    1.2  设置开发环境 4
    1.3  初始化和配置FastAPI 5
    1.4  设计和实现REST API 6
    1.5  管理用户请求和服务器响应 9
    1.5.1  参数类型声明 9
    1.5.2  路径参数 10
    1.5.3  查询参数 12
    1.5.4  默认参数 13
    1.5.5  可选参数 14
    1.5.6  混合所有类型的参数 16
    1.5.7  请求正文 16
    1.5.8  请求标头 19
    1.5.9  响应数据 20
    1.6  处理表单参数 21
    1.7  管理cookie 22
    1.8  小结 23
    第2章  探索核心功能 25
    2.1  技术要求 25
    2.2  构建和组织大型项目 26
    2.2.1  实现API服务 27
    2.2.2  导入模块组件 28
    2.2.3  实现新的main.py文件 29
    2.3  管理与API相关的异常 30
    2.3.1  单个状态代码响应 30
    2.3.2  多个状态代码 32
    2.3.3  引发HTTPException 33
    2.3.4  自定义异常 34
    2.3.5  默认处理程序覆盖 36
    2.4  将对象转换为与JSON兼容的类型 37
    2.5  管理API响应 38
    2.6  创建后台进程 40
    2.7  使用异步路径操作 42
    2.8  应用中间件以过滤路径操作 43
    2.9  小结 45
    第3章  依赖注入研究 47
    3.1  技术要求 47
    3.2  应用控制反转和依赖注入 48
    3.2.1  注入依赖函数 49
    3.2.2  注入可调用的类 50
    3.2.3  构建嵌套依赖关系 51
    3.2.4  缓存依赖项 53
    3.2.5  声明Depends()参数类型 54
    3.2.6  注入异步依赖项 55
    3.3  探索注入依赖项的方法 55
    3.3.1  在服务参数列表上发生的依赖注入 55
    3.3.2  在路径运算符中发生的依赖注入 56
    3.3.3  针对路由器的依赖注入 57
    3.3.4  针对main.py的依赖注入 60
    3.4  基于依赖关系组织项目 61
    3.4.1  模型层 62
    3.4.2  存储库层 63
    3.4.3  存储库工厂方法 65
    3.4.4  服务层 65
    3.4.5  REST API和服务层 66
    3.4.6  实际项目结构 67
    3.5  使用第三方容器 67
    3.5.1  使用可配置容器—Dependency Injector 68
    3.5.2  使用Lagom模块 72
    3.5.3  FastAPI和Lagom集成 72
    3.6  可依赖项的范围 73
    3.7  小结 74
    第4章  构建微服务应用程序 75
    4.1  技术要求 75
    4.2  应用分解模式 76
    4.2.1  按业务单元分解 76
    4.2.2  创建子应用程序 78
    4.3  挂载子模块 79
    4.4  创建通用网关 80
    4.5  实现主端点 80
    4.6  评估微服务ID 81
    4.7  应用异常处理程序 82
    4.8  集中日志记录机制 83
    4.8.1  微服务架构可能面临的日志问题 83
    4.8.2  使用Loguru模块 84
    4.9  构建日志中间件 85
    4.9.1  中间件实现示例 86
    4.9.2  使用REST API服务 88
    4.10  使用httpx模块 88
    4.11  使用requests模块 90
    4.12  应用领域建模方法 91
    4.13  创建层 92
    4.14  识别领域模型 92
    4.15  构建存储库层和服务层 94
    4.15.1  存储库层模式 94
    4.15.2  服务层模式 96
    4.15.3  使用工厂方法模式 97
    4.16  管理微服务的配置细节 97
    4.16.1  将设置存储为类属性 98
    4.16.2  在属性文件中存储设置 99
    4.17  小结 101
    第2篇  以数据为中心的微服务和专注于通信的微服务
    第5章  连接到关系数据库 105
    5.1  技术要求 106
    5.2  准备数据库连接 106
    5.3  使用SQLAlchemy创建同步CRUD事务 107
    5.3.1  安装数据库驱动程序 108
    5.3.2  设置数据库连接 108
    5.3.3  初始化会话工厂 109
    5.3.4  定义Base类 109
    5.3.5  构建模型层 110
    5.3.6  映射表关系 111
    5.3.7  实现存储库层 113
    5.3.8  建立CRUD事务 113
    5.3.9  创建连接查询 116
    5.3.10  运行事务 117
    5.3.11  创建表 119
    5.4  使用SQLAlchemy实现异步CRUD事务 120
    5.4.1  安装兼容asyncio的数据库驱动程序 120
    5.4.2  设置数据库的连接 121
    5.4.3  创建会话工厂 121
    5.4.4  创建Base类和模型层 122
    5.4.5  构建存储库层 122
    5.4.6  运行CRUD事务 125
    5.5  使用GINO实现异步CRUD事务 126
    5.5.1  安装数据库驱动程序 127
    5.5.2  建立数据库连接 127
    5.5.3  构建模型层 127
    5.5.4  映射表关系 128
    5.5.5  实现CRUD事务 130
    5.5.6  运行CRUD事务 133
    5.5.7  创建表 134
    5.6  将Pony ORM用于存储库层 135
    5.6.1  安装数据库驱动程序 135
    5.6.2  创建数据库连接 135
    5.6.3  定义模型类 135
    5.6.4  实现CRUD事务 138
    5.6.5  运行存储库事务 141
    5.6.6  创建表 142
    5.7  使用Peewee构建存储库 142
    5.7.1  安装数据库驱动程序 142
    5.7.2  创建数据库连接 142
    5.7.3  创建表和领域层 143
    5.7.4  实现CRUD事务 146
    5.7.5  运行CRUD事务 148
    5.8  应用CQRS设计模式 148
    5.8.1  定义处理程序接口 149
    5.8.2  创建命令和查询类 149
    5.8.3  创建命令和查询处理程序 150
    5.8.4  访问处理程序 151
    5.9  小结 152
    第6章  使用非关系数据库 155
    6.1  技术要求 156
    6.2  设置数据库环境 156
    6.3  应用PyMongo驱动程序进行同步连接 158
    6.3.1  设置数据库连接 159
    6.3.2  构建模型层 160
    6.3.3  建立文档关联 161
    6.3.4  使用BaseModel类 162
    6.3.5  使用Pydantic验证 164
    6.3.6  使用Pydantic @dataclass查询文档 164
    6.3.7  实现存储库层 167
    6.3.8  构建CRUD事务 167
    6.3.9  管理文档关联 170
    6.3.10  运行事务 171
    6.4  使用Motor创建异步CRUD事务 174
    6.4.1  设置数据库连接 174
    6.4.2  创建模型层 175
    6.4.3  构建异步存储层 175
    6.4.4  运行CRUD事务 177
    6.5  使用MongoEngine实现CRUD事务 178
    6.5.1  建立数据库连接 178
    6.5.2  构建模型层 179
    6.5.3  创建文档关联 180
    6.5.4  应用自定义序列化和反序列化 182
    6.5.5  实现CRUD事务 182
    6.5.6  管理嵌入文档 184
    6.5.7  运行CRUD事务 185
    6.6  使用Beanie实现异步CRUD事务 186
    6.6.1  创建数据库连接 186
    6.6.2  定义模型类 187
    6.6.3  创建文档关联 189
    6.6.4  实现CRUD事务 189
    6.6.5  运行存储库事务 191
    6.7  使用ODMantic为FastAPI构建异步存储库 191
    6.7.1  创建数据库连接 191
    6.7.2  创建模型层 192
    6.7.3  建立文档关联 193
    6.7.4  实现CRUD事务 193
    6.7.5  运行CRUD事务 195
    6.8  使用MongoFrames创建CRUD事务 196
    6.8.1  创建数据库连接 196
    6.8.2  构建模型层 197
    6.8.3  创建文档关联 198
    6.8.4  创建存储库层 198
    6.8.5  应用存储库层 200
    6.9  小结 201
    第7章  保护REST API的安全 203
    7.1  技术要求 204
    7.2  实现Basic和Digest身份验证 204
    7.2.1  使用Basic身份验证 204
    7.2.2  应用HTTPBasic和HTTPBasicCredentials 204
    7.2.3  执行登录事务 207
    7.2.4  使用Digest身份验证 208
    7.2.5  生成哈希凭据 209
    7.2.6  传递用户凭据 209
    7.2.7  使用HTTPDigest和HTTPAuthorizationCredentials 210
    7.2.8  执行登录事务 211
    7.3  实现基于密码的身份验证 212
    7.3.1  安装python-multipart模块 212
    7.3.2  使用OAuth2PasswordBearer和OAuth2PasswordRequestForm 212
    7.3.3  执行登录事务 213
    7.3.4  保护端点的安全 216
    7.4  应用JWT 217
    7.4.1  生成密钥 217
    7.4.2  创建access_token 218
    7.4.3  创建登录事务 218
    7.4.4  访问安全端点 219
    7.5  创建基于作用域的授权 220
    7.5.1  自定义OAuth2类 221
    7.5.2  构建权限字典 221
    7.5.3  实现登录事务 222
    7.5.4  将作用域应用于端点 223
    7.6  构建授权码流 225
    7.6.1  应用OAuth2AuthorizationCodeBearer 225
    7.6.2  实现授权请求 226
    7.6.3  实现授权码响应 227
    7.7  应用OpenID Connect规范 228
    7.7.1  使用HTTPBearer 229
    7.7.2  安装和配置Keycloak环境 229
    7.7.3  设置Keycloak领域和客户端 229
    7.7.4  创建用户和用户角色 231
    7.7.5  为客户端分配角色 232
    7.7.6  通过作用域创建用户权限 233
    7.7.7  将Keycloak与FastAPI集成在一起 234
    7.7.8  实现令牌验证 236
    7.7.9  将Auth0与FastAPI集成在一起 237
    7.7.10  将Okta与FastAPI集成在一起 239
    7.8  使用内置中间件进行身份验证 239
    7.9  小结 240
    第8章  创建协程、事件和消息驱动的事务 241
    8.1  技术要求 241
    8.2  实现协程 242
    8.2.1  应用协程切换 242
    8.2.2  应用@asyncio.coroutine 242
    8.2.3  使用async/await结构 244
    8.2.4  设计异步事务 245
    8.2.5  使用HTTP/2协议 248
    8.3  创建异步后台任务 248
    8.3.1  使用协程 248
    8.3.2  创建多个任务 249
    8.4  了解Celery任务 250
    8.4.1  创建和配置Celery实例 251
    8.4.2  创建任务 252
    8.4.3  调用任务 253
    8.4.4  启动工作服务器 254
    8.4.5  监控任务 255
    8.5  使用RabbitMQ构建消息驱动的事务 256
    8.5.1  创建Celery实例 256
    8.5.2  监控AMQP消息传递 256
    8.6  使用Kafka构建发布/订阅消息 257
    8.6.1  运行Kafka代理和服务器 258
    8.6.2  创建主题 258
    8.6.3  实现发布者 258
    8.6.4  在控制台上运行使用者 259
    8.7  实现异步服务器发送事件 260
    8.8  构建异步WebSocket 262
    8.8.1  实现异步WebSocket端点 262
    8.8.2  实现WebSocket客户端 263
    8.9  在任务中应用反应式编程 264
    8.9.1  使用协程创建Observable数据 265
    8.9.2  创建后台进程 267
    8.9.3  访问API资源 268
    8.10  自定义事件 270
    8.10.1  定义启动事件 270
    8.10.2  定义关闭事件 270
    8.11  小结 271
    第3篇  与基础设施相关的问题、数字和符号计算、测试微服务
    第9章  利用其他高级功能 275
    9.1  技术要求 275
    9.2  应用会话管理 276
    9.2.1  创建用户会话 276
    9.2.2  管理会话数据 278
    9.2.3  删除会话 280
    9.2.4  自定义BaseHTTPMiddleware 280
    9.3  管理CORS机制 282
    9.4  自定义APIRoute和Request 284
    9.4.1  管理数据正文、表单或JSON数据 284
    9.4.2  加密和解密消息正文 287
    9.5  选择适当的响应 288
    9.5.1  设置Jinja2模板引擎 292
    9.5.2  设置静态资源 292
    9.5.3  创建模板布局 292
    9.5.4  使用ORJSONResponse和UJSONResponse 294
    9.6  应用OpenAPI 3.x规范 295
    9.6.1  扩展OpenAPI模式定义 295
    9.6.2  使用内部代码库属性 298
    9.6.3  使用Query、Form、Body和Path函数 300
    9.7  测试API端点 303
    9.7.1  编写单元测试用例 303
    9.7.2  模拟依赖项 304
    9.7.3  运行测试方法 306
    9.8  小结 307
    第10章  解决数值、符号和图形问题 309
    10.1  技术要求 309
    10.2  设置项目 310
    10.2.1  使用Piccolo ORM 310
    10.2.2  创建数据模型 312
    10.2.3  实现存储层 313
    10.2.4  Beanie ODM 314
    10.3  实现符号计算 314
    10.3.1  创建符号表达式 314
    10.3.2  求解线性表达式 315
    10.3.3  求解非线性表达式 316
    10.3.4  求解线性和非线性不等式 317
    10.4  创建数组和DataFrame 317
    10.4.1  应用NumPy的线性系统操作 318
    10.4.2  应用pandas模块 319
    10.5  执行统计分析 320
    10.6  生成CSV和XLSX报告 321
    10.7  绘制数据模型 325
    10.8  模拟BPMN工作流 328
    10.8.1  设计BPMN工作流 328
    10.8.2  实现工作流 329
    10.9  使用GraphQL查询和突变 331
    10.9.1  设置GraphQL平台 332
    10.9.2  创建记录的插入、更新和删除 332
    10.9.3  实现查询事务 334
    10.9.4  运行CRUD事务 334
    10.10  利用Neo4j图数据库 336
    10.10.1  设置Neo4j数据库 337
    10.10.2  创建CRUD事务 337
    10.11  小结 340
    第11章  添加其他微服务功能 343
    11.1  技术要求 343
    11.2  设置虚拟环境 344
    11.3  检查API属性 346
    11.4  实现OpenTracing机制 347
    11.5  设置服务注册表和客户端服务发现 350
    11.5.1  实现客户端服务发现 351
    11.5.2  设置Netflix Eureka服务注册表 352
    11.6  使用Docker部署和运行应用程序 353
    11.6.1  生成requirements.txt文件 353
    11.6.2  创建Docker镜像 354
    11.6.3  使用Mongo Docker镜像 355
    11.6.4  创建容器 355
    11.7  使用Docker Compose进行部署 356
    11.8  使用NGINX作为API网关 357
    11.9  集成Flask和Django子应用程序 358
    11.10  小结 360


     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购