Приложение функции Spring Cloud не может найти функцию на AWS LambdaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Приложение функции Spring Cloud не может найти функцию на AWS Lambda

Сообщение Anonymous »

Я пытаюсь развернуть свою функцию Spring Cloud на AWS Lamdba, но похоже, что моя функция
не добавлена ​​в каталог функций, поэтому я предполагаю, что что-то не так с регистрацией моего компонента, но не могу этого понять.
Мое приложение Spring:

Код: Выделить всё

@SpringBootApplication
public class TranscribeEventHandlerApplication implements ApplicationContextInitializer {

public static void main(String[] args) {
FunctionalSpringApplication.run(TranscribeEventHandlerApplication.class, args);
}

public Function handle() {
return value -> "OK";
}

@Override
public void initialize(GenericApplicationContext context) {
context.registerBean("handle", FunctionRegistration.class,
() -> new FunctionRegistration(handle())
.type(FunctionType.from(String.class).to(String.class).getType()));
}
}
Мой pom.xml

Код: Выделить всё


4.0.0

org.springframework.boot
spring-boot-starter-parent
2.4.7
  

ai.alabs
transcribe-event-handler
0.0.1-SNAPSHOT
transcribe-event-handler
Demo project for Spring Boot

11
2020.0.3



org.springframework.cloud
spring-cloud-function-adapter-aws


com.amazonaws
aws-lambda-java-core
1.1.0
provided


com.amazonaws
aws-lambda-java-events
2.0.2



org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test





org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import







org.apache.maven.plugins
maven-deploy-plugin

true



org.springframework.boot
spring-boot-maven-plugin


org.springframework.boot.experimental
spring-boot-thin-layout
1.0.17.RELEASE





org.projectlombok
lombok





org.apache.maven.plugins
maven-shade-plugin

false
true
aws






Конфигурация Lamdba:
  • Среда выполнения: Java 11 (Corretto)
  • Обработчик: org.springframework.cloud.function.adapter.aws.FunctionInvoker
Из журнала я вижу, что приложение получает тестовое событие и определенный обработчик обрабатывает это, но не может найти мою функцию.

Код: Выделить всё

2021-07-07 01:16:12.932  INFO 8 --- [           main] o.s.c.f.adapter.aws.FunctionInvoker      : Received: {"version":"0","id":"999cccaa-eaaa-0000-1111-123456789012","detail-type":"Transcribe Job State Change","source":"aws.transcribe","account":"123456789012","time":"2016-12-16T20:57:47Z","region":"us-east-1","resources":[],"detail":{"TranscriptionJobStatus":["COMPLETED"]}}
2021-07-07 01:16:12.962  INFO 8 --- [           main] o.s.c.f.adapter.aws.AWSLambdaUtils       : Incoming JSON Event: {"version":"0","id":"999cccaa-eaaa-0000-1111-123456789012","detail-type":"Transcribe Job State Change","source":"aws.transcribe","account":"123456789012","time":"2016-12-16T20:57:47Z","region":"us-east-1","resources":[],"detail":{"TranscriptionJobStatus":["COMPLETED"]}}
2021-07-07 01:16:13.129  INFO 8 --- [           main] o.s.c.f.adapter.aws.AWSLambdaUtils       : Incoming request headers: {id=22800a64-d3b5-000e-3be9-48418b185b32, timestamp=1625620572948}
Когда я не устанавливаю какую-либо переменную среды, я получаю эту ошибку. Не удалось установить маршрут, поскольку ни один из них не был предоставлен: «spring.cloud.function.definition» как заголовок сообщения или как свойство приложения или «spring.cloud.function.routing-expression» как свойство приложения.
Когда я устанавливаю переменную среды Spring_cloud_function_routingExpression=handle, я получаю эта ошибка EL1008E: свойство или поле "дескриптор" не найдено в объекте типа "org.springframework.messaging.support.GenericMessage" - возможно, оно не является общедоступным или недопустимым?.
Когда я устанавливаю переменную среды Spring_cloud_function_definition=handle, я получаю эту ошибку Не удалось выполнить поиск функции для маршрутизации на основе значения свойство «spring.cloud.function.definition» «дескриптор»

Подробнее здесь: https://stackoverflow.com/questions/682 ... aws-lamdba
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»