zwvista

导航

AWS 开发笔记

基础知识

IAM

IAM 是 Identity and Access Management(身份及存取管理)的缩写
使用该服务可以在账号下创建若干子用户(称为 IAM 用户)。
这些 IAM 用户可以分组,赋予相关权限,也可以用来登录 AWS。

S3

S3 是 Simple Storage Service(简单存储服务)的缩写
S3 相当于网上硬盘,使用该服务首先需要创建若干 bucket(存储桶,相当于硬盘分区),然后就可以在各个存储桶中创建文件夹并上传文件。
每个文件(对象)都有独立的 URL 地址。

RDS

RDS 是 Relational Database Service(关系型数据库服务)的缩写

CloudWatch

使用 CloudWatch 服务可以查看网上日志。

Lambda

使用 Lambda 服务可以创建 Lambda 函数,相当于定制的 API。
Lambda 函数可以使用多种语言开发。

使用 Visual Studio 开发 Lambda 函数

安装插件

首先需要给 Visual Studio 安装扩展(插件): AWS Toolkit for Visual Studio 2017 and 2019
(Extensions -> Manage Extensions -> Online -> Visual Studio Marketplace -> 搜索 AWS)
该插件会安装 AWS Toolkit For Visual Studio,即一系列工具程序所组成的工具箱。

新建 Lambda 函数

新建应用程序,选择 Visual C# -> AWS Lambda -> AWS Lambda Project(*.NET Core - C#)
然后在 New AWS Lambda C# Project 向导中选择 Empty Function, 点击 Finish 创建空的 Lambda 函数

// ...
using Amazon.Lambda.Core;

// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace AWSLambda1
{
    public class Function
    {
        public string FunctionHandler(string input, ILambdaContext context)
        {
            return input?.ToUpper();
        }
    }
}

处理器函数

FunctionHandler 函数是 Lambda 函数的主体,缺省的空函数输入输出均为 string
输入与输出类型均可修改
处理器函数内如果调用 Console.WriteLine 输出信息,该信息将被记录在 CloudWatch 日志中。

// 没有输入也没有输出
public void FunctionHandler()
// 异步函数,输入为 S3 事件信息,输出字符串
public Task<string> FunctionHandler(S3Event event)
{
    await ...
    return "..."
}

开发者权限

上传 Lambda 函数需要开发者权限
为此需要新建一个能用程序访问资源的 IAM 用户
成功创建之后可以下载一个内含该用户秘钥(访问密钥ID和秘密访问密钥)的 csv 文件。

发布 Lambda 函数

右键点击工程,然后点击 Publish to AWS lambda...
打开 Upload Lambda Function 向导
初次上传需要指定 Profile 和 Region(区域)
配置 Profile 需要输入

  1. Profile Name: 任意指定,初次可设为 default
  2. Access Key ID: 访问秘钥 ID,可以通过导入 csv 文件来指定
  3. Secrect Access Key: 秘密访问秘钥,可以通过导入 csv 文件来指定
  4. Account Number: 账号

最后点击 Finish 上传

执行 Lambda 函数

Lambda 函数上传完毕会打开函数执行窗口
在此可以指定输入,一般为 json 字符串,也可以通过选择 Example Requests 来指定
最后点击 Invoke 按钮执行函数

调试 Lambda 函数

不上传函数也能调试 Lambda 函数
按 F5 打开 Mock Lambda Test Tool 可以在以下网页中执行并调试函数
http://localhost:5050/

posted on 2020-10-01 11:16  zwvista  阅读(416)  评论(0编辑  收藏  举报