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 的开发有两种方式:
- 使用 GitHub 提供的 Maven Archetype 项目(推荐 Java 开发者)
- 直接上传第三方 JAR 包
⚡ 推荐方式一,优势包括:
- 打包时自动引入依赖 JAR
- 在本地 IDE(如 IntelliJ IDEA)中开发调试方便
- 项目结构更规范
方式一:使用 GitHub Maven Archetype 创建 Groovy sdk(推荐)
项目地址: https://github.com/zljxh/ceta-archetype-plugin
请先阅读仓库中的 README.md 文件,其中说明了:
- 如何构建 plugin 项目
- 构建后的项目中 README.md 指导如何创建
connectorType与action
方式二:直接上传第三方 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()
}
示例截图:
