Skip to main content

Groovy sdk 开发指南

Groovy sdk 是支持除了原生的groovy语法,还支持java插件的一种sdk

如果同样是插件式开发sdk-connector也支持,groovy sdk 与 sdk-connector 有以下区别:

  • groovy sdk:简单,不需要新建connector
  • sdk-connector:性能高效,且是相同jar下,一组功能的集合(connectorType下的action),方便管理

建议使用sdk connector,如果只是简单的插件式开发,groovy sdk 是一个不错的选择


Groovy sdk 插件开发方式

Groovy sdk 的开发有两种方式:

  1. 使用 GitHub 提供的 Maven Archetype 项目(推荐 Java 开发者)
  2. 直接上传第三方 JAR 包

推荐方式一,优势包括:

  • 打包时自动引入依赖 JAR
  • 在本地 IDE(如 IntelliJ IDEA)中开发调试方便
  • 项目结构更规范

方式一:使用 GitHub Maven Archetype 创建 Groovy sdk(推荐)

项目地址: https://github.com/zljxh/ceta-archetype-plugin

请先阅读仓库中的 README.md 文件,其中说明了:

  • 如何构建 plugin 项目
  • 构建后的项目中 README.md 指导如何创建 connectorTypeaction

方式二:直接上传第三方 JAR 包

如果选择直接上传第三方 JAR 包,请注意:

⚠️ 注意:如果该 JAR 的 POM 中依赖其他 JAR,groovy sdk 不会自动加载,你需要将所有依赖包一起上传。

### Step 1 --- 类型选择groovy

### Step 2 --- 申明输入参数

### Step 3 --- 引入依赖

### Step 4 --- 编写代码

编写 groovy sdk 用于代码。代码的入参为申明的输入参数。 例如:

import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import software.amazon.awssdk.core.sync.RequestBody;
import java.nio.file.Path;
import software.amazon.awssdk.regions.Region;

AwsBasicCredentials credentials = AwsBasicCredentials.create(accessKey, secretKey)
StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(credentials)

S3Client s3 = S3Client.builder()
.region(Region.AP_SOUTHEAST_1)
.credentialsProvider(credentialsProvider)
.build()

try {
PutObjectRequest putObjectRequest = PutObjectRequest.builder()
.bucket(bucketName)
.key(keyName)
.build()

s3.putObject(putObjectRequest, RequestBody.fromFile(Path.of(filePath)))
} finally {
s3.close()
}

示例截图: sdk-connector-type-script