aws cdk java-文件上载到s3

ntjbwcob  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(394)

我使用awscdk(java)上传lambda到s3,代码如下。我不想让cdk解包我的jar文件。这似乎是实现这一点的唯一方法(确实有效),但它在assetoptions.builder().exclude()上使用了不推荐使用的代码。有没有更好的方法在java中实现这一点而不使用不推荐的代码?

List<ISource> lambdaSources = new ArrayList<>();
for(String lambda: lambdas) {   
    AssetOptions assetOptions = AssetOptions.builder().exclude(
        Arrays.asList("**", "!" + lambda + "-" + VERSION + SUFFIX)).build();
    lambdaSources.add(Source.asset("../" + lambda + "/build/libs/", assetOptions));
}
tyky79it

tyky79it1#

我想我可能已经找到了一个更好的方法,将代码上传和lambda创建结合起来。如果有更好的方法,我仍然对cdkMaven的想法感兴趣。
顺便说一句,“lambda”只是我创建的一个实体,用于保存我拥有的各种函数的相关属性。

Function.Builder fnBuilder = Function.Builder.create(this, "Builder"); 
 fnBuilder.code(lambda.getCode())
    .functionName(lambda.getName())
    .handler(lambda.getHandler())
    .memorySize(lambda.getSize())
    .role(lambda.constructRole(this))
    .runtime(LambdaDetails.RUNTIME)
    .timeout(lambda.duration())
    .securityGroups(Arrays.asList(lambda.constructSecurityGroup(this)))
    .vpcSubnets(lambda.constructSubnets(this))
    .build();

相关问题