Dha*_*ana 2 amazon-web-services aws-api-gateway aws-sam
我正在编写 SAM 模板,我想创建一个 API 网关,路径如下:-
http:///userFlights/airlines/static/images/{airlineName}。
这应该能够从 S3 存储桶下载文件。{airlineName} 的值可能类似于IndiGo.jpg。
我可以手动创建它。然而,问题是我无法找到 SAM 模板的适当文档。我需要使用 SAM 自动化我的 API 网关。
值如下:- 集成类型 - AWS 服务
AWS 区域- eu-west-3
AWS 服务 - 简单存储服务 (S3
HTTP 方法 - GET
路径覆盖 - Airlines/static/images/{airlineName}
您必须在定义 API 配置的 SAM 模板中使用DefinitionBody来使用 OpenAPI 定义。在此处查看 S3 代理示例。我使用最简单、最少的 Swagger 定义构建了一个 API,并通过 SAM 进行部署。
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a S3 integration
Resources:
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
StageName: prod
DefinitionBody: {
"swagger": "2.0",
"info": {
"version": "1.0"
},
"paths": {
"/airlines/static/images/{airlineName}": {
"get": {
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 response"
}
},
"x-amazon-apigateway-integration": {
"responses": {
"default": {
"statusCode": "200"
}
},
"credentials": "arn:aws:iam::{account-id}:role/{role-name}",
"uri": "arn:aws:apigateway:{aws-region}:s3:path/{bucket-name}",
"passthroughBehavior": "when_no_match",
"httpMethod": "GET",
"type": "aws"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2414 次 |
最近记录: |