You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cloud Run中用Python记录并查看收到的输入(如URL)

在Cloud Run中用Python记录并查看URL输入日志

1. 编写Python服务代码

用Flask搭建基础服务,处理URL输入并记录日志。Cloud Run会自动收集标准输出/错误流的日志,直接用Python内置的logging模块即可完成日志输出。

创建main.py文件:

import logging
import os
from flask import Flask, request

# 配置日志格式,包含时间、日志级别和消息内容
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

app = Flask(__name__)

@app.route('/receive-url', methods=['GET', 'POST'])
def receive_url():
    # 兼容GET参数、POST JSON/表单三种输入方式
    input_url = None
    if request.method == 'GET':
        input_url = request.args.get('url')
    elif request.method == 'POST':
        if request.is_json:
            input_url = request.json.get('url')
        else:
            input_url = request.form.get('url')
    
    if not input_url:
        logger.warning("未接收到有效的URL输入")
        return "请提供有效的URL参数", 400
    
    # 记录收到的URL内容
    logger.info(f"收到URL输入: {input_url}")
    return f"已记录URL: {input_url}", 200

if __name__ == '__main__':
    # 读取Cloud Run自动设置的PORT环境变量,默认8080
    port = int(os.environ.get('PORT', 8080))
    app.run(host='0.0.0.0', port=port)

2. 编写Dockerfile

Cloud Run依赖容器镜像运行服务,创建Dockerfile:

# 使用轻量版Python基础镜像
FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 复制依赖清单并安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 复制服务代码
COPY main.py .

# 暴露Cloud Run默认端口
EXPOSE 8080

# 启动服务
CMD ["python", "main.py"]

对应的requirements.txt文件:

Flask==2.3.3

3. 部署到Cloud Run

使用gcloud CLI完成部署(需提前安装并配置好gcloud工具,关联你的GCP项目):

# 构建容器镜像(替换PROJECT_ID为你的GCP项目ID)
gcloud builds submit --tag gcr.io/PROJECT_ID/url-logger

# 部署到Cloud Run,允许未认证请求用于测试
gcloud run deploy url-logger --image gcr.io/PROJECT_ID/url-logger --platform managed --allow-unauthenticated

部署完成后会生成一个服务访问URL,格式类似https://url-logger-xxxxxx-uc.a.run.app。

4. 测试服务并查看日志

发送测试请求

  • GET方式:直接访问https://url-logger-xxxxxx-uc.a.run.app/receive-url?url=https://example.com
  • POST JSON方式:
curl -X POST -H "Content-Type: application/json" -d '{"url":"https://test.com"}' https://url-logger-xxxxxx-uc.a.run.app/receive-url

查看日志

通过gcloud CLI查看:

# 筛选Cloud Run服务的最新20条日志
gcloud logs read "resource.type=cloud_run_revision AND resource.labels.service_name=url-logger" --limit 20

通过GCP控制台查看:

  1. 打开Cloud Run控制台,找到你的url-logger服务
  2. 切换到「日志」标签页,即可看到实时输出的日志,包含你记录的URL输入信息

内容的提问来源于stack exchange,提问作者lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:50:17