Кто-нибудь знает, как исправить время ожидания запроса по шлюзу (504) при попытке зарегистрировать пользователя в cognito?Я использую его с шлюзом AWS Api.локально он работает без проблем, но когда я загружаю его в лямбду AWS, он получает тайм-аут запроса.
Когда у меня есть код ниже с тайм-аутом ожидания.Когда я покидаю ожидание, оно не истечет, но также не зарегистрирует пользователя в Cognito.
private static readonly string _clientId = DotNetEnv.Env.GetString("AWS_CLIENT_ID", null);
private static readonly string _poolId = DotNetEnv.Env.GetString("AWS_USER_POOL", null);
private static AmazonCognitoIdentityProviderClient CreateCognitoClient()
{
return new AmazonCognitoIdentityProviderClient(new AnonymousAWSCredentials());
}
/*
* Method name: regsiterAsync
* @param1: user (User), contains the basic userdata for registering a user (email, username, password, name)
* returns: Response (object)
**/
public static async Task<Response> registerAsync(User user)
{
Response response = new Response();
/*
* Check if user already exists in our database.
**/
if (DbHandler.getUserByEmail(user.email) == null)
{
/*
* Create a signup request to be sent to amazon cognito.
**/
SignUpRequest signUpRequest = new SignUpRequest()
{
ClientId = _clientId,
Username = user.email,
Password = user.password,
UserAttributes = new List<Amazon.CognitoIdentityProvider.Model.AttributeType>
{
new AttributeType
{
Name = "email",
Value = user.email
}
}
};
try
{
/*
* Send singup request to amazon cognito
* Returns a SingUpRequest(object)
**/
using(var cognitoClient = CreateCognitoClient())
{
var signUpResult = await cognitoClient.SignUpAsync(signUpRequest);
}
}
catch (Exception e)
{
/*
* Incase that a error accoured by sending the SingUpRequest to cognito. Return a error response.
**/
response.status = "failed";
response.message = e.Message;
return response;
}
/*
* Add user to our database
**/
User storedUser = DbHandler.addUser(user);
/*
* Return response with success data
**/
response.message = "User successful registered.";
response.data = storedUser;
return response;
}
/*
* In case the user already exists in our database. Return a non successful response
**/
response.status = "failed";
response.message = "User already exists.";
return response;