📜  无服务器不使用 aws 配置文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:40:06.627000             🧑  作者: Mango

无服务器不使用 AWS 配置文件 - Shell-Bash

在无服务器的应用程序中,AWS Lambda 往往是服务器无关的代码托管和自动缩放能力的最佳节点,但在某些情况下,你可能无法使用 AWS 配置文件。在这种情况下,你可以使用 Shell-Bash 来代替。

准备工作

在使用 Shell-Bash 编写无服务器代码之前,你需要先检查以下几点:

  • 确保你的电脑上已安装 AWS CLI。

    $ aws --version
    aws-cli/1.20.45 Python/3.7.4 ...
    
  • 在你的 AWS 账户中启用 Lambda 和其他服务,并提供相应的访问密钥和密钥 ID。

  • 使用与 Lambda 函数相同的 IAM 机器人或角色来运行脚本,以确保脚本可以访问 Lambda 函数和其他 AWS 资源。

编写代码
脚本文件结构

一个基本的 Shell-Bash 脚本文件通常包含以下几个部分:

  • Shebang 行:#!/bin/bash

  • 导入依赖项:export AWS_ACCESS_KEY_ID=...,export AWS_SECRET_ACCESS_KEY=...

  • 定义变量:FUNCTION_NAME=...

  • 定义主要函数:如下所示

示例代码
#!/bin/bash

# 导入依赖项
export AWS_ACCESS_KEY_ID=your_aws_access_key
export AWS_SECRET_ACCESS_KEY=your_aws_secret_key

# 定义变量
FUNCTION_NAME=my-lambda-function

# 调用 Lambda 函数
invoke_lambda () {
  echo "Calling my Lambda function..." 
  aws lambda invoke \
  --function-name $FUNCTION_NAME \
  --payload '{"key":"value"}' \
  output.txt
}

# 执行函数
main () {
  invoke_lambda
}

# 执行主要函数
main

这段代码基本上做了两件事情:

  • 导入 AWS 访问密钥和密钥 ID,以便脚本可以访问 AWS Lambda。

  • 调用 my-lambda-function 并提供输入数据,然后将输出保存在 output.txt 文件中。

运行脚本

运行 Shell-Bash 脚本的方法与其它脚本类似,在你的终端中运行以下命令:

./my-script.sh

此时,脚本将完成以下操作:

  • 调用 AWS Lambda。

  • 将输出保存到 output.txt 文件中。

总结

本文介绍了如何使用 Shell-Bash 编写无服务器代码,而不使用 AWS 配置文件。这些代码可以轻松地访问 AWS Lambda 并处理 AWS 资源,还可以使用有效的 Shell-Bash 语言和工具来构建无服务器应用程序。