@@ -4,6 +4,8 @@ import { Architecture, DockerImageCode, DockerImageFunction, IFunction } from 'a
44import { Platform } from 'aws-cdk-lib/aws-ecr-assets' ;
55import { Database } from './database' ;
66import { EventBus } from './event-bus' ;
7+ import { PolicyStatement } from 'aws-cdk-lib/aws-iam' ;
8+ import { join } from 'path' ;
79
810export interface AsyncJobProps {
911 readonly database : Database ;
@@ -18,7 +20,7 @@ export class AsyncJob extends Construct {
1820 const { database, eventBus } = props ;
1921
2022 const handler = new DockerImageFunction ( this , 'Handler' , {
21- code : DockerImageCode . fromImageAsset ( '../ webapp' , {
23+ code : DockerImageCode . fromImageAsset ( join ( '..' , ' webapp') , {
2224 cmd : [ 'async-job-runner.handler' ] ,
2325 platform : Platform . LINUX_ARM64 ,
2426 file : 'job.Dockerfile' ,
@@ -38,6 +40,13 @@ export class AsyncJob extends Construct {
3840 handler . connections . allowToDefaultPort ( database ) ;
3941 eventBus . api . grantPublish ( handler ) ;
4042
43+ handler . addToRolePolicy (
44+ new PolicyStatement ( {
45+ actions : [ 'translate:TranslateText' , 'comprehend:DetectDominantLanguage' ] ,
46+ resources : [ '*' ] ,
47+ } ) ,
48+ ) ;
49+
4150 new CfnOutput ( this , 'HandlerArn' , { value : handler . functionArn } ) ;
4251 this . handler = handler ;
4352 }
0 commit comments