要解决API网关仍然指向旧的Lambda函数的问题,你可以按照以下步骤进行操作:
打开AWS管理控制台并导航到API网关服务。
选择你的API网关。
在左侧菜单中,选择“资源”。
找到你想要更新的资源并选择它。
在资源的操作菜单中,选择“集成请求”。
在集成请求页面,找到“Lambda函数”部分。
单击“编辑”按钮。
在弹出的“更改Lambda函数”对话框中,选择新的Lambda函数。
单击“保存”。
以下是一个示例代码,展示如何使用AWS SDK for Python (Boto3)来更新API网关的Lambda函数。
import boto3
# 创建API网关的Boto3客户端
client = boto3.client('apigateway')
# 定义API网关的名称和资源ID
api_name = 'your-api-name'
resource_id = 'your-resource-id'
# 定义新的Lambda函数ARN
new_lambda_arn = 'arn:aws:lambda:us-west-2:1234567890:function:new-lambda-function'
# 更新API网关的Lambda函数
response = client.update_integration(
restApiId=api_name,
resourceId=resource_id,
httpMethod='GET',
patchOperations=[
{
'op': 'replace',
'path': '/uri',
'value': new_lambda_arn
}
]
)
# 打印更新结果
print(response)
请确保将your-api-name
替换为你的API网关名称,your-resource-id
替换为你想要更新的资源ID,以及arn:aws:lambda:us-west-2:1234567890:function:new-lambda-function
替换为新的Lambda函数的ARN。