api接口

从零开始入门 K8s | K8s 安全之访问控制

最后都变了- 提交于 2020-03-20 02:29:28
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

web api 配置 Swagger

隐身守侯 提交于 2020-03-18 17:02:14
某厂面试归来,发现自己落伍了!>>> swagger安装 Nuget搜索swagger,然后安装Swashbuckle 安装好了后 删除多余的SwaggerUI文件夹 删除多余的配置类SwaggerNet 4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http://xxx/Swagger。但是没有接口的注释,下面添加接口注释 项目属性->勾选生成xml文档文件 修改SwaggerConfig文件 // c.IncludeXmlComments(GetXmlCommentsPath()); // 设置接口描述xml路径地址 c.IncludeXmlComments( string .Format( " {0}/bin/SwaggerDemo.XML " , System.AppDomain.CurrentDomain.BaseDirectory)); 给接口添加注释,即可看到参数及方法描述了 这样好了后发现没有 具体接口的名称 这时候找到App_Start 里面的WebApiConfig 这个文件 修改下 routeTemplate 修改为 这样配置Swagger 就完成了 来源: oschina 链接: https://my.oschina.net/u/2494395/blog/3197521

手把手教你用Abp vnext构建API接口服务

牧云@^-^@ 提交于 2020-03-17 18:05:43
ABP是一个开源应用程序框架,该项目是ASP.NET Boilerplate Web应用程序框架的下一代,专注于基于ASP.NET Core的Web应用程序开发,也支持开发控制台应用程序。 官方网站: https://abp.io/ 官方文档: https://docs.abp.io/ 一、使用ABP框架可以快速的搭建一个应用程序,仅需要几步即可完成: 1. 安装ABP CLI ABP CLI是使用ABP框架启动新解决方案的最快方法。如果没有安装ABP CLI,使用命令行窗口安装ABP CLI: dotnet tool install -g Volo.Abp.Cli 2. 在一个空文件夹中使用abp new命令创建您的项目: abp new Acme.BookStore 您可以使用不同级别的名称空间。例如BookStore,Acme.BookStore或Acme.Retail.BookStore。 这样,就已经完成了一个应用程序的搭建。 然后我们只需要修改一下其他的配置即可运行应用程序,开发人员在这个架构的基础上就可以愉快的撸代码了。 然而,ABP的学习才刚刚开始。ABP放弃了原有MVC的架构,使用了模块化架构,支持微服务,根据DDD模式和原则设计和开发,为应用程序提供分层模型。对于没有微服务开发经验的程序员来说,学习ABP难度比较大。下面我们开始从一个空的web解决方案

JIRA API 对接

拈花ヽ惹草 提交于 2020-03-17 00:42:47
系统要跟JIRA对接,将本系统数据发送给jira,jira数据返回给本系统。 开始一头雾水怎么让数据传过去已什么形式存在,是存数据库呢还是怎么显示呢。研究半天发现其实只要将原数据作为json数据提供给jira接口,jira接口进行创建issue。 但前提在于要先创建项目。 jira的API 有很多有创建项目的,创建问题等。在线找到了6.1版本的API,根据这个文档可以查看是get还是post,需要哪种类型的json文件,返回值是什么。 https://docs.atlassian.com/DAC/rest/jira/6.1.html 了解了jira的api开始写本系统的接口,jira使用的是restful的接口,所以很好调用。 第一步使用了soapui将数据格式先调通,而在工具下发现了很多问题,但都有一定的返回值,详细描述了错误。原因1:json文件的错误;原因2:没有给定权限。 怎么解决呢?1.json格式先查看json格式在看内容。2.返回权限问题时,想到添加个header然后加个cookies。 所以在调用接口是先调用取cookies的接口,添加到header中,然后创建issue。 string seesionsjson =HttpPost("Post","xxxxx:8080/rest/auth/1/session", postuser, ""); string

Amazon API Gateway Importer整合过程小结

徘徊边缘 提交于 2020-03-16 02:21:02
(1)需要将swagger json转换成amazon api gateway 所需要的格式(根据Method Request中 Request Paths URL Query String Parameters HTTP Request Headers ---> Integration Request 中对应的: URL Path Parameters URL Query String Parameters HTTP Headers )并在Integration Request中填写接口的相对应的信息: Integration type HTTP method Endpoint URL Content Handling 相关说明: ams只是遵守了swagger2的规范,并没有完全支持aws api gateway的扩展 aws api gateway 的json数据, You can fully define an API Gateway API in Swagger using the x-amazon-apigateway-auth and x-amazon-apigateway-integration extensions-------------这个说法是错误的。因为Spring fox2.6.1中的@Extension doesn't allow child

Lambda钱包API接入文档

♀尐吖头ヾ 提交于 2020-03-11 20:17:03
钱包API接入文档说明 参考钱包版本: Wallet0.4.40 钱包账户信息文档文档: 钱包账户信息、签名、配置文件说明 主网的钱包服务地址: 39.107.247.86:13659 测试网的钱包服务地址: 47.93.196.236:13659 业务发送说明:发送交易数据可以采用同步或异步方式,同步方式可以获取因为格式等造成的错误信息;异步为async,同步为 block 一 首页模块 图片 1 lamb余额的数量 账户信息接口 /auth/accounts/${address} 例如 http://47.93.196.236:13659/auth/accounts/lambda1v664znyhztfx3m0v0uua497r5cptg3rd2ytnm8 查找coins 中denom 为 ulamb 即可 { "type": "auth/Account", "value": { "address": "lambda1v664znyhztfx3m0v0uua497r5cptg3rd2ytnm8", "coins": [{ "denom": "ubtc", "amount": "1000000" }, { "denom": "ulamb", "amount": "3000000" }], "public_key": null, "account_number": "502",

使用Python实现量化交易机器人定时启动或停止小工具

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-11 13:05:55
使用Python实现量化交易机器人定时启动或停止小工具 作为全网功能强大、灵活易用的量化交易平台,发明者量化交易平台虽然使用门槛非常低,机器人程序占用资源很少。但是我们依然希望,让机器人需要运行的时候启动,不需要运行时停止。 例如,在做商品期货程序化、量化交易时,非开市时间占全天的绝大部分。这样我们就非常希望只让机器人在开市时间运行,每天只开市时间运行多节省费用,想想都激动。为了这个需求,我们可以使用Python语言编写一个在FMZ量化交易平台上运行的策略机器人,让这个机器人通过 发明者量化交易平台的扩展API接口,定时控制机器人的启动和停止。 有了需求,说干就干! 其实整个代码非常简单,调用发明者量化交易平台扩展API接口的例子直接可以使用,地址: https://www.fmz.com/api#%E7%AE%80%E5%8D%95%E7%9A%84%E4%BE%8B%E5%AD%90 直接使用例子中的函数: def api(method, *args) 我们需要调用的接口也很简单,用到以下两个接口(在FMZ文档上可以查询到) RestartRobot 重启机器人接口,参数传入机器人ID即可。 使用具体 id ,这样调用即可: api('RestartRobot', id) StopRobot 停止机器人接口,参数也是机器人 ID 。 机器人 ID 查看、获取,截图:

【asp.net core】实现动态 Web API

耗尽温柔 提交于 2020-03-10 13:02:14
序言: 远程工作已经一个月了,最近也算是比较闲,每天早上起床打个卡,快速弄完当天要做的工作之后就快乐摸鱼去了。之前在用 ABP 框架 (旧版)的时候就觉得应用服务层写起来真的爽,为什么实现了个 IApplicationService 的空接口就可以变成 Web API,可惜的是之前一直没空去研究这一块的原理及其实现,园子里也找不到相关实现原理的文章(旧版 ABP 的倒是有,但是 asp.net core 无法参考)。最近闲起来,就看了一下 abp vnext 的源码,并且也参考了一下 晓晨Master 介绍的 Panda.DynamicWebApi 。我自己也简单实现了一遍动态 Web API,不禁感叹 asp.net core 设计之精妙。 abp vnext : https://abp.io Panda.DynamicWebApi : https://github.com/pdafx/Panda.DynamicWebApi 这里先感谢这两个库的相关人员,没有他们的工作,本文也出现不了。 另外在此声明,本文意在探究其实现原理并实现一个简易版本,若无把握请勿用于生产环境。 正文: 首先先创建我们的解决方案如下: 因为动态 Web API 这一功能是与业务无关的,而且为了复用,我们应该把这一功能的实现写到一个单独的类库当中。上图中 Demo 项目是 asp.net core 3.1

微信机器人接口

时光毁灭记忆、已成空白 提交于 2020-03-09 11:58:55
微控API 是一套的微信个人号 接口,它能监测微信中的各种事件,并辅助微信执行各种操作,提供了客户与微信个人号对接的能力,技术上来讲是一款基于MAC/IPAD协议开放性API。杜绝封号,追封,批量封等封号问题,支持多种微信方式接入。 你可以 通过API 实现 个性化微信功能 (例:营销系统、机器人小助手、客服系统等),用来自动管理微信消息 文档地址: 点击这里 https://wkteam.gitbook.io/api 在线测试: 点击这里 (https://documenter.getpostman.com/view/1268847/SzKQxKf5?version=latest#355af8ee-0353-4a9e-92f6-ff284c514bec) 来源: https://www.cnblogs.com/wkteam/p/12447086.html

【Django】Django-REST-Framework

99封情书 提交于 2020-03-09 06:56:06
【创建简单的API】 1. cmd.exe >django-admin startproject django_rest >cd django_rest \django_rest>python3 manage.py startapp api 2. setting.py 加应用 # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'api', ] … … # 在文件末尾添加 REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',), 'PAGE_SIZE': 10 } 3. 数据库迁移 ① models.py 拷贝 ② guest工程__init__.py 拷贝 ③ setting.py 的数据库配置 ④ python3 manage.py makemigrations