我试图使用AWS SAM将请求验证器资源链接到SAM模板中的无服务器API。我已经创建了请求验证器,并在其RestApiId中引用了API,但是验证器没有在AWS控制台中设置为API默认验证器选项。
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
Discription for the template
Globals:
Function:
Timeout: 30
Resources:
MyAPI:
Type: AWS::Serverless::Api
Properties:
Name: MyAPI
StageName: prod
Auth:
DefaultAuthorizer: MyAuthorizer
Authorizers:
MyAuthorizer:
FunctionPayloadType: REQUEST
FunctionArn: here goes the function Arn
Identity:
Context:
- identity.sourceIp
ReauthorizeEvery: 60
Models:
RequestModel:
$schema: 'http://json-schema.org/draft-04/mySchema#'
type: object
properties:
Format:
type: string
Name:
type: string
minLength: 3
Id:
type: string
required:
- Format
- Id
RequestValidator:
Type: AWS::ApiGateway::RequestValidator
Properties:
Name: RequestValidator
RestApiId: !Ref MyAPI
ValidateRequestBody: true
LambdaFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: NameOfTheFunction
CodeUri: ./src/folder/
Handler: Project::nameSpace.class::Handler
Runtime: dotnetcore2.1
Environment:
Variables:
variableA : value
variableB : value
variableC : value
variableD : value
Events:
ApiEndpoint:
Type: Api
Properties:
RestApiId: !Ref MyAPI
Path: /path
Method: post
RequestValidatorId: !Ref RequestValidator
Auth:
Authorizer: MyAuthorizer
RequestModel:
Model: RequestModel
Required: true
验证程序被创建,如果我点击API上的RequestValidator下拉菜单,我可以看到它。但是,请求验证器并不默认为我定义的验证器。它只是将“无”作为所选选项的一个选项
我在源代码中搜索了api转换函数,但没有办法附加请求验证。SAM将AWS::Serverless::Api转换为内联body swagger/openapi定义,但没有用于x-amazon-apigateway-request-validator的内容。我不明白为什么当lambda事件只在api方法中附加schema部分时,就有办法在lambda事件中定义模型
"paths": {
"/post": {
"post": {
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"required": true
},
也许在SAM github中添加功能请求
我正在开发一个SAM应用程序,它有一个lambda函数,API网关是事件源。APIendpoint是一种POST方法,要求在请求体中有一组参数。API网关通过使用AWS控制台指定请求模型,为我们提供了验证请求体的能力。 请参阅以下AWS控制台选项的屏幕截图: 我需要通过SAM模板设置类似的选项,能够将模型与请求主体链接,但无法设置请求验证程序选项,也无法找到任何文档或示例。 下面是我的SAM模板
def validate_mobile_number(value):如果不是str(value).isdigit():引发ValidationError(“请输入有效的手机号码”)类ModelA(AbstractUser): mobile=models.CharField(u(“mobile”),unique=True,max_length=10,验证器[validate_mobile_numbe
我有一个简单的表单,需要验证输入的开头和结尾是否不是空格。 在HTML5中,我将这样做: 在新的Angular 2 ngControl指令中,验证模式的正确属性是什么?官方的Beta API在这个问题上仍然缺乏留档。
本文向大家介绍在SAPUI5的AJAX请求中添加身份验证详细信息,包括了在SAPUI5的AJAX请求中添加身份验证详细信息的使用技巧和注意事项,需要的朋友参考一下 基本上,您需要利用JQuery AJAX的beforeSend函数来整理您的需求。 这是一个基本的代码片段- 您可以按照AddToHeader方法中的说明向标头添加更多详细信息。
对不起,如果这个问题似乎很明显,但我是新的表达,节点,和大摇大摆。 我相信有,但很难找到,或者我没有找到正确的东西。
我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ