前言:
本教程基于python语言,在开始前请确保您有基本的python编程能力(没有也行)
本教程应用到了SCF、COS 请确保您对这两个产品有基本的了解
资源文件:
SCF函数
from qcloud_cos_v5 import CosConfig
from qcloud_cos_v5 import CosS3Client
from qcloud_cos_v5 import CosServiceError
from qcloud_cos_v5 import CosClientError
import requests
import json
import sys
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def main_handler(event, context):
for record in event['Records']:
try:
request_info = json.dumps(record)
url = 'http://43.143.142.136:8081'
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=request_info, headers=headers)
except Exception as e:
print(e)
print('Error getting object {} from bucket {}. '.format(key, bucket))
raise e
return "Fail"
return "Success"
教程正式开始
1.先创建函数

2.配置函数基本

部署完成后自动跳转到函数配置页,主要内容是函数服务器的配置这里
可以配置VPC然后挂载CFS 实现文件内网操作多挂载方式的文件共享
重点看一下触发器 这里选择cos文件操作触发 选择存储后完成
3.进入在线调试测一下

这里提供个python脚本 主要是开端口 打印测试信息 放到服务器上 python3 main.py就可以启动
from http.server import HTTPServer, BaseHTTPRequestHandler
import urllib
import json
'''========【http端口服务】========'''
class HttpHandler(BaseHTTPRequestHandler):
def do_GET(self):
path, args = urllib.parse.splitquery(self.path)
self._response(path, args)
def do_POST(self):
args = self.rfile.read(int(self.headers['content-length'])).decode("utf-8")
self._response(self.path, args)
def _response(self, path, args):
# 组装参数为字典
# if args:
# args = urllib.parse.parse_qs(args).items()
# args = dict([(k, v[0]) for k, v in args])
# else:
# args = {}
# 设置响应结果
result = {"status": 0, "msg": "操作成功", "data": [{"page_id": 1}, {"page_id": 2},{"param": args}]}
print(result)
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps(result).encode())
if __name__ == '__main__':
# 开启http服务,设置监听ip和端口
httpd = HTTPServer(('', 8081), HttpHandler)
httpd.serve_forever()
# 运行后 http://localhost:8787 即可访问该接口
回到控制台点击测试 查看端口脚本执行情况

打印出了完整的回调信息
教程结束 原创不易 跪求三连
