Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用DotNetCore2.0和Terraform管理AWS Lambda函数

使用DotNetCore2.0和Terraform管理AWS Lambda函数
EN

Stack Overflow用户
提问于 2018-06-23 12:25:11
回答 1查看 2.6K关注 0票数 6

设置

  • VS码
  • Terraform (v0.11)

问题

我很难理解如何在dotnet核心2.0项目中管理Lambda函数

当前的方法(不只是实现我认为它可以工作的方式)

  • 在Terraform中创建函数结构
  • 在dotnet核心项目中创建函数代码,如这里所述
  • 压缩发布文件夹并上载到S3
  • 引用Terraform函数定义中函数的Handler,如c#的AWS文档所示(程序集::Nampace.class-name::method-name)

Terraform Lambda函数示例

代码语言:javascript
运行
AI代码解释
复制
resource "aws_lambda_function" "this" {
  function_name = "test_function"
  role          = "lambda_exec_role"
  s3_bucket     = "my_bucket"
  s3_key        = "object_key/package.zip"

  handler = "MyApp::Example.Hello::MyHandler"
  runtime = "dotnetcore2.0"
}

这种方法意味着,如果我在项目中更改了单个函数,就必须将整个代码库上传到S3,这并不是处理代码更改的干净方法。

替代方法

  • 使用dotnet核心CLI来管理Lambda函数而不是Terraform
  • 使用dotnet核心CLI dotnet lambda deploy-function部署每个函数

从Lambda代码版本管理的角度来看,这种方法更干净,但这意味着我不再使用Terraform来管理Lambda函数。

我以前使用过NodeJs和Go来创建Lambda函数,每个函数看起来都比dotnet方法轻量级(因为每个函数的源代码都更容易分离)。

问题

这些设置中的任何一个看起来都是最佳的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-06 05:32:31

我知道这个问题是大约一年前从这个答复中问出来的,所以我不知道从那以后一切都发生了多大的变化,但这是对我有用的:

我开始使用dotnet CLI工具,就像您建议的那样,它运行得很好。它是开箱即用的,需要最小的配置。遇到的问题是,我需要设置的一些特定配置。从那时起我开始利用Terraform。经过一番挖掘,我决定使用Terraform,因为它是修正了这个问题

现在,您提到了使用Terraform的缺点是必须将整个代码上传到S3.但是我发现dotnet CLI工具也是这样做的。如果签出执行dotnet lambda deploy-function的输出,您将看到:

代码语言:javascript
运行
AI代码解释
复制
Zipping publish folder
... zipping: some.dll
... zipping: another.dll
Created publish archive (---)
Uploading to S3. (Bucket: ---)
... Progress: 11%
... Progress: 55%
... Progress: 100%
Creating new Lambda function some_lambda

因此,简单地说,我决定坚持Terraform,简单地阐述一个定制的shell脚本,它首先运行dotnet restore,然后是dotnet build,最后是terraform apply。这就是将我的应用程序部署到AWS所需的全部内容。我发现这是一种比在dotnet中使用Serverless Cloudformation更可定制的方法。

我希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51004755

复制
相关文章
AWS Lambda 快速入门
但以上的几个方法都需要关注服务器的存储和计算资源,以便随时调整以满足更高的性能,并且高并发的请求也是分时段的,配置了更高性能的服务器在访问量变低的时候也是资源浪费。
goodspeed
2020/12/22
2.8K0
AWS Lambda  快速入门
AWS lambda and dynamodb with Java
使用aws lambda已经一年多了,下面使用java构建一个简单的lambda服务,大家可以自己扩展想要的功能,废话不多说,开始吧。
wblearn
2020/09/16
1K0
从aws lambda谈serverless
一、基于aws lambda构建监控告警的思考二、什么是serverless?三、serverless解决了什么问题四、常见serverless应用场景五、为什么serverless淡出视野?六、参考
叔牙
2023/06/21
3730
从aws lambda谈serverless
追赶 terraform,让基础设施代码化更加容易,pulumi 都做了些什么?
好久不写 devOps 代码,程序君感觉莫名手欠。最近看着一个开源项目 pulumi 比较有意思,这个周末就在自己的 aws 账号里作死尝试了一把,嗯,还挺香。究竟有多香呢,我们来一起探索吧。
tyrchen
2020/07/28
2.7K0
新的云威胁!黑客利用云技术窃取数据和源代码
据BleepingComputer消息,一个被称为 "SCARLETEEL "的高级黑客行动正针对面向公众的网络应用,其主要手段是渗透到云服务中以窃取敏感数据。 网络安全情报公司Sysdig在应对某客户的云环境事件时发现了SCARLETEEL。虽然攻击者在受感染的云环境中部署了加密器,但在AWS云机制方面表现出更专业的技术,进一步钻入该公司的云基础设施。 Sysdig认为,加密劫持攻击仅仅是一个诱饵,而攻击者的目的是窃取专利软件。 SCARLETEEL攻击 SCARLETEEL攻击开始时,黑客利用了
FB客服
2023/03/29
1.5K0
新的云威胁!黑客利用云技术窃取数据和源代码
美国移动支付巨头Square的无服务器应用实践
本文介绍了 Square 团队为支持源自 AWS lambda 的服务调用而构建的内容。
深度学习与Python
2020/09/04
2.2K0
美国移动支付巨头Square的无服务器应用实践
如何使用Python的lambda、map和filter函数
Python lambda函数,又称匿名函数,与我们使用def…语句创建的函数不同,可以命名函数,lambda函数不需要名称。当需要一个快速且不需要经常重复使用的(通常是一个小的)函数时,它非常有用。单独使用Lambda函数可能没有太多意义。lambda函数的价值在于它在哪里与另一个函数(例如map()或filter())一起使用。
fanjy
2022/06/04
2.1K0
如何使用Python的lambda、map和filter函数
Python lambda和reduce函数
看到一篇博文写lambda和reduce函数。笔者小痒了一下,用Python实现一下:
全栈程序员站长
2022/01/27
3200
aws lambda python 上传s3
代码编写 Code writing 编写lambda函数 Write lambda functions 主要功能是查询数据库,在本地生成test.csv,而后上传至s3://test-bucket-dev桶,bthlt目录下. test.csv is generated locally and uploaded to s3://test-bucket-dev bucket,bthlt path. import pymysql import logging import boto3 from botocore
葫芦
2021/12/20
2.2K1
aws lambda python 上传s3
Fortify软件安全内容 2023 更新 1
Fortify 软件安全研究团队将前沿研究转化为安全情报,为 Fortify 产品组合提供支持,包括 Fortify 静态代码分析器 (SCA) 和 Fortify WebInspect。如今,Fortify 软件安全内容支持 30 种语言的 1,399 个漏洞类别,涵盖超过 100 万个单独的 API。
源代码安全
2023/04/17
7.9K0
Fortify软件安全内容 2023 更新 1
手把手带你玩转 AWS Lambda
微服务架构有别于传统的单体式应用方案,我们可将单体应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作时不会互相影响
程序猿DD
2020/10/27
2.3K0
手把手带你玩转 AWS Lambda
Serverless|Framework——图文玩转 AWS Lambda
| 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand i
用户4172423
2020/10/23
2.5K0
Serverless|Framework——图文玩转 AWS Lambda
Python匿名函数lambda的使用
在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数。
Python碎片公众号
2021/02/26
3K0
Python匿名函数lambda的使用
内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器(python3以下版本返回是列表)。 语法:filter(function or None, iterable) --> filter object 实例: #获取数字100以内的奇数 def even_num(n): return n % 2 ==1 res = filter(even_num,(i
用户1679793
2018/04/28
7150
Python 中的 Lambda 函数和匿名函数
def关键字用于定义 Python 中的一个函数,我们在上一章已经看到了。lambda关键字用于定义 Python 中的匿名函数。 通常,这样的功能意味着一次性使用。
很酷的站长
2023/08/15
2530
Python 中的 Lambda 函数和匿名函数
高阶函数和Java的Lambda
java 8引入了函数式编程。函数式编程重点在函数,函数变成了Java世界里的一等公民,函数和其他值一样,可以到处被定义,可以作为参数传入另一个函数,也可以作为函数的返回值,返回给调用者。利用这些特性,可以灵活组合已有函数形成新的函数,可以在更高层次上对问题进行抽象。
fengzhizi715
2018/08/24
1.9K0
高阶函数和Java的Lambda
python3 函数和lambda
def 定义函数 image.png 写函数文档 image.png 递归函数 image.png 带参数函数 image.png 指定默认值 image.png :如果传list,要加 image.
用户5760343
2019/12/12
5090
python3 函数和lambda
lambda函数
lambda函数就是我们常说的匿名函数,就是不用定义函数名,lambda更像是一个表达式,限制了程序的嵌套,是一个为编写简单的函数而设计的。
dogfei
2020/07/31
9450
配置语言的黄金时代
我认为我们当前所认知的 DevOps 即将走到尽头。至少,其中的 Ops 会如此。随着云基础设施成为应用程序关注的重点,越来越多的 ops 任务由云本身完成或内置于应用程序中。剩下的就是供应和管理应用程序所需的基础设施。这关系到所有的相关附属内容,例如安全性和网络。
深度学习与Python
2021/03/12
3.3K0
以 GitOps 方式管理 Terraform 资源
这是我们希望揭示Flux 生态系统[1]项目的博文系列中的第一篇。这次是Terraform 控制器[2]。
CNCF
2022/11/28
2.4K0
以 GitOps 方式管理 Terraform 资源

相似问题

Terraform AWS Lambda函数

16

使用Terraform创建AWS Lambda函数

12

使用terraform的AWS Lambda函数

125

使用Terraform提供现有AWS lambda

11

无法在Terraform中使用AWS SecretManager添加Lambda函数

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文