У меня есть проект ASP.net Core Web API и отдельный уровень обслуживания, который содержит бизнес -логику. Я хочу вызвать функцию AWS Lambda из моего уровня обслуживания (не непосредственно из API) и обрабатывать результат в моем API. Кроме того, я хочу упаковать и развернуть функцию Lambda с помощью AWS CLI и интегрировать ее в свой существующий конвейер CI/CD. Что я сделал: < /p>
Создал функцию Lambda в отдельном проекте .NET. Вот функция лямбда: < /li>
< /ol>
using Amazon.Lambda.Core;
using System;
using System.Collections.Generic;
using Amazon.Lambda.Serialization.SystemTextJson;
namespace MyLambdaFunction
{
public class MyLambda
{
private readonly object cacheLock = new object();
public MyLambda()
{
// You can initialize services here if needed
}
public MyResponse FunctionHandler(DateTime fromDate, DateTime toDate, ILambdaContext context)
{
lock (cacheLock)
{
// Logic to get data from cache or service if needed
MyResponse result = new MyResponse(); // Replace with actual data retrieval logic
return result;
}
}
}
}
< /code>
Добавлена следующая логика вызова лямбды в сервисный уровень проекта API: < /li>
< /ol>
public class LambdaInvokerService
{
private readonly IAmazonLambda _lambdaClient;
public LambdaInvokerService(IAmazonLambda lambdaClient)
{
_lambdaClient = lambdaClient;
}
public async Task InvokeLambdaAsync(string functionName, object payload)
{
var request = new InvokeRequest
{
FunctionName = functionName,
Payload = System.Text.Json.JsonSerializer.Serialize(payload)
};
var response = await _lambdaClient.InvokeAsync(request);
return new StreamReader(response.Payload).ReadToEnd();
}
}
< /code>
Вопросы: < /p>
Это правильный дизайн для вызова лямбды со уровня обслуживания? Есть улучшения? Как я могу автоматически интегрировать развертывание лямбда в свой существующий трубопровод CI/CD?
У меня есть проект ASP.net Core Web API и отдельный уровень обслуживания, который содержит бизнес -логику. Я хочу вызвать функцию AWS Lambda из моего уровня обслуживания (не непосредственно из API) и обрабатывать результат в моем API. Кроме того, я хочу упаковать и развернуть функцию Lambda с помощью AWS CLI и интегрировать ее в свой существующий конвейер CI/CD. [b] Что я сделал: [/b] < /p> [list] [*] Создал функцию Lambda в отдельном проекте .NET. Вот функция лямбда: < /li> < /ol> using Amazon.Lambda.Core; using System; using System.Collections.Generic; using Amazon.Lambda.Serialization.SystemTextJson;
namespace MyLambdaFunction { public class MyLambda { private readonly object cacheLock = new object();
public MyLambda() { // You can initialize services here if needed }
public MyResponse FunctionHandler(DateTime fromDate, DateTime toDate, ILambdaContext context) { lock (cacheLock) { // Logic to get data from cache or service if needed MyResponse result = new MyResponse(); // Replace with actual data retrieval logic return result; } } } } < /code>
Добавлена следующая логика вызова лямбды в сервисный уровень проекта API: < /li> < /ol> public class LambdaInvokerService { private readonly IAmazonLambda _lambdaClient;
public LambdaInvokerService(IAmazonLambda lambdaClient) { _lambdaClient = lambdaClient; }
public async Task InvokeLambdaAsync(string functionName, object payload) { var request = new InvokeRequest { FunctionName = functionName, Payload = System.Text.Json.JsonSerializer.Serialize(payload) }; var response = await _lambdaClient.InvokeAsync(request); return new StreamReader(response.Payload).ReadToEnd(); } } < /code> Вопросы: < /p>
Это правильный дизайн для вызова лямбды со уровня обслуживания? Есть улучшения? Как я могу автоматически интегрировать развертывание лямбда в свой существующий трубопровод CI/CD? [/list]
Я работаю над проектом .net 8 Lambda, который ранее работал гладко в Windows, используя Dotnet-lambda-test-tool . Однако после перехода на MacOS я не могу выполнить его из -за различий в конфигурации.
В Windows я использовал файл запуска. {...
Я работаю с функцией 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 {...
Я просто пытался развернуть приложение в магазине Google Play и получил эту ошибку.
Как изменить целевой API на 31. Я знаю, что его необходимо изменить в Файл build.gradle под android/
Это мой:
ext {
buildToolsVersion = 29.0.3
minSdkVersion = 21...