Это также происходит при тестировании в Postman, где превышен максимальный предел перенаправлений.
Однако выполнение запросов к определенным идентификаторам блога, например:< /p>
работает отлично, возвращая ожидаемый ответ.
Если я тестирую приложение с помощью панели Test в AWS Lambda менеджер консоли, используя шаблон AWS Proxy:
from fastapi import FastAPI
from mangum import Mangum
from src import models
from src.database import engine
from src.routers import blog, user
app = FastAPI()
handler = Mangum(app)
models.Base.metadata.create_all(bind=engine)
app.include_router(blog.router)
(cd dependencies; zip ../aws_lambda_artifact.zip -r .)
zip aws_lambda_artifact.zip -u -r src
Проблема
Корневая конечная точка /blogs зависла в цикле перенаправления, но определенные URL-адреса на основе идентификатора (например, /blogs/1) работают нормально. Есть идеи, почему это происходит и как я могу это решить?
Я разработал приложение FastAPI и развернул его на AWS Lambda в виде архива .zip. Локально, когда я запускаю: [code]uvicorn src.main:app --reload [/code] Я могу получить доступ к конечной точке /blogs ([code]http://127.0.0.1:8000/blogs[/code]) и возвращает правильные данные: [code][ { "title": "blog with relationship", "description": "description", "written_by": { "username": "Sarthak", "email": "sss@ssss.com", "blogs": [ { "title": "blog with relationship", "description": "description" }, { "title": "blog with relationship", "description": "description" } ] } } ] [/code] Однако, когда я развертываю это приложение в AWS Lambda, используя следующий шаблон SAM: [code]AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: Full: Type: AWS::Serverless::Function Properties: CodeUri: . Handler: src.main.handler Runtime: python3.12 MemorySize: 128 Timeout: 60 FunctionUrlConfig: AuthType: NONE [/code] Я получаю сообщение об ошибке [b]Слишком много перенаправлений[/b] при выполнении запроса GET к сгенерированному URL-адресу: [code]https://cjosbvzkkcjiaa4e7frfwtacia0molag.lambda-url.us-east-1.on.aws/blogs [/code] Это также происходит при тестировании в Postman, где превышен максимальный предел перенаправлений. Однако выполнение запросов к определенным идентификаторам блога, например:< /p> [code]https://cjosbvzkkcjiaa4e7frfwtacia0molag.lambda-url.us-east-1.on.aws/blogs/1 [/code] работает отлично, возвращая ожидаемый ответ. Если я тестирую приложение с помощью панели Test в AWS Lambda менеджер консоли, используя шаблон AWS Proxy: [code]{ "body": "eyJ0ZXN0IjoiYm9keSJ9", "resource": "/{proxy+}", "path": "/blogs", "httpMethod": "GET", "isBase64Encoded": true, "queryStringParameters": { "foo": "bar" }, "multiValueQueryStringParameters": { "foo": [ "bar" ] }, "pathParameters": { "proxy": "/blogs" }, "stageVariables": { "baz": "qux" }, "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Encoding": "gzip, deflate, sdch", "Accept-Language": "en-US,en;q=0.8", "Cache-Control": "max-age=0", "CloudFront-Forwarded-Proto": "https", "CloudFront-Is-Desktop-Viewer": "true", "CloudFront-Is-Mobile-Viewer": "false", "CloudFront-Is-SmartTV-Viewer": "false", "CloudFront-Is-Tablet-Viewer": "false", "CloudFront-Viewer-Country": "US", "Host": "1234567890.execute-api.us-east-1.amazonaws.com", "Upgrade-Insecure-Requests": "1", "User-Agent": "Custom User Agent String", "Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)", "X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==", "X-Forwarded-For": "127.0.0.1, 127.0.0.2", "X-Forwarded-Port": "443", "X-Forwarded-Proto": "https" }, "multiValueHeaders": { "Accept": [ "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" ], "Accept-Encoding": [ "gzip, deflate, sdch" ], "Accept-Language": [ "en-US,en;q=0.8" ], "Cache-Control": [ "max-age=0" ], "CloudFront-Forwarded-Proto": [ "https" ], "CloudFront-Is-Desktop-Viewer": [ "true" ], "CloudFront-Is-Mobile-Viewer": [ "false" ], "CloudFront-Is-SmartTV-Viewer": [ "false" ], "CloudFront-Is-Tablet-Viewer": [ "false" ], "CloudFront-Viewer-Country": [ "US" ], "Host": [ "0123456789.execute-api.us-east-1.amazonaws.com" ], "Upgrade-Insecure-Requests": [ "1" ], "User-Agent": [ "Custom User Agent String" ], "Via": [ "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)" ], "X-Amz-Cf-Id": [ "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==" ], "X-Forwarded-For": [ "127.0.0.1, 127.0.0.2" ], "X-Forwarded-Port": [ "443" ], "X-Forwarded-Proto": [ "https" ] }, "requestContext": { "accountId": "123456789012", "resourceId": "123456", "stage": "prod", "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef", "requestTime": "09/Apr/2015:12:34:56 +0000", "requestTimeEpoch": 1428582896000, "identity": { "cognitoIdentityPoolId": null, "accountId": null, "cognitoIdentityId": null, "caller": null, "accessKey": null, "sourceIp": "127.0.0.1", "cognitoAuthenticationType": null, "cognitoAuthenticationProvider": null, "userArn": null, "userAgent": "Custom User Agent String", "user": null }, "path": "/blogs", "resourcePath": "/{proxy+}", "httpMethod": "GET", "apiId": "1234567890", "protocol": "HTTP/1.1" } } [/code] Я получаю такой ответ: [code]{ "statusCode": 307, "headers": { "content-length": "0", "location": "https://0123456789.execute-api.us-east-1.amazonaws.com/blogs/?foo=bar" }, "multiValueHeaders": {}, "body": "", "isBase64Encoded": false } [/code] Структура проекта (упрощенная) [code]├── aws_lambda_artifact.zip └── src ├── main.py ├── routers │ └── blog.py ├── models.py └── database.py [/code] Main.py [code]from fastapi import FastAPI from mangum import Mangum
from src import models from src.database import engine from src.routers import blog, user
app = FastAPI() handler = Mangum(app)
models.Base.metadata.create_all(bind=engine)
app.include_router(blog.router) [/code] routers/blog.py [code]from typing import List
from fastapi import APIRouter, Depends, status from sqlalchemy.orm import Session
from src.database import get_db from src.oauth2 import get_current_user from src.repository import blog_repository from src.schemas import ShowBlog, Blog, User
[*]Добавлены каталоги зависимостей и src в архив .zip: [code](cd dependencies; zip ../aws_lambda_artifact.zip -r .) zip aws_lambda_artifact.zip -u -r src [/code]
[/list] Проблема Корневая конечная точка /blogs зависла в цикле перенаправления, но определенные URL-адреса на основе идентификатора (например, /blogs/1) работают нормально. Есть идеи, почему это происходит и как я могу это решить?
My Java Microservice использует AWS SDK для Java v2.21.
Я строю клиент EC2 таким образом:
Ec2Client.builder().credentialsProvider(DefaultCredentialsProvider.create())
.endpointOverride(URI.create(
.build();
У меня есть простой сценарий Python, который делает запрос GET для API REST, размещенного в API API API. Чтобы разрешить этот запрос, я использую временные учетные данные, полученные, взяв на себя роль (роль, которая разрешена призывать целевой...
Эта строка кода в Java дает ошибку. Но когда я смотрел учебник, это не получило ошибки. Как я могу это исправить? Спасибо
public class Main {
public static void main(String[] args) {
Point point = new Point(x:1, y:1);
System.out.println(point);
}...
Эта строка кода в Java дает ошибку. Но когда я смотрел учебник, это не получило ошибки. Как я могу это исправить? Спасибо
import java.awt.*;
public class Main {
public static void main(String[] args) {
Point point = new Point(x:1, y:1);...