基于 Amazon API Gatewy 的跨账号跨网络的私有 API 集成

news2024/9/22 7:32:36

一、背景介绍

本文主要讨论的问题是在使用 Amazon API Gateway,通过 Private Integration、Private API 来完成私有网络环境下的跨账号或跨网络的 API 集成。API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境),因为客观上不同业务系统的存在,都需要和 API 管理平台集成,所以API管理平台很有可能会连接不同网络环境,可能是亚马逊云科技提供的其他的区域、线下的环境、或是其他云的环境。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

在讨论正题之前,我们先来谈论下 API 管理平台。API 是现代应用开发的一个典型部分。它们使应用程序、系统和服务能够有效沟通,打破了底层技术的孤岛。为了以有效和可扩展的方式最大限度地利用这些 API,API 管理是必须的。利用 API 管理平台可以使企业能够以安全、简便和高效的方式规划、设计、测试、发布、运营、安全和版本控制其 API,从而获得企业所能提供的数据和服务的最大潜力。

Amazon API Gateway 是一种完全托管的服务,可以帮助开发人员轻松创建、发布、维护、监控和保护任意规模的 API。API 充当应用程序的前门,可从您的后端服务访问数据、业务逻辑或功能。使用 API Gateway,您可以创建 RESTful API、Http API 和 WebSocket API,以便实现实时双向通信应用程序。API Gateway 支持容器化和无服务器工作负载,以及 Web 应用程序。

API Gateway 负责管理所有任务,涉及接受和处理成千上万个并发 API 调用,包括流量管理、CORS 支持、授权和访问控制、限制、监控,以及 API 版本管理。API Gateway 没有最低费用或启动成本。您只需为您收到的 API 调用和传出的数据量付费。

我们观察到不同的客户都在评估或是部署 API 管理平台,Amazon API Gateway 作为一个云原生无服务器架构的 API 管理平台,将能很好的满足您对 API 管理的需求。

另外,基于 OpenAPI 接口规范实现的应用程序可以自动生成方法、参数和模型的文档。这有助于保持文档、客户端库和源代码的同步。并且 OpenAPI 规范是不分语言的。通过 OpenAPI 的声明性资源规范,客户可以理解和消费服务,而无需了解服务器的实现或访问服务器代码。API Gateway 也支持 OpenAPI v2.0 和 OpenAPI v3.0 的规范。

二、概念介绍

当您在使用 API Gateway 的过程中,有一些关键的概念和定义,是达成 API Gateway 主要功能的前置条件。

Integration (集成),这个是 API Gateway 实现其功能的核心概念。不论是 Restful API、HTTP API还是 WebSocket API,都是通过 Integration (集成) 这个关键动作将 API Gateway 暴露出的供访问的接口和后端的具体实现相连接。这里的后端可能是 Lambda 函数、其他 Amazon 服务、或是其他的 HTTP 资源、亦或是置放于 VPC 内的私有资源或内部网络中的资源。只是,REST API 由资源和方法组成;HTTP API 由路由和资源组成;WebSocket API 也是由路由和路由键组成;

REST API 由资源和方法组成。资源是一种逻辑实体,应用程序可以通过资源路径来访问资源。方法与您的 API 用户提交的 REST API 请求以及返回给该用户的相应响应对应。

HTTP API 由路由和资源组成。将直接传入 API 请求路由到后端资源。路由包含两部分:HTTP 方法和资源路径,例如,GET /pets。您可以为路由定义特定的 HTTP 方法。或者,您可以使用 ANY 方法匹配尚未为资源定义的所有方法。您可以创建一个 $default 路由,用作与任何其他路由不匹配的请求的 “捕获全部” 方法。

WebSocket API 由路由和路由键组成。与接收和响应请求的 REST API 不同,WebSocket API 支持客户端应用程序与后端之间的双向通信。后端可以向连接的客户端发送回调消息。

Private Integration: 正如上面描述的那样,Integration (集成)是 API Gateway 中的一个关键动作。Private Integration 强调的是集成置放于 VPC 内的私有资源或内部网络中的资源。官方文档介绍:

设置 API Gateway 私有集成 - Amazon API Gateway

VPC Link: 通过 VPC 链接 (VPC Link),您可以创建私有集成,将 HTTP API 路由连接到 VPC 中的私有资源,例如 Network/Application Load Balancer 或基于 Amazon ECS 容器的应用程序。私有集成使用 VPC Link 来封装 API Gateway 与目标 VPC 资源之间的连接。您可以跨不同的路由和 API 重复使用 VPC 链接。创建 VPC Link时,API Gateway 在您的账户中为 VPC 链接创建和管理弹性网络接口。

其实 VPC Link 就是为了实现 Private Integration 的一个技术组件。

Private API: 指的是 API Gateway 暴露的 API 只能在私有网络内部访问,不能从公网访问。

以上的 Private Integration,Private API 和 VPC Link,这里还有一个博客文章,可供大家学习参考: Understanding VPC links in Amazon API Gateway private integrations | AWS Compute Blog

Proxy Integration (代理集成): 借助无所不包的代理资源 {proxy+} 和 REST/HTTP 方法,名为 ANY,也就能匹配任何 REST/HTTP 方法,您可以使用代理集成来创建一个方法为 ANY 的 API。该方法会暴露后端的一整套可访问的 HTTP 资源和操作。当后端 Web 服务器开放更多资源以供公开访问时,客户端可以通过这同一个 API 来访问新资源。

PrivateLink:Amazon PrivateLink 是一项具有高可用性的可扩展技术,它支持将您的 VPC 私密地连接到支持的亚马逊云科技服务、由其他 Amazon 账户托管的服务(通过VPC 终端节点服务来实现)以及支持亚马逊云科技 Marketplace 合作伙伴服务。您无需使用互联网网关、NAT 设备、公有 IP 地址、 Direct Connect 连接或 Amazon Site-to-Site VPN 连接,就能与该服务通信。

VPC Endpoint services (VPC 终端节点服务):您 VPC 中自己的应用程序或服务。

VPC Endpoint (VPC 终端节点):在 VPC 中可让您私密地连接到VPC 终端节点服务的入口点。

三、架构图和问题定义

1) 架构图介绍

1.1)因为在真实的场景中,API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境),又因为客观上不同业务系统的存在,都需要和API管理平台集成,所以 API 管理平台很有可能会连接不同网络环境,可能是亚马逊云科技提供的其他的区域、线下的环境、或是其他云的环境。因此上面的架构图设计了跨账号、跨不同网络的环境。

1.2)这里设定 3 个云上的账号,分别是 API-Gateway Account,Application Account 和 Consumer Account。为了配置方便,这里 Consumer 和 API-Gateway 在同一个账号中相同的 VPC 中。同时还有一个 Other Place 来表征可能是亚马逊云科技提供的其他的区域、线下的环境、或是其他云的环境。

2) 问题定义

如上面的架构图,本文主要讨论的问题是在使用 API Gateway 情况下,通过 Private Integration、Private API、VPC Link 以及 VPC Endpoint services、VPC Endpoint。来完成私有网络环境下的跨账号或跨网络的 API 集成。

四、具体配置

配置主要分两块,一是和跨账号的内部应用 API 进行集成,二是通过和内部网络资源集成。

1. 和跨账号的内部应用API进行集成

1) 配置接口终端节点服务 (VPC Endpoint Services)

登陆到 Application Account (01477*******),在 EC2 中选择 Load Balancers,查看通过 EKS 创建好的 Service (以 internal NLB 的形式出现),这里相当于架构图上的紫色 1 和 2

参考官方手册创建由 Amazon PrivateLink 提供支持的服务 - Amazon Virtual Private Cloud

完成 “接口终端节点服务” 创建,这里相当于架构图上的紫色 3。

选择服务 –VPC 中的 Endpoint Services,然后点击 Create endpoint service

选择之前 EKS 创建好的 Service(以 NLB 暴露的)

其他选项保持默认。

配置端点服务 - Amazon Virtual Private Cloud

在创建终端节点服务配置后,您可以控制哪些服务使用者能够创建连接您服务的接口终端节点。

输入允许访问此接口终端节点服务的 Amazon 账号中的 IAM user 或 role 的 ARN,可以参考如下官方手册:

配置端点服务 - Amazon Virtual Private Cloud

创建好的 “接口终端节点服务” 如下,复制 Service name, 接下来会用。

2) 配置接口终端节点 VPC Endpoint

登陆到 API-Gateway Account (84234*******),选择服务 –VPC 中的 Endpoint,然后点击 Create endpoint,输入 Name 和之前复制的Service name,并 Verify

service。这里相当于架构图上的紫色 4 和 5 。

这里选择 VPC 和 Subnets 时需要注意,因为会分别在选定的子网中创建一个端点网络接口 (ENI)。一个端点网络接口会从你的子网的IP地址范围内分配一个私有 IP 地址,并保持这个 IP 地址,直到接口端点被删除。

注意创建好的在子网中的网络接口 (ENI),记录对应的子网和 ip 地址。

3) 接受终端节点连接请求 (Endpoint connections)

登陆到 Application Account (01477*******),在 VPC 中选择 Endpoint services, 选择之前创建的 Endpoint services。在 Endpoint connections 中选择 Accept endpoint connection request。

4) 创建供 VPC link 使用的 NLB

登陆到 API-Gateway Account (84234*******),选择服务 –EC2 中的 Target groups, 然后选择 IP addresses, 配置如下,其他保持默认。这里相当于架构图上的紫色 6。

在下一步中 network 选择对应的 VPC,IP 地址输入上一步记录下来的 IP 地址。

登陆到 API-Gateway Account (84234*******), 选择服务 –EC2 中的 Load balancers, 然后点击 Network Load Balancer 处的 Create。选择 Internal。

这里选择对应的 VPC 和子网。

创建完成后,记录 NLB DNS name( nlb-vpc-link-bbbd845d48779f09.elb.us-east-1.amazonaws.com )

5) 创建供 VPC Link

登陆到 API-Gateway Account (84234*******),选择服务 –API Gateway 中的 VPC links, 然后点击 Create 选择 VPC link for REST APIs, 在点击 Create。这里相当于架构图上的紫色 6。

在 Target NLB 中选择刚创建的 NLB:

注意创建好的 VPC Link 的状态是 Available, 同时记录 VPC Link ID是 nlb-vpc-link(wo74ch), 接下来需要使用。

6) 为创建 Private Restful API 而准备针对 API Gateway 的 VPC Endpoint

这里先解释一下,虽然都是叫 VPC Endpoint,这里的 VPC Endpoint是为 API Gateway 这 Serverless 服务创建一个 Interface VPC Endpoint,也就是在指定的 VPC 中的子网创建ENI。而之前的创建的 VPC Endpoint 是为了访问其他账号的通过 VPC Endpoint services 暴露出来的服务。共同点是它们都用了 Private Link 的技术。

登陆到 API-Gateway Account (84234*******),选择服务 –VPC 中的Endpoints, 然后点击 Create endpoint。这里相当于架构图上的紫色 8。

记录创建好的 VPC Endpoint ID,接下来需要使用

7) 针对跨账号的资源创建 Private Restful API

登陆到 API-Gateway Account (84234*******),选择服务 –API Gateway 中的 APIs, 然后选择 REST API Private, 在点击 Build。这里相当于架构图上的紫色 7。

配置如下图,在 Endpoint Type 处选择 Private, VPC Endpoint IDs 输入上一步记录的 VPC Endpoint ID。

接下来,我们接下来创建资源 (Resource) 和方法 (Method)

创建 Resource,勾选 Configure as proxy resource 和 Enable API Gateway CORS,因为选择了 Configure as proxy resource,所以将 /{proxy+} 配置为代理资源,可以捕获所有对其子资源的请求。例如,它适用于对 /foo 的 GET 请求。为了处理对/的请求,在/资源上添加一个新的 ANY 方法。否则资源的访问只能通过路径 https://.execute-api..amazonaws.com/test/{proxy+} 访问资源,无法通过路径 https://.execute-api..amazonaws.com/test/ 访问资源。

在跳出的页面中配置 private integration, 具体配置如下,Integration type 处选择 VPC Link,勾选 Use Proxy Integration,VPC Link 处选择之前创建的 VPC Link — nlb-vpc-link(wo74ch). Endpoint URL 输入NLB DNS name( nlb-vpc-link-bbbd845d48779f09.elb.us-east-1.amazonaws.com ). 注意此处的 Endpoint URL 参数不是用于将请求路由到终端节点,而是用于设置 Host 标头和证书验证。

同样的在/下如上面的步骤创建 ANY method。否则资源的访问只能通过路径 https://.execute-api..amazonaws.com/test/{proxy+} 访问资源,无法通过路径 https://.execute-api..amazonaws.com/test/ 访问资源。

在 Deploy API 之前需要创建 Resource Policy,来限定和保护你的API可供满足什么条件的访问,比如限定 ip 地址,VPC,只能通过 API Gateway VPC endpoint 才能访问。选择 Resource Policy 输入如下内容:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/*",
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": "vpce-0416bbea8fb2bd63a"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/*"
        }
    ]
}
复制代码

“aws:sourceVpce”: “vpce-0416bbea8fb2bd63a” 为限定只能从名为 vpce-0416bbea8fb2bd63a 的 VPC endpoint 来访问此 API。

通过 Deploy API 来部署 API:

因为 Resource Policy 的限制,只能通过私网环境访问。

8) 跨账号通过私有网络测试 Private Restful API

现在模拟从 Consumer Account 发起对 api — https://3eqr0osoc3.execute-api.us-east-1.amazonaws.com/test 访问

测试成功。

2. 和内部网络资源集成

和内部网络资源集成又分两种情况

(1)需要被集成的资源是通过 IP 地址来访问的

(2)需要被集成的资源是通过 Endpoint/URL 来访问的

接下来针对被集成的资源是通过 IP 地址来访问的来讨论,具体的配置过程:

1) 确保网络打通

在架构图中,通过 Transit Gateway 以及 Direct connect 和线下或是其他网络环境已经建立了网络连接。我在这里是通过同一个亚马逊云科技的账号跨不同的区域来模拟此种场景。

这里相当于架构图上的红色 2,3,4,5。

我已经在 Other Region 部署好了 nginx 的 EC2 的环境,用来模拟在 Other Place

(Amazon other Region/On-premise/3rd location) 中资源,有 IP 地址是 172.31.12.59。这里相当于架构图上的红色 1。

2)利用之前创建好的针对 API Gateway 的 VPC Endpoint

也可以参考之前的步骤:

6)为创建 Private Restful API 而准备针对 API Gateway 的 VPC Endpoint

这里相当于架构图上的红色 9。

3)创建为 VPC link 准备的 NLB 登陆到 API-Gateway Account (84234*******),选择服务 –EC2 中的 Target groups, 然后选择 IP addresses, 选择已经和 Other Place

(Amazon other Region/On-premise/3rd location) 建立了连接的 VPC,协议选择 TCP。配置如下,其他保持默认。

在下一步中 network 选择对应的 Other private IP address,IP 地址输入在 Other Place

(Amazon other Region/On-premise/3rd location) 中部署的资源 EC 的 IP 地址 172.31.12.59。再点击 Include as pending below.这样你就可以在 Review Targets 看到添加的 Target.

登陆到 API-Gateway Account(84234*******),选择服务 –EC2 中的 Load balancers, 然后点击 Network Load Balancer 处的 Create。选择 Internal。

这里选择对应的 VPC 和子网。

选择刚才创建好的 Target Group。

创建完成后,记录 NLB DNS name( nlb-other-network-137d7c7c7e159265.elb.us-east-1.amazonaws.com )

4) 创建VPC Link

登陆到 API-Gateway Account(84234*******),选择服务 –API Gateway 中的 VPC links, 然后点击 Create 选择 VPC link for REST APIs, 在点击 Create。这里相当于架构图上的红色 6,7。在 Target NLB 中选择刚创建的 NLB:

注意创建好的 VPC Link 的状态是 Available, 同时记录 VPC Link ID是 nlb-other-network (6h953x), 接下来需要使用。

5)针对跨网络的资源创建 Private Restful API

登陆到 API-Gateway Account (84234*******),选择服务 –API Gateway 中的 APIs, 然后选择 REST API Private, 在点击 Build。这里相当于架构图上的红色 8。

配置如下图,在 Endpoint Type 处选择 Private, VPC Endpoint IDs 输入之前创建的 VPC Endpoint ID。

接下来,我们接下来创建资源 (Resource) 和方法 (Method)

创建 Resource,勾选 Configure as proxy resource 和 Enable API Gateway CORS,因为选择了 Configure as proxy resource,所以将 /{proxy+} 配置为代理资源,可以捕获所有对其子资源的请求。例如,它适用于对 /foo 的 GET 请求。为了处理对/的请求,在/资源上添加一个新的 ANY 方法。否则资源的访问只能通过路径https://.execute-api..amazonaws.com/test/{proxy+} 访问资源,无法通过路径 https://.execute-api..amazonaws.com/test/ 访问资源。

在跳出的页面中配置 private integration, 具体配置如下, Integration type 处选择 VPC Link,勾选 Use Proxy Integration,VPC Link 处选择之前创建的 VPC Link — nlb-other-network (6h953x). Endpoint URL 输入上一步准备的 NLB DNS name( nlb-other-network-137d7c7c7e159265.elb.us-east-1.amazonaws.com )。注意此处的 Endpoint URL 参数不是用于将请求路由到终端节点,而是用于设置 Host 标头和证书验证。

同样的在/下如上面的步骤创建 ANY method。此处不赘述。

在 Deploy API 之前需要创建 Resource Policy 和 Deploy API,遵照之前的步骤就可以了。

通过 Deploy API 来部署 API:

Serverless

创建好的 API 如下:

5) 跨网络通过私有网络测试 Private Restful API

现在模拟从 Consumer Account 发起对 api — https://buw9ocq5f5.execute-api.us-east-1.amazonaws.com/newtest 访问 测试成功。

五、总结

通过以上的步骤,我们通过亚马逊云科技 API 管理平台 API Gateway 完成跨账号和内部应用 API 进行集成,另外通过和内部网络资源集成。很好的满足了在私有网络情况下通过 Rest 对 API 管理和集成。

参考材料:

使用 AWS CLI 设置具有私有集成的 API Gateway API - Amazon API Gateway

Amazon API Gateway - Amazon Web Services s 入门

设置 API Gateway 私有集成 - Amazon API Gateway

Understanding VPC links in Amazon API Gateway private integrations | AWS Compute Blog

创建由 Amazon PrivateLink 提供支持的服务 - Amazon Virtual Private Cloud

配置端点服务 - Amazon Virtual Private Cloud

本篇作者

金忠敏

Amazon 解决方案架构师,现在专注于云计算解决方案和架构的工作。具有超过 15 年的 IT 从业经验,曾从事软件开发,售后支持,系统交付,售前等工作。参与过很多大型项目架构设计和实施交付。

文章来源:https://dev.amazoncloud.cn/column/article/630a3483d4155422a4610a62?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生于零售的亚马逊云科技,如何加速中国跨境电商企业出海?

导读:跨境电商进入精耕细作的新阶段。 作为中国企业出海的重要领域之一,近几年跨境电商行业处在快速发展中。商务部数据显示,2022年中国跨境电商出口达1.55万亿,同比增长11.7%。2023年1-2月,跨境电商进出口总额同比增长…

【wpf】视觉树上找元素的注意事项

前言 我们通过 VisualTreeHelper类 可以在视觉树上找元素,下面提供几个封装好的方法: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; using Sy…

分析| Flutter 3.10版本有哪些变化?

Flutter是Google推出的一款用于构建高性能、高保真度移动应用程序、Web和桌面应用程序的开源UI工具包。Flutter使用自己的渲染引擎绘制UI,为用户提供更快的性能和更好的体验。Flutter还提供了丰富的构建工具、库和插件,使开发人员能够更快地构建应用程序…

从浅入深理解序列化和反序列化

文章目录 什么是java序列化什么情况需要使用 Java 序列化为什么要序列化序列化和反序列化过程如下RPC 框架为什么需要序列化序列化用途序列化机制可以让对象地保存到硬盘上,减轻内存压力的同时,也起了持久化的作用序列化机制让Java对象可以在网络传输 实…

LINUX 提权 脏牛CVE-2016-5195

这里写复现过程,不写原理 Linux内核 > 2.6.22(2007年发行,到2016年10月18日才修复) 靶场环境是vluhub上的。网卡自己配置好 nmap扫一下 80端口开的,上去 52.136 再扫 1898开放 访问开干 是个cms msf上线找这…

【VictoriaMetrics】VictoriaMetrics单机版批量和单条数据写入(opentsdb格式)

VictoriaMetrics单机版支持以opentsdb格式的数据写入包含linux形式和postman形式,写入支持单条数据写入以及多条数据写入,下面操作演示下如何使用 1、首先需要启动VictoriaMetrics单机版服务 注意,如果支持opentsdb协议需要在启动单机版VictoriaMetrics的时候加上opentsdbH…

一、尚医通微信登录

文章目录 一、登录需求1、登录需求 二、微信登录1、OAuth21.1OAuth2解决什么问题1.1.1 开放系统间授权1.1.2图例1.1.3方式一:用户名密码复制1.1.4方式二:通用开发者key1.1.5方式三:颁发令牌 1.2 OAuth2最简向导1.2.1 OAuth主要角色1.2.2最简向…

就业内推 | 国企招运维、网安,五险一金全额缴,最高15k

01 北京安信创业信息科技发展有限公司 🔷招聘岗位:网络运维岗 🔷职责描述: 1、负责北区数据中心、总部数据中心、部本部、21家在京直属事业单位内网网络系统的日常运行维护工作。 2、负责网络故障的应急处置。 3、负责网络系统…

决策树及决策树的划分依据(ID3、C4.5、CART)

一、决策树是什么? 决策树是一种基于树状结构的机器学习算法,用于解决分类和回归问题。它是一种自上而下的递归分割方法,通过对特征空间的递归划分来构建一个树形模型,用于进行预测和决策。在决策树中,每个内部节点表…

Redis概述

前言 为什么要使用Redis? ​ 如果熟悉JVM底层的话,就能了解Java程序的运行大多数都是基于对内存的操作,读取、并更、清理,并同时保证数据的可靠性。即使是数据库,例如MySQL几乎都是基于对缓冲区的操作,只是通过后台…

(常见)数据模型

文章目录 数据模型概述一、数据模型概要1.模型、建模与抽象2.数据模型3.两类数据模型 二、数据库模型的组成要素1.数据结构2.数据操作3.数据的完整性约束 三、概念模型1.概要2.基本概念3.概念模型的表示方法 常用数据模型一、层次模型1.简介2.数据结构3.数据操纵与完整性约束4.…

二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出:1 示例 2: 输入&am…

List、Set、Map的区别?

List 是一个有序集合,里面可以存储重复的元素Set 是一个不能存储相同元素的集合Map 是一个通过键值对的方式存储元素的,键不能重复 Java 容器分为Collection 和Map 两大类,Collection 集合的子接口有Set、List、Queue 三种子接口。其中&#…

CSDN MD编辑器跳转方法及字体格式

一、点击关键语句跳转指定位置 在CSDN写文章的时候,写的文章过长往往会让读者很难找到自己想看的部分,这时候有个 跳转到指定位置功能 就非常的便利。CSDN在MD编辑器上(富文本编辑器只有一种)就提供了两种跳转到指定位置的方法: 一、目录跳转…

HackTheBox-关卡Fawn

1. 连接靶场,打开FAWN实例场景,检查是否互通 TASK1 3 个字母的首字母缩写词 FTP 代表什么? 答案是:File Transfer Protocol TASK2 问题是:FTP服务通常监听哪个端口? FTP监听的TCP端口号为21,监听的数据端…

【自动化测试】selenium工具

文章目录 为什么要做自动化测试?为什么选用Selenium?Selenium的工作原理SeleniumJava环境搭建Selenium常用API浏览器参数配置定位元素操作测试对象时间等待信息打印对浏览器操作键盘与鼠标操作屏幕截图弹窗处理选择框的处理上传文件 JUnit单元测试注解参…

睡岗识别 TensorFlow

睡岗识别可以通过TensorFlowAI深度学习框架智能分析技术,睡岗识别识别出现场人员是否存在睡岗情况,及时发出预警,避免因操作人员的疏忽而导致的安全事故。TensorFlow 是一个开源的机器学习的框架,我们可以使用 TensorFlow 来快速地…

3年自动化测试这水平?我还不如去招应届生...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。看简历很多都是3年工作经验,但面试…

【Python Seaborn】零基础也能轻松掌握的学习路线与参考资料

Python Seaborn是一个基于Python的可视化库,为Matplotlib库的扩展,提供了更加高级的数据可视化功能和丰富的统计图形。在学习Python数据科学和机器学习中,Seaborn有很好的数据可视化工具,也能够提供有帮助的统计图表来揭示数据之间…

实时频谱-2.5DPX

数字荧光显示 “数字荧光”一词源自包在阴极射线管(CRT)上的荧光,电视机、计算机监视器和其它测试设备显示器都使用阴极射线管。在电子束激活荧光时,它会发出荧光,照亮电子流画出的路径。 尽管液晶显示器(LCD)之类的光栅扫描技术由于厚度和…