in python/api-swagger-lambda/app.py [0:0]
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
get_item = _lambda.Function(
self, 'GetItem',
runtime=_lambda.Runtime.PYTHON_3_7,
code=_lambda.Code.from_asset('lambda'),
handler='index.handler',
)
get_item.grant_invoke(grantee=iam.ServicePrincipal('apigateway.amazonaws.com'))
update_lambda_id = get_item.node.default_child
update_lambda_id.override_logical_id('GetItem')
asset = assets.Asset(self, "SwaggerAsset",
path="swagger/swagger.yaml"
)
data = Fn.transform('AWS::Include', {'Location': asset.s3_object_url})
swagger_definition = apigw.AssetApiDefinition.from_inline(definition=data)
api = apigw.SpecRestApi(self, 'item-api',
api_definition=swagger_definition
)