AWS CLI是一个命令行工具,有助于使用 AWS 服务。我们可以使用它来创建、更新、删除、调用 aws lambda 函数。在本章中,您将详细讨论 AWS CLI 的安装和使用。
安装 AWS CLI
本节将指导您在各种操作系统上安装 AWS CLI。按照给定的步骤操作并观察随附的相应屏幕截图。
对于 Windows
检查您的 Windows 配置并选择以下链接之一来安装 AWS CLI MSI
对于 Windows 64 位适用于 Windows(64 位)的 AWS CLI MSI 安装对于 Windows 32 位适用于 Windows 的 AWS CLI MSI 安装 (32)
选择相应的链接并单击它后,您可以找到一个窗口,如下所示
接下来,设置windows中的环境路径,如下面的截图所示
完成后,您可以在命令提示符下使用以下命令,查看是否安装了aws cli
awsversion
它显示了 awscli 版本的详细信息,如下面的屏幕截图所示
对于 Linux/Mac
要在 Linux 和 Mac 上安装,您需要 Python 2.6.3 或更高版本。然后,使用以下命令进行进一步的安装过程
$ curl "s3.amazonaws/awscli/awsclibundle.zip"o "awsclibundle.zip"$ unzip awsclibundle.zip$ sudo ./awsclibundle/installi /usr/local/awsb /usr/local/bin/aws
现在,我们需要配置 AWS 设置。为此,您可以使用以下命令
aws configure
为此,它需要详细信息,例如
AWS 访问密钥 IDAWS 秘密访问密钥默认区域名称格式的默认输出
您可以从 aws 控制台获取这些详细信息。转到右上角的帐户名称,如图所示
现在,点击我的安全凭证并从左侧选择用户。按照要求添加具有详细信息的用户。
添加用户并获取访问密钥和秘密密钥。要查看新的访问密钥,请选择显示。您的凭据将如下所示
访问密钥 IDAOSAIOSFOCDD7 示例
秘密访问密钥aJuirCVtnROUN/K7MDENG/bPxRfiCYExampleKEY
AWS CLIS 参考命令
下表将提供可用于aws cli的命令参考。
| aws cli 命令的名称 | 命令参考 |
| createfunction | createfunctionfunctionname <value>runtime <value>role <value>handler <value> [code <value>] [description <value>] [timeout <value>] [memorysize <value>] [environment <value>] [kmskeyarn <value>] [tags <value>] [zipfile <value>] [cliinputjson <value>] |
| listfunctions | listfunctions [masterregion <value>] [functionversion <value>] [maxitems <value>] [cliinputjson <value>] [startingtoken <value>] [pagesize <value>] [generatecliskeleton <value>] |
| getfunction | getfunctionfunctionname <value> [qualifier <value>] [cliinputjson <value>] [generatecliskeleton <value>] |
| getfunctionconfiguration | getfunctionconfigurationfunctionname <value> [qualifier <value>] [cliinputjson <value>] [generatecliskeleton <value>] |
| getaccountsettings | getaccountsettings [cliinputjson <value>] [generatecliskeleton <value>] |
| updatefunctionconfiguration | updatefunctionconfigurationfunctionname <value> [role <value>] [handler <value>] [description <value>] [timeout <value>] [memorysize <value>] [vpcconfig <value>] [environment <value>] [runtime <value>] [deadletterconfig <value>] [kmskeyarn <value>] [tracingconfig <value>] [revisionid <value>] [cliinputjson <value>] [generatecliskeleton <value> >] |
| updatefunctioncode | updatefunctioncodefunctionname <value> [zipfile <value>] [s3bucket<value>] [s3key <value>] [s3objectversion <value>] [publish |nopublish] [dryrun |nodryrun] [revisionid <value>][cliinputjson <value>][generatecliskeleton <value>] |
| deletefunction | deletefunctionfunctionname <value> [qualifier <value>] [cliinputjson <value>] [generatecliskeleton <value>] |
现在,让我们一一详细讨论这些命令。
创建函数
这个 api 将创建一个新的 lambda 函数。代码需要以 zip 格式提供。如果要创建的函数已经存在,api 将失败。请注意,函数名称区分大小写。
包含的命令
此处给出了可以与 createfunction 一起使用的命令列表
createfunction functionname <value>runtime <value>role <value>handler <value>[code <value>] [description <value>] [timeout <value>] [memorysize <value>] [environment <value>] [kmskeyarn <value>] [tags <value>] [zipfile <value>] [cliinputjson <value>]
包括的选项
您可以使用上述功能的各种选项如下
functionname (string)这需要函数的名称。名称可以是 64 位字符。
runtime(string)在这里您需要指定运行时环境,即语言选择。运行时的详细信息如下
| 可用选项 | 运行时 |
| Python v3.6 | python3.6 |
| Python v2.7 | python2.7 |
| NodeJS v6.10 | nodejs6.10 |
| NodeJS v8.10 | nodejs8.10 |
| Java | java8 |
| C# 1 | dotnetcore1.0 |
| C# 2 | dotnetcore2.0 |
| Go | go1.x |
role(string)这将是 lambda 策略的名称,即赋予 lambda 函数访问其他服务的角色。它将根据指定的角色拥有权限。
handler (string)这是 lambda 代码执行将开始的处理程序的名称。
对于 nodejs,处理程序名称是我们导出的模块名称。对于java,它是packagelassname :: handler 或packagelassname对于python,处理程序是文件名。
代码(结构)AWS Lambda 代码
description (string)AWS Lambda 函数的描述
timeout (integer)超时将具有 lambda 函数必须终止执行的时间。默认为 3 秒。
memorysize (integer)这是分配给 aws lambda 函数的内存。 AWS 将根据给定的内存分配 CPU 和内存分配量。
environment (structure)它是一个具有 aws lambda 函数所需的环境详细信息的对象。
e.g : Variables = {Name1 = string, Name2 = string}kmskeyarn (string)这是用于加密环境变量的亚马逊资源名称 (ARN)。如果未提供,它将采用默认设置进行加密。
zipfile (blob)包含代码详细信息的 zip 文件的路径。
cliinputjson (string):根据提供的 JSON 字符串进行服务操作。 JSON 字符串遵循generatecliskeleton 提供的格式。如果在命令行上提供了其他参数,则 CLI 值将覆盖 JSON 提供的值。
现在,让我们使用运行时作为 nodejs 创建一个简单的 AWS Lambda 函数,并添加一些要打印的 console.logs。
考虑一个示例代码来理解相同的
exports.handler = async (event) => { console.log("Using aws cli"); return "Hello fr Lambda fr aws cli!"};现在,压缩文件并将其存储为awscli.zip。
获取 ARN
对于角色,让我们使用我们创建的现有角色中的arn。要获得 ARN,您必须遵循步骤如下所示。观察随附的相应屏幕截图
步骤 1
转到 IAM 并从角色中选择您想要的角色。角色的 ARN 详细信息如下所示。在aws cli中使用Role ARN和createfunction。
这里观察到角色 arn 是:arn:aws:iam::625297745038:role/lambdaapipolicy
带有createfunction值的命令如下
aws lambda createfunction functionname "awslambdausingcli" runtime "nodejs8.10" role "arn:aws:iam::625297745038:role/lambdaapipolicy" handler "awscli.handler" timeout 5 memorysize 256 zipfile "fileb://awscli.zip"
现在,如果您在 aws cli 中运行该命令,您可以找到如下所示的输出
在 AWS 控制台中,Lambda 函数显示如下
功能的详细信息如下所示
配置细节如下
您可以测试函数并检查输出,如图所示
此处显示相应的日志输出
列表功能
此 api 提供了迄今为止在 AWS Lambda 中创建的函数列表。
包含的命令
以下是与此 API 相关的命令
listfunctions[masterregion <value>][functionversion <value>][maxitems <value>][cliinputjson <value>]
列表功能下的选项
以下是您可以在此列表功能 api 下使用的各种选项
masterregion(string)可选。需要显示功能的区域。
functionversion(string)可选。这将给出函数版本。
maxitems(integer)可选。这将按照指定的值提供项目。
cliinputjson(string)可选。将根据提供的json文件进行操作。
带有值listfunctions的命令如下
aws lambda listfunctionsmaxitems 3
该命令显示的详细信息如下
获取函数
这个 api 将提供函数的详细信息以及使用 createfunction 上传 zip 文件的 url 链接。带有 zip 详细信息的网址仅在 10 分钟内有效。
包含的命令
以下是与这个 api 相关的命令
getfunctionfunctionname <value>[qualifier <value>][cliinputjson <value>][generatecliskeleton <value>]
包括的选项
functionnameAWS Lambda 函数的名称。您还可以指定函数的 Amazon 资源名称。
qualifier(string)可选。函数版本可用于获取函数的详细信息。
具有获取函数值的命令是
aws lambda getfunctionfunctionname awslambdausingcli
命令显示详情如下
它给出了上传邮政编码的网址。在上述情况下,网址是
prod042014tasks.s3.amazonaws/snapshots/625297745038/awslambdausingcli97048f8d4a084ed999d9acb00d2063d2?versionId=d04HKvPu9S2zz8pzjbW6Rmf5o5fxnc_r&XAmzSecurityToken=FQoDYXdzEKT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDCpTmGvtwKToPBiWcyK3A96UcJEnwvYDhMbbxu%2Bg2gffK2ocfnlEeiCHak8QqqE1RFpbKrdks9NzxP9gNbagL4M9RValxJ1a9PUY%2FOdAekscRHOiX00MVAxUlI82pKryhdOwLJWSj0uRzqvOxCcBwJenHrSNPeG6lMa2ZDo0qZFEUDONSaTg4nuSnJK1f6t3pMAKu4vF9wPvf92G%2BU60rUxwleggigISmD9l1IlZse3%2BVF1JlNuN%2F5d85v0y2Q%2F%2BO515CybcZpn91sHPYG8JMJ00LsrkQ24VU9Zz5c5QYH4JYPj0CyEgSz9b%2FMceMPpOoPUAMjctb%2FEwQqcShZeqAr9%2Fcd2ZI%2BXl2%2Bs4ri0ucgPvQQvseGIIiZbX3GqdwR2jb1nylrAEIfiuFMoSWfcFYoYtuL0MZnjGR9jy2GNkp6MB%2BlHHr7%2BnuFRUzU26rgDYmdE1wRb3%2B21Jm49WGDa9opRLvUxFaux57Or70haib2FuKzN6Gf3Vzzk5KPdWsYUpaLyf%2B1ovEytOZhB1JEXuCs%2FGIlOXS88yxT%2BpOKmyxweiezpGgI%2FAkSAQTbSRsYQKIOFyIJNHzplwrJKhy28vy60numIBIo9Zqq2AU%3D&XAmzAlgorithm=AWS4HMACSHA256&XAmzDate=20180527T112426Z&XAmzSignedHeaders=host&XAmzExpires=600&XAmzCredential=ASIAICSQHLSBWFP37U4Q%2F20180527%2Fuseast1%2Fs3%2Faws4_request&XAmzSignature=8b97e7d6d7da13313068e027894d2c8755e50a0c5a62550f55307985bdc1aa
获取功能配置
这将提供 AWS Lambda 函数的配置详细信息。
以下是与此 api 一起使用的命令
getfunctionconfigurationfunctionname <value>[qualifier <value>]
以下是与
一起使用的选项
functionname (string)aws lambda 函数的名称。您还可以指定函数的 Amazon 资源名称。
qualifier(string) −Optional.Function 版本可用于获取函数的详细信息。
具有获取函数值的命令是
aws lambda getfunctionconfigurationfunctionname awslambdausingcli
该命令显示的详细信息如下
获取帐户设置
此 api 提供帐户设置。
涉及的命令
您可以与此 api 一起使用的命令是
getaccountsettings[cliinputjson <value>][generatecliskeleton <value>]
涉及的选项
您可以在此 api 中使用以下选项
cliinputjson(string)根据提供的 json 字符串执行服务。
generatecliskeleton(string)它在不发送 API 请求的情况下打印 json 输出。
您可以使用以下命令进行 getaccountsettings
aws lambda getaccountsettings
当您执行上面给出的命令时,您可以看到以下输出
更新功能配置
此 API 有助于更新创建的 AWS Lambda 函数的配置详细信息。您可以更改内存、超时、处理程序、角色、运行时间、描述等。
涉及的命令
以下是updatefunctionconfiguration api中涉及的命令
updatefunctionconfigurationfunctionname <value>[role <value>][handler <value>][description <value>][timeout <value>][memorysize <value>][environment <value>][runtime <value>][cliinputjson <value>][generatecliskeleton <value>]
涉及的选项
以下是updatefunctionconfiguration api涉及的选项
functionnameaws lambda 函数的名称
role (string)可选。需要更新角色的 ARN。
handler (string)可选。 aws lambda 函数的处理程序详细信息。
description(string)可选。功能说明。
timeout(integer)可选。 aws lambda 函数可以终止所需的时间。
memorysize(integer)可选。这是分配给 aws lambda 函数的内存。 AWS 将根据给定的内存分配 CPU 和内存分配量。
环境(结构)可选。它是一个具有 aws lambda 函数所需的环境详细信息的对象。
e.g: Variables = {Name1 = string, Name2 = string}runtime(string) −这里需要指定运行时环境,即语言选择。
运行时的详细信息如下表所示
| 可用选项 | 运行时 |
| Python v3.6 | python3.6 |
| Python v2.7 | python2.7 |
| NodeJS v6.10 | nodejs6.10 |
| NodeJS v8.10 | nodejs8.10 |
| Java | java8 |
| C# 1 | dotnetcore1.0 |
| C# 2 | dotnetcore2.0 |
| 去 | go1.x |
cliinputjson (string)可选。这将在提供的 json 字符串中指定的 api 上执行操作。
generatecliskeleton (string)可选。这将在不执行 api 的情况下输出所有细节的 JSON 骨架。输出可用作cliinputjson 的输入。
现在,让我们更改之前创建的 AWS Lambda 函数的内存和超时。按照下面给出的步骤并观察为此目的附加的相应屏幕截图
步骤 1
发生变化前的内存和超时如下
步骤 2
现在,使用updatefunctionconfiguration,让我们将内存和超时更改为 320MB,将超时更改为 10 秒。为此,请使用以下带有值的命令
aws lambda updatefunctionconfigurationfunctionname “awslambdusingcli” timeout 10memorysize 320
步骤 3
然后您可以看到以下输出作为显示
步骤 4
使用updatefunctionconfiguration后AWS控制台显示如下
更新功能代码
此 API 将更新现有 AWS Lambda 函数的代码。
涉及的命令
updatefunctioncodefunctionname <value>[zipfile <value>][s3bucket <value>][s3key <value>][s3objectversion <value>][cliinputjson <value>][generatecliskeleton <value>]
涉及的选项
以下是更新函数代码 API 涉及的选项
functionname(string) −aws lambda 函数的名称
zipfile (blob)可选。包含要更新的代码的 zip 文件的路径。
s3bucket(string)可选。 S3 存储桶名称,其中包含已上传代码的 zip 文件。
s3key(string)可选。必须上传的 AWS s3 对象键名称。
s3objectversion (string)可选。 AWS s3 对象版本。
cliinputjson (string)可选。这将在提供的 json 字符串中指定的 api 上执行操作。
generatecliskeleton (string)可选。这将在不执行 api 的情况下输出所有细节的 JSON 骨架。输出可用作cliinputjson 的输入。
更新后的代码如下所示
exports.handler = async (event, context) => { console.log("Using aws cli"); console.log() return "Hello fr Lambda fr aws cli!"};您可以使用以下带有值的命令
aws lambda updatefunctioncodefunctionname "awslambdausingcli" zipfile "fileb://awscli.zip"
相应的输出如下所示
AWS 控制台的显示如下所示
对应的日志输出如下图
删除函数
deleteaws cli api 将删除函数 g
包含的命令
此处给出了相同的命令详细信息
deletefunctionfunctionname <value>[qualifier <value>][cliinputjson <value>][generatecliskeleton <value>]
包括的选项
此 api 中包含的选项如下所示
functionname(string)这将采用 lambda 函数名称或 aws lambda 函数的 arn。
qualifier (string)这是可选的。这里可以指定需要删除的aws lambda版本。
cliinputjson(string)根据提供的 JSON 字符串执行服务操作。 JSON 字符串遵循generatecliskeleton 提供的格式。如果在命令行上提供了其他参数,则 CLI 值将覆盖 JSON 提供的值。
generatecliskeleton(string)它在不发送 API 请求的情况下将 json 骨架打印到标准输出。
您可以为此目的使用带有值的以下命令
aws lambda deletefunctionfunctionname "lambdatestcli"
现在,观察该函数将不会出现在 AWS Lambda 函数列表中
作为AWS顶级代理商,选择天.下.数.据的优势
1、专属客服协助注册AWS,或提供注册好的账号直接使用
2、支持收U等多币种支付代付,无额外服务费用
AWS多种产品类型,更高产品租赁权限
针对大客户,AWS专属折扣优惠
5、7x24小时专属客服,在线解答各种疑问
电话40 0/2023/aws
上一篇:AWS代付业务租用AWS亚马逊云产品更省钱吗
下一篇:如何在亚马逊购买云服务器,aws亚马逊云服务器购买教程
AWSCLI aws命令行攻击 AWSCLI安装









