开发者问题收集

带有 Typescript 的 AWS Javascript SDK V3

2022-04-05
1996

有人使用过 AWS javascript sdk v3 和 typescript 吗?我正在尝试弄清楚如何在 lambda 函数中使用类型。例如,在此代码片段中,我应该使用什么作为返回类型以及如何获取/导入类型声明?谢谢

getAllIamUsers(): ?? {
        
        const input = {
            MaxItems: 100,
            Marker: null
        };     
        
       const command = new ListUsersCommand(input);
       const usersResponse = await client.send(command); 
       return usersResponse.Users;       

    }
1个回答

要获得正确的 Lambda 处理程序类型,您必须使用提供 Handler 类型的 aws-lambda 包:

import { Handler } from 'aws-lambda';
import { IAMClient, ListUsersRequest, ListUsersCommand, ListUsersCommandOutput } from '@aws-sdk/client-iam';

export const getAllIamUsers: Handler = async (event, context, callback) => {

    const input: ListUsersRequest = {
        MaxItems: 100,
        Marker: undefined
    };

    const command = new ListUsersCommand(input);
    const usersResponse = await client.send(command);
    return usersResponse.Users;
}

或者,您可以通过通用的 Handler<Event, Result> 指定事件和结果类型。

zirkelc
2023-01-04