以下是一个使用AWS API网关将客户端重定向到S3桶文件夹的示例解决方法:
import json
def lambda_handler(event, context):
# 获取API网关请求中的查询参数
query_params = event['queryStringParameters']
# 构建重定向URL
s3_bucket = 'your-s3-bucket'
s3_folder = query_params['folder']
redirect_url = f'https://{s3_bucket}.s3.amazonaws.com/{s3_folder}/'
# 构建API网关响应
response = {
'statusCode': 301,
'headers': {
'Location': redirect_url
}
}
return response
创建一个API网关,并将其配置为使用上述Lambda函数作为集成。
在API网关的资源中添加一个GET方法,并将其配置为使用重定向Lambda函数作为集成。
部署API网关。
现在,您可以使用以下URL模式来访问API网关并重定向到S3桶中的文件夹:
https://api-gateway-url/{resource}?folder={s3-folder-path}
例如,如果您的API网关URL为https://example-api-gateway.com
,要重定向到S3桶中的my-folder
文件夹,您可以使用以下URL:
https://example-api-gateway.com/resource?folder=my-folder
当访问此URL时,API网关将调用Lambda函数来生成重定向URL,并将客户端重定向到S3桶中的相应文件夹。