简体   繁体   English

用于启动/停止 RDS 实例的 AWS Java Lambda 处理程序

[英]AWS Java Lambda Handler to Start/Stop RDS instances

I need to create a Java Lambda Handler to start and stop rds instances for AWS.我需要创建一个 Java Lambda 处理程序来启动和停止 AWS 的 rds 实例。 Very confused on how to do this since most of the online resources are in python.由于大多数在线资源都在 python 中,因此对如何执行此操作非常困惑。 I took a look at the AWS Java SDK to see what functions I need to use (startDBInstance, stopDBInstance), but am unsure how to implement them properly as this is my first time doing so.我查看了 AWS Java SDK 以了解我需要使用哪些功能(startDBInstance、stopDBInstance),但我不确定如何正确实现它们,因为这是我第一次这样做。

This is the outline of the Handler.这是 Handler 的概要。

package com.example.lambda.demo;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Hello implements RequestHandler<Object, String> {

    @Override
    public String handleRequest(Object input, Context context) {
        context.getLogger().log("Input: " + input);

        // TODO: implement your handler
        return "Hello from Lambda";
    }

} 

You are on the right track in terms of using the Java Lambda runtime.在使用 Java Lambda 运行时方面,您走在了正确的轨道上。 To modify RDS resources from a Lambda function, use the RDS Java API within the Lambda function.要从 Lambda 函数修改 RDS 资源,请在 Lambda 函数中使用RDS Java API

software.amazon.awssdk.services.rds.RdsClient software.amazon.awssdk.services.rds.RdsClient

To stop the instance, for example, you call stopDBInstance() .例如,要停止实例,您可以调用stopDBInstance()

There is a Java Lambda example here that shows you how to use the AWS Java APIs (this example uses serveral service clients) from within a Lambda function.This shows how to create an IAM user that the Lambda function uses, how to specify AWS dependencies in the POM, etc.这里有一个 Java Lambda 示例,向您展示如何在 Lambda 函数中使用 AWS Java API(此示例使用服务器服务客户端)。这显示了如何创建 Lambda 函数使用的 IAM 用户,如何指定 AWS 依赖项在 POM 等中

For you use case, you need to use the RDS Java Client.对于您的用例,您需要使用 RDS Java 客户端。 You still need to create an IAM user (that your Lambda function uses) and specify the RDS POM dependency in your project's POM.您仍然需要创建一个 IAM 用户(您的 Lambda 函数使用该用户)并在项目的 POM 中指定 RDS POM 依赖项。 (All shown in the example below). (全部显示在下面的示例中)。

https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/usecases/workflow_multiple_channels https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/usecases/workflow_multiple_channels

TIP : WHen looking for examples that uses the AWS SDK for Java , refer to here:提示:在寻找使用适用于 Java 的 AWS 开发工具包的示例时,请参阅此处:

https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2 https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2

You will find only Java examples, not Python, etc.您只会找到 Java 示例,而不是 Python 等。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM