当前位置:   article > 正文

AWS Lambda结合Android应用的初次尝试_aws androidx

aws androidx

Android - 从零开始的AWS Lambda


和传统的应用程序不同,用Lambda函数,结合其他微服务框架一起使用,可以把一个原本很复杂、冗余的应用分解成一个个小的部分。每个框架之间只需要专注于做自己的事情,相互之间是松耦合的。这增加了开发程序的可能性、灵活性。

但是,要从头自己开始学习还是有点点困难的。所以这次记录了一下从头开始学习Lambda函+Cognito与Android配合使用的过程。

“AWS Lambda 是一项计算服务,可使您无需预配置或管理服务器即可运行代码。”
所以,我们只需要关注于代码本身,由AWS Lambda 管理提供内存、CPU、网络和其他资源均衡的计算机群。

实现了啥

​ 创建一个简单的 Android 移动应用程序,通过在本地应用程序中输入字符串并提交,从 Amazon Cognito 身份池检索 AWS 凭证,并使用包含请求数据的事件,调用 Lambda 函数处理请求,记录Cloud Watch日志并向前端返回响应,返回字符串。
在这里插入图片描述

​ 如果这些字连在一起就看不懂了:其实就是输入两个字符串,提交之后触发了Lambda函数;触发成功,返回toast,由Lambda函数记录调用的日志。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-96rMMpZo-1590072707661)(C:\Users\ASUS\Desktop\STEP - 1.assets\image-20200521215306843.png)]
在这里插入图片描述

STEP - 1 创建AWS IAM用户并授予管理员权限

AWS建议 不要使用 AWS 账户根用户执行任务,而是应为需要管理员访问权限的每个人创建新的 IAM 用户。

所以,拥有IAM用户是访问AWS服务的先决条件。

想要通过控制台创建用户,可以下载AWS CLI

1. 进入[AWS IAM console - 用户 - 添加用户]

在这里插入图片描述

2. 添加用户

a. 用户名即之后用于访问服务的用户名

b. 因为之后要通过CLI访问,所以务必要选择编程访问。选择AWS控制台访问的话,之后可以通过 IAM 控制台控制面板中找到账户的登录 URL进行登录。

https://account-ID-or-alias.signin.aws.amazon.com/console

在这里插入图片描述

3. 创建组

筛选策略中,选择AdministratorAccess,即赋予组用户管理员权限。
在这里插入图片描述

4. (可选)输入可跟踪用户信息的键值对

本次实验暂时用不到。接下来的步骤确认信息无误后,拥有管理员权限的IAM用户即可生成。
在这里插入图片描述

5. 返回[AWS IAM console - 用户]

查看创建好的用户,记录用户ARN,用于之后身份验证服务。arn是AWS资源的唯一标识。
在这里插入图片描述

6. 选择[安全证书 - 创建访问密钥]

把密钥下载下来,之后登录AWS CLI需要用。
在这里插入图片描述

STEP - 2 创建AWS IAM执行角色

要让AWS Lambda对我们的资源进行访问、操作,以实现具体功能,就要授予其相对应的权限。

IAM 角色就是信任的实体授予权限的安全方法。实体可以是其他账户的IAM用户、AWS的服务、EC2上的程序代码等。

1. 打开[AWS IAM console - 用户 - 角色]

选择创建角色,使用案例选择Lambda。
在这里插入图片描述

2. 确保当前角色拥有CloudWatch Logs日志写入的权限

这里选择AWSLambdaBasicExecutionRole
在这里插入图片描述

3. 角色名称键入lambda-android-role

在这里插入图片描述
这样,拥有basic权限的角色就配置好了。

STEP - 3 创建函数

接下来的操作会用到shell,编写一个简单的触发器,在本地打包创建成lambda函数并提交。

推荐阅读
相关标签