Я пытаюсь развернуть свою функцию Spring Cloud на AWS Lamdba, но похоже, что моя функция
не добавляется в каталог функций, поэтому я предполагаю, что что-то не так с регистрацией моих бобов, но не смог бы понять.
@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()));
}
}
< /code>
my pom.xml < /pbr />
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
< /code>
lamdba config: < /p>
Средство выполнения: java 11 (corretto) < /li>
Handler: org.springframe.cloud.function.adapter.aws.functionInvoker < /li>
< /ul>
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' header stock stocd spring_cloud_function_routingexpression = handle , затем я получаю эту ошибку el1008e: свойство или поле «Руководство» не может быть найдено на объекте типа 'org.springframework.messaging.support.genericmessage' - может spring_cloud_function_definition = handle затем я получаю эту ошибку не удалось поиск функции по маршруту на основе значения 'spring.cloud.function.definition' свойство 'handle'
Я пытаюсь развернуть свою функцию Spring Cloud на AWS Lamdba, но похоже, что моя функция не добавляется в каталог функций, поэтому я предполагаю, что что-то не так с регистрацией моих бобов, но не смог бы понять.[code]@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())); } } < /code> my pom.xml < /pbr />
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} [/code] Когда я не устанавливаю какую-либо переменную среды, я получаю эту ошибку, чтобы установить маршрут, поскольку ни один из них не был предоставлен: 'spring.cloud.function.definition' header stock stocd spring_cloud_function_routingexpression = handle , затем я получаю эту ошибку el1008e: свойство или поле «Руководство» не может быть найдено на объекте типа 'org.springframework.messaging.support.genericmessage' - может spring_cloud_function_definition = handle затем я получаю эту ошибку не удалось поиск функции по маршруту на основе значения 'spring.cloud.function.definition' свойство 'handle'
Я работаю с функцией AWS Lambda, которая служит бэкэнд для конечной точки API Gateway с использованием интеграции Lambda Proxy. Мой обработчик Lambda структурирован так:
def lambda_handler(event, context):
# ... business logic ...
return {...
Я работаю с функцией AWS Lambda, которая служит бэкэнд для конечной точки API Gateway с использованием интеграции Lambda Proxy. Мой обработчик Lambda структурирован так:
def lambda_handler(event, context):
# ... business logic ...
return {...
Я работаю над проектом .net 8 Lambda, который ранее работал гладко в Windows, используя Dotnet-lambda-test-tool . Однако после перехода на MacOS я не могу выполнить его из -за различий в конфигурации.
В Windows я использовал файл запуска. {...
может кто -нибудь, пожалуйста, скажите мне, почему мои функции не работают, когда я ввожу int больше 99. Я попробовал рекомендованный этап отладки с необработанным входом, но это просто смутило меня больше.def is_even(number):
if number %2 == 0:...