我怎么会这么依赖 GUI?

AWS CLI、.NET 和 Lambda 函数

欢迎来到雲闪世界。在 Windows 上使用 Visual Studio 和 AWS Explorer 绝对会让你变得懒惰。我的意思是,能够通过右键单击项目来构建和部署 Lambda 函数之类的东西真是太棒了,但有时最好了解幕后发生了什么。

尽管如此,既然我能够以类似的方式构建所有内容,我现在非常致力于切换到 Visual Studio Code。此时我主要关心的是确保在 Windows 上工作时(这仍然会发生)构建/测试/部署顺序几乎与 Debian 上完全相同。我想也许我不得不用古怪的混合脚本来做一堆像这样的愚蠢特技,但后来我想起了 WSL2!

Windows Subsystem for Linux(版本 2)是与 Windows 系统一起运行的正确 Linux 内核。在处理我们使用的某些硬件Cassia Networks X1000 蓝牙网关时,我经常使用它。在 SmartShepherd,我们经常需要在短时间内连接 500 个或更多的蓝牙 LE 设备,而使用 Android 上的蓝牙堆栈(或几乎任何东西)根本无法实现。我有一个在 Cassia 上运行的小型服务器应用程序(它们使用 Ubuntu 容器),环境托管 SSH 会话和安全副本以测试其新版本。因此,WSL2 的 Debian 安装正在发挥作用。

但是,因为它已经安装好了,所以我最好全力以赴,尝试在 BUSTER3(Acer Nitro)上复制我在 Chungus Proliant 上的 .NET 环境。

文档和安装

不分先后顺序:

.NET 3.1 说明请点击此处

AWS CLI此处

此处为AWS Lambda 模板

在本地目录中安装 .NET 3.1。我使用 wget,您可以使用 curl 或直接通过浏览器下载并将其复制到某处。

wget https://dot.net/v1/dotnet-install.sh

chmod 755 dotnet-install.sh

./dotnet-install.sh -c 3.1

一旦安装了 .NET(它将位于.dotnet主目录中的隐藏目录中,然后您可以编辑 .bashrc 以包含以下最后三行:

export PATH=" P A T H : PATH: PATH:HOME/.dotnet: H O M E / . d o t n e t / t o o l s " e x p o r t D O T N E T R O O T = HOME/.dotnet/tools" export DOTNET_ROOT= HOME/.dotnet/tools"exportDOTNETROOT=HOME/.dotnet

export DOTNET_MULTILEVEL_LOOKUP=0

不太清楚最后一个是干什么的,但是如果你在用户目录中安装了 .NET,而不是全局安装,工具似乎会要求你这样做。我更喜欢只为我自己安装它,并不是因为我的机器上有 100 个其他用户,更多的是出于习惯,因为我在大型多用户机器上做 Unix 系统管理的时候,我们总是默认在本地安装未知的东西,直到我们信任它。我当时的导师坚持要求 root 用户保持原封不动、原封不动,就像出厂时一样,这样你就不会被锁在价值数十万美元的机器之外。在像 Proliant 这样欠我 150 美元的东西上似乎有点傻,但有时候旧习难改。

安装 Amazon CLI 很简单,尽管您可能必须这样做sudo apt-get install zip unzip,但我在 Chungus 上没有这样做,但我必须在 Buster3 上这样做。

wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

unzip awscliv2.zip

sudo ./aws/install

aws --version

最后,适用于 dotnet 的 AWS 工具和 dotnet lambda 模板。所有这些基本上允许您访问通常在 Visual Studio 中右键单击的内容。

dotnet new --install Amazon.Lambda.Templates::5.4.0

dotnet tool install -g Amazon.Lambda.Tools

嗯,是的,但是它有效吗?

Amazon.Lambda.Templates 用于创建新的 Lambda 函数,它们在您的 .NET 项目根目录中创建一个文件 aws-lambda-tools.defaults.json,您可以使用该文件填写 lambda 函数所在的区域、安全内容等。这里就不多说了,因为AWS 有更好的文档。

可以说它确实有效,因此(例如)如果您想将 .NET 3.1 Lambda 函数打包为准备部署的 zip 文件,您可以转到项目的根目录并执行以下操作:

dotnet lambda package

果然,它创建了 zip 文件。 dotnet lambda deploy将替换现有的 Lambda。由于我在 Chungus 和 Buster3 上同时执行了上述所有操作,因此环境尽可能接近相同,我现在可以构建和部署我的 Lambda 函数。下一站:将 Docker 部署到 ECS。

脚注

Buster3 得名的原因并不十分有趣,但我想记录下来以备后人参考。当我辞职创办 SmartShepherd 时,我回到家才意识到我实际上没有一台笔记本电脑可用来工作。工作单位提供了一台不错的 HP Spectre,但当我估算出它的价格时,我大吃一惊。它们是漂亮的机器,但对于一家苦苦挣扎的初创公司来说太贵了。我的一个孩子有一台他们用来写东西的废弃笔记本电脑,那是一台相对古老的东芝 C650,铰链坏了。它坏了,所以我叫它 BUSTER。它的规格并不令人印象深刻,但足以运行 Ti 的 Code Composer Studio,直到我们拥有 MVP。我一有几美元,就把它换成了一台新的 Acer Aspire E5-553,叫做 BUSTER2,因为为什么不呢。由于我太傻,又想买便宜货,所以没仔细看规格,它很便宜,有一块独立显卡,内存有 16GB。后来,当我需要为 Docker 做虚拟化时,才发现这个蠢东西在 BIOS 和固件中禁用了所有虚拟化!我费了好大劲才弄好固件设置,才让它正常工作。从那以后,我发誓不再使用宏碁的机器,尽管 BUSTER2 赢得了它的名字。Buster2 陪我们去了深圳,成为 HAX10 的一部分,并且大部分工作都完成了。他仍然带着那次旅行的贴纸。

BUSTER3 有点意外。我们在旅行(当然是在疫情之前),BUSTER2 让我很头疼,键盘玩起来很卡,Windows 10 Pro 几乎停滞不前。我在一家知名技术回收连锁店的橱窗里看到了一台二手 Acer Nitro 5,价格合适。尽管我已经公开宣布不再使用 Acer 机器,但配置还是很不错的,不容错过。这款电脑非常棒,如果你需要一台价格实惠但性能高的设备来进行开发工作,强烈推荐。

(从左到右)Buster、Buster3、Buster2

感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)

相关推荐
眷怀12 小时前
网卡绑定bonding
linux·运维·服务器·网络·云计算
数勋API14 小时前
银行卡归属地查询API接口如何用PHP调用
开发语言·云计算·php
zhojiew16 小时前
aws xray通过设置采样规则对请求进行过滤
aws
tmgmforex202416 小时前
亚马逊云计算部门挑战英伟达,提供免费AI计算能力
人工智能·科技·云计算
CCSBRIDGE19 小时前
给阿里云OSS绑定域名并启用SSL
阿里云·云计算·ssl
沈艺强21 小时前
云计算在esxi 主机上创建 4g磁盘,同时在此磁盘上部署linux
云计算
九河云1 天前
AWS EC2镜像费用详解:什么是免费的,什么是收费的?
服务器·云计算·aws
sealaugh321 天前
aws(学习笔记第十二课) 使用AWS的RDS-MySQL
笔记·学习·aws
杰森V+1 天前
融云:社交泛娱乐出海机会尚存,跨境电商异军突起
网络·云计算
腾讯蓝鲸智云2 天前
大模型在蓝鲸运维体系应用——蓝鲸运维开发智能助手
运维·自动化·云计算·sass