云服务器内容精选

  • 配置说明 异步调用目标的配置说明参见表2,异步调用目标的事件内容参见如下示例: { "timestamp": "2020-08-20T12:00:00.000Z+08:00", "request_context": { "request_id": "1167bf8c-87b0-43ab-8f5f-26b16c64f252", "function_urn": "urn:fss:xx-xxxx-x:xxxxxxx:function:xxxx:xxxx:latest", "condition": "", "approximate_invoke_count": 0 }, "request_payload": "", "response_context": { "status_code": 200, "function_error": "" }, "response_payload": "hello world!" } 表2 配置参数说明 参数 说明 timestamp 调用时间戳。 request_context 请求上下文。 request_context.request_id 异步调用的请求ID。 request_context. function_urn 异步执行的函数URN。 request_context.condition 调用错误类别。 request_context. approximate_invoke_count 异步调用的执行次数。当该值大于1时,说明函数计算对您的函数进行了重试。 request_payload 请求函数的原始负载。 response_context 返回上下文。 response_context.statusCode 调用函数的返回码(系统)。当该返回码不为200时,说明出现了系统错误。 response_context.function_error 调用错误信息。 response_payload 执行函数返回的原始负载。
  • 步骤五:测试函数 在函数详情页,单击“测试”,在弹窗中创建新的测试事件。 选择“apig-event-template”,事件名称输入“helloworld”,测试事件修改为如下所示,完成后单击“创建”。 { "body": "{\"message\": \"helloworld\"}", "requestContext": { "requestId": "11cdcdcf33949dc6d722640a13091c77", "stage": "RELEASE" }, "queryStringParameters": { "responseType": "html" }, "httpMethod": "POST", "pathParameters": {}, "headers": { "Content-Type": "application/json" }, "path": "/helloworld", "isBase64Encoded": false }
  • 准备工作 注册华为账号 并实名认证。 在创建函数前,请先注册华为账号并实名认证,具体步骤请参考注册华为账号并开通华为云和实名认证介绍。 如果您已有一个华为账号并实名认证,请跳过此步骤。 免费额度。 函数工作流 服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。 本章节所有操作均默认具有操作权限,请确保您登录的用户已有“FunctionGraph Administrator”权限,即FunctionGraph服务所有权限,更多权限的说明请参考权限管理。
  • 步骤二:本地验证 启动docker容器 docker run -u 1003:1003 -p 8000:8000 custom_container_http_example:latest 打开一个新的命令行窗口,向开放的8000端口发送消息,支持访问模板代码中根目录“/”下所有路径,以下以“helloworld”为例。 curl -XPOST -H 'Content-Type: application/json' -d '{"message":"HelloWorld"}' localhost:8000/helloworld 按照模块代码中返回 Hello FunctionGraph, method POST 在容器启动端口可以看到 receive {"message":"HelloWorld"} 或者使用docker logs命令获取容器的日志
  • 步骤二:本地验证 启动docker容器 docker run -u 1003:1003 -p 8000:8000 custom_container_event_example:latest 打开一个新的命令行窗口,向开放的8000端口发送消息,访问模板代码中指定的/init路径 curl -XPOST -H 'Content-Type: application/json' localhost:8000/init 按照模块代码中返回 Hello init 打开一个新的命令行窗口,向开放的8000端口发送消息,访问模板代码中指定的/invoke路径 curl -XPOST -H 'Content-Type: application/json' -d '{"message":"HelloWorld"}' localhost:8000/invoke 按照模块代码中返回 Hello invoke 在容器启动端口可以看到 Listening on http://localhost:8000 receive {} receive { message: 'HelloWorld' } 或者使用docker logs命令获取容器的日志
  • 准备工作 注册华为账号并实名认证。 在创建函数前,请先注册华为账号并实名认证,具体步骤请参考注册华为账号并开通华为云和实名认证介绍。 如果您已有一个华为账号并实名认证,请跳过此步骤。 免费额度。 函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。 本章节所有操作均默认具有操作权限,请确保您登录的用户已有“FunctionGraph Administrator”权限,即FunctionGraph服务所有权限,更多权限的说明请参考权限管理。
  • 创建SFS Turbo文件系统 登录华为云弹性文件服务控制台,选择“SFS Turbo”,单击“创建文件系统”,进入“创建文件系统”界面。 在“创建文件系统”界面填写如下参数: 计费模式:根据实际情况选择,推荐按需计费。 弹性文件服务的计费介绍请参见计费说明,计费价格请参见价格计算器。 区域:请选择“华东-上海一”,当前Stable-Diffusion应用仅支持上海一部署。 项目:默认。 可用区:与子网可用区保持一致。 文件系统类型:根据实际需要选择。 存储类型:根据实际需要选择。 容量:根据实际需要选择。 选择网络:请选择上一步创建的VPC和子网。 安全组:请根据提示信息配置。 企业项目:default。 其他保持默认。 参数配置完成后,单击“立即创建”,等待SFS Turbo文件系统创建完成即可。 父主题: 准备
  • 函数公共请求头 HTTP函数请求头默认携带如下字段。 表2 默认请求头 字段 描述 X-CFF-Request-Id 当前请求ID X-CFF-Memory 分配的内存 X-CFF-Timeout 函数超时时间 X-CFF-Func-Version 函数版本 X-CFF-Func-Name 函数名称 X-CFF-Project-Id ProjectID X-CFF-Package 函数组 X-CFF-Region 当前region
  • 概述 HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。 bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap 作为启动文件名称,其它名称将无法正常启动服务,bootstrap启动文件请参见bootstrap文件示例。 HTTP函数支持多种开发语言。 用户函数需要返回一个合法的http响应报文。 该章节均以Nodejs为样例,若需要使用其他语言,则更换语言路径即可,代码包路径无需更换。其他各语言路径请参见表1。 关于Go语言构建FunctionGraph HTTP函数,请参考使用Go构建FunctionGraph HTTP函数。 函数发起HTTP请求时,如果是内网访问,则请求IP地址是动态;如果是公网访问,则请求IP地址是固定。如需了解更多详情请咨询技术支持工程师。
  • 概述 函数是处理事件的自定义代码,您可以使用空白模板函数创建函数,根据实际业务场景进行函数配置。 由于FunctionGraph承担计算资源的管理工作,在函数完成编码以后,需要为函数设置运算资源等信息,目前主要是在FunctionGraph函数控制台完成。 创建函数时可以使用空模板,也可以使用示例模板创建函数、使用容器镜像部署函数。 使用空模板创建函数时,需要设置基础配置信息和代码信息,如表1所示,带*参数为必填项。 每个FunctionGraph函数都运行在其自己的环境中,有其自己的资源和文件系统。
  • 配置代码源 您可以根据所选的运行时语言Runtime,参见创建程序包,选择适合的方式进行代码源部署,完成后单击“部署”。 以下图为例,运行时语言为“Node.js 10.16”,可以选择“在线编辑”、“Zip文件”、“OBS地址”三种方式进行代码源部署。 图2 部署代码源 当使用“OBS地址”方式进行代码源部署时,请确保创建函数选择的“区域”与创建OBS桶选择的“区域”一致。 代码若有修改,请修改完成后再次单击“部署”,重新部署代码。
  • 查看代码信息 查看代码属性 代码属性展示最新部署代码的大小及上次修改时间。 图3 查看代码属性 查看基本信息 函数创建完成后,各语言默认内存和执行超时时间如图4所示,请根据实际业务评估,若需修改“函数执行入口”、“内存(MB)”“执行超时时间(秒)”,可单击“编辑”,在常规设置中修改配置信息,具体请参见配置常规信息。 图4 编辑基本信息 函数一旦创建,便不能修改运行时语言。 表2 各语言默认基本信息 Runtime 默认基本信息 JAVA 内存(MB):512MB 函数执行入口:com.demo.TriggerTests.apigTest 执行超时时间(秒):15s Node.js 内存(MB):128 MB 函数执行入口:index.handler 执行超时时间(秒):3s Custom 内存(MB):128 MB 函数执行入口:bootstrap 执行超时时间(秒):3s PHP 内存(MB):128 MB 函数执行入口:index.handler 执行超时时间(秒):3s Python 内存(MB):128 MB 函数执行入口:index.handler 执行超时时间(秒):3s Go 1.x 内存(MB):128 MB 函数执行入口:handler 执行超时时间(秒):3s
  • 示例事件 SMN 示例事件 { "record": [ { "event_version": "1.0", "smn": { "topic_urn": "urn:smn:{region}:0162c0f220284698b77a3d264376343a:{function_name}", "timestamp": "2018-01-09T07:11:40Z", "message_attributes": null, "message": "this is smn message content", "type": "notification", "message_id": "a51671f77d4a479cacb09e2cd591a983", "subject": "this is smn message subject" }, "event_subscription_urn": "urn:fss:{region}:0162c0f220284698b77a3d264376343a:function:default:read-smn-message:latest", "event_source": "smn" } ], "functionname": "test", "requestId": "7c307f6a-cf68-4e65-8be0-4c77405a1b2c", "timestamp": "Wed Nov 15 2017 12:00:00 GMT+0800 ( CS T)" } 表1 参数说明 参数 类型 示例值 描述 event_version String 1.0 事件协议的版本。 topic_urn String 参考示例 SMN事件唯一编号 type String notification 事件的类型 RequestID String 7c307f6a-cf68-4e65-8be0-4c77405a1b2c 请求ID。每个请求的ID取值唯一。 message_id String a51671f77d4a479cacb09e2cd591a983 消息ID。每条消息的ID取值唯一。 Message String this is smn message content 消息内容 event_source String smn 事件源 event_subscription_urn String 参考示例 添加的订阅唯一编号 timestamp String Wed Nov 15 2017 12:00:00 GMT+0800 (CST) 事件发生的时间 APIG示例事件 { "body": "{\"test\":\"body\"}", "requestContext": { "apiId": "bc1dcffd-aa35-474d-897c-d53425a4c08e", "requestId": "11cdcdcf33949dc6d722640a13091c77", "stage": "RELEASE" }, "queryStringParameters": { "responseType": "html" }, "httpMethod": "GET", "pathParameters": { "path":"value" }, "headers": { "accept-language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "accept-encoding": "gzip, deflate, br", "x-forwarded-port": "443", "x-forwarded-for": "103.218.216.98", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "upgrade-insecure-requests": "1", "host": "50eedf92-c9ad-4ac0-827e-d7c11415d4f1.apigw.region.cloud.com", "x-forwarded-proto": "https", "pragma": "no-cache", "cache-control": "no-cache", "x-real-ip": "103.218.216.98", "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" }, "path": "/apig-event-template", "isBase64Encoded": true } 通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码,需要先对body内容Base64解码后再处理。 函数必须按以下结构返回字符串。 { "isBase64Encoded": true|false, "statusCode": httpStatusCode, "headers": {"headerName":"headerValue",...}, "body": "..." } 表2 参数说明 参数 类型 示例值 描述 body String "{\"test\":\"body\"}" 记录实际请求转换为String字符串后的内容。 requestContext Map 参考示例 请求来源的API网关的配置信息、请求标识、认证信息、来源信息。 httpMethod String GET 记录实际请求的HTTP方法 queryStringParameters Map 参考示例 记录在API网关中配置过的Query参数以及实际取值。 pathParameters Map 参考示例 记录在API网关中配置过的Path参数以及实际取值。 headers Map 参考示例 记录实际请求的完整Header内容 path String /apig-event-template 记录实际请求的完整的Path信息 isBase64Encoded Boolean True 默认为true DIS示例事件 { "ShardID": "shardId-0000000000", "Message": { "next_partition_cursor": "eyJnZXRJdGVyYXRvclBhcmFtIjp7InN0cmVhbS1uYW1lIjoiZGlzLXN3dGVzdCIsInBhcnRpdGlvbi1pZCI6InNoYXJkSWQtMDAwMDAwMDAwMCIsImN1cnNvci10eXBlIjoiVFJJTV9IT1JJWk9OIiwic3RhcnRpbmctc2VxdWVuY2UtbnVtYmVyIjoiNCJ9LCJnZW5lcmF0ZVRpbWVzdGFtcCI6MTUwOTYwNjM5MjE5MX0", "records": [ { "partition_key": "shardId_0000000000", "data": "d2VsY29tZQ==", "sequence_number": "0" }, { "partition_key": "shardId_0000000000", "data": "dXNpbmc=", "sequence_number": "1" }, { "partition_key": "shardId_0000000000", "data": "RnVuY3Rpb25TdGFnZQ==", "sequence_number": "2" }, { "partition_key": "shardId_0000000000", "data": "c2VydmljZQ==", "sequence_number": "3" } ], "millis_behind_latest": "" }, "Tag": "latest", "StreamName": "dis-swtest" } 表3 参数说明 参数 类型 示例值 描述 ShardID String shardId-0000000000 数据下载分区的ID next_partition_cursor String 参考示例 下一个分区的游标 Records Map 参考示例 存储在DIS通道中的数据单元 partition_key String 参考示例 分区键 data String 参考示例 数据块,由数据生产者添加到数据通道 sequence_number Int 参考示例 每个记录的唯一标识符,由DIS服务自动分配 Tag String latest 通道的标签 StreamName String dis-swtest 通道名称 TIMER示例事件 { "version": "v1.0", "time": "2018-06-01T08:30:00+08:00", "trigger_type": "TIMER", "trigger_name": "Timer_001", "user_event": "User Event" } 表4 参数说明 参数 类型 示例值 描述 version String V1.0 事件协议的版本 time String 2018-06-01T08:30:00+08:00 事件产生的时间 trigger_type String TIMER 触发器的类型 trigger_name String Timer_001 触发器的名字 user_event String User Event 在创建触发器时配置的附加信息 LTS示例事件 { "lts": { "data": "ICB7CiAgICAibG9ncyI6W3sKICAgICAgICAgIm1lc3NhZ2UiOiIyMDE4LTA4LTA4LzA4OjA4OjA4IFtXUk5dIFt0ZXN0LmdvOjA4XVRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UuIiwKICAgICAgICAgInRpbWUiOjE1MzAwMDk2NTMwNTksCiAgICAgICAgICJob3N0X25hbWUiOiJlY3MtdGVzdCIsCiAgICAgICAgICJpcCI6IjE5Mi4xNjguMS4xIiwKICAgICAgICAgInBhdGgiOiJ2YXIvbG9nL3Rlc3QubG9nIiwKICAgICAgICAgImxvZ191aWQiOiI2NjNkNjkzMC03OTJkLTExZTgtOGIwOC0yODZlZDQ4OGNlNzAiLAogICAgICAgICAibGluZV9ubyI6MQogICAgIH1dLAogICAgIm93bmVyIjogIjYyODBlMTcwYmQ5MzRmNjBhNGQ4NTFjZjVjYTA1MTI5IiwKICAgICJsb2dfZ3JvdXBfaWQiOiAiOTdhOWQyODQtNDQ0OC0xMWU4LThmYTQtMjg2ZWQ0ODhjZTcwIiwKICAgICJsb2dfdG9waWNfaWQiOiAiMWE5Njc1YTctNzg0ZC0xMWU4LTlmNzAtMjg2ZWQ0ODhjZTcwIgogfQ==" } } 表5 Event中涉及的参数解释 参数 类型 示例值 描述 data Sting 参考示例 Base64编码后的数据 CTS 示例事件 { "cts": { "time": "2018/06/26 08:54:07 GMT+08:00", "user": { "name": "userName", "id": "5b726c4fbfd84821ba866bafaaf56aax", "domain": { "name": "domainName", "id": "b2b3853af40448fcb9e40dxj89505ba" } }, "request": {}, "response": {}, "code": 204, "service_type": "vpc", "resource_type": "VPC", "resource_name": "workflow-2be1", "resource_id": "urn:fgs:{region}:2d1d891d93054bbaa69b9e866c0971ac:graph:workflow-2be1", "trace_name": "deleteGraph", "trace_type": "ConsoleAction", "record_time": "2018/06/26 08:54:07 GMT+08:00", "trace_id": "69be64a7-0233-11e8-82e4-e5d37911193e", "trace_status": "normal" } } 表6 参数说明 参数 类型 示例值 描述 User Map 参考示例 本次请求的发起用户信息 Request Map 参考示例 事件请求内容 Response Map 参考示例 事件响应内容 Code Int 204 事件响应码,例如200、400 service_type String vpc 发送方的简写,比如vpc,ecs等等 resource_type String VPC 发送方资源类型,比如vm,vpn等等 resource_name String workflow-2be1 资源名称,例如ecs服务中某个虚拟机的名称 trace_name String deleteGraph 事件名称,比如:startServer, shutDown等 trace_type String ConsoleAction 事件发生源头类型,例如ApiCall record_time string 2018/06/26 08:54:07 GMT+08:00 cts服务接受到这条trace的时间 trace_id String 69be64a7-0233-11e8-82e4-e5d37911193e 事件的唯一标识符 trace_status String normal 事件的状态 DDS示例事件 { "records": [ { "event_source": "dds", "event_name": "insert", "region": "{region}", "event_version": "1.0", "dds": { "size_bytes": "100", "token": "{\"_data\": \"825D8C2F4D0000001529295A100474039A3412A64BA89041DC952357FB4446645F696400645D8C2F8E5BECCB6CF5370D6A0004\"}", "full_document": "{\"_id\": {\"$oid\": \"5d8c2f8e5beccb6cf5370d6a\"},\"name\": \"dds\",\"age\": {\"$numberDouble\": \"52.0\"}}", "ns": "{\"db\": \"functiongraph\",\"coll\": \"person\"}" }, "event_source_id": "e6065860-f7b8-4cca-80bd-24ef2a3bb748" } ] } 表7 参数说明 参数 类型 示例值 描述 region String cn-north-1 DDS实例所在的地域 event_version String 1.0 事件协议的版本 event_source String dds 事件的来源 event_name String insert 事件的名字 size_bytes Int 100 消息的字节数 token String 参考示例 Base64编码后的数据 full_document String 参考示例 完整的文件信息 ns String 参考示例 列名 event_source_id e6065860-f7b8-4cca-80bd-24ef2a3bb748 参考示例 事件源唯一标识符 Kafka示例事件 { "event_version": "v1.0", "event_time": 1576737962, "trigger_type": "KAFKA", "region": "{region}", "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b", "records": [ { "messages": [ "kafka message1", "kafka message2", "kafka message3", "kafka message4", "kafka message5" ], "topic_id": "topic-test" } ] } 表8 参数说明 参数 类型 示例值 描述 event_version String v1.0 事件协议的版本 event_time String 2018-01-09T07:50:50.028Z 事件发生的时间 trigger_type String KAFKA 事件类型 region String cn-north-1 Kafka实例所在的地域 instance_id String 81335d56-b9fe-4679-ba95-7030949cc76b 创建的Kafka实例的唯一标识符。 messages String 参考示例 消息内容 topic_id String topic-test 消息的唯一标识符 GeminiDB示例事件 { "records": [ { "event_name": "\"insert\"", "event_version": "1.0", "event_source": "gemini_mongo", "region": "{region}", "gemini_mongo": { "full_document": "{\"_id\": {\"$oid\":\"5f61de944778db5fcded3f87\"},\"zhangsan\": \"zhangsan\"}", "ns": "{\"db\": \"zhangsan\",\"coll\": \"zhangsan\"}", "size_bytes": "100", "token": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}" }, "event_source_id": "51153d19-2b7d-402c-9a79-757163258a36" } ], "vernier": "{\"_data\": \"825F61DE940000000129295A1004A2D9AE61206C43A5AF47CAF7C5C00C5946645F696400645F61DE944778DB5FCDED3F870004\"}" } 表9 参数说明 参数 类型 示例值 描述 region String cn-north-1 GeminiDB实例所在的地域 event_source String gemini_mongo 事件的来源 event_version String 1.0 事件协议的版本 full_document String 参考示例 完整的文件信息 size_bytes Int 100 消息的字节数 token String 参考示例 Base64编码后的数据 vernier String 参考示例 游标 RabbitMQ示例事件 { "event_version": "v1.0", "event_time": 1576737962, "trigger_type": "RABBITMQ", "region": "{region}", "records": [ { "messages": [ "rabbitmq message1", "rabbitmq message2", "rabbitmq message3", "rabbitmq message4", "rabbitmq message5" ], "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b", "exchange": "exchange-test" } ] } 表10 参数说明 参数 类型 示例值 描述 event_version String v1.0 事件协议的版本 Region String cn-north-1 RabbitMQ实例所在的地域 instance_id String 81335d56-b9fe-4679-ba95-7030949cc76b 创建的RabbitMQ实例的唯一标识符。 EG示例事件 RocketMQ自定义事件源 { "datacontenttype": "application/json", "data": { "context": "yyyyy" }, "subject": "ROCKETMQ:region:domainId/projectId:ROCKETMQ:eventSourceName", "specversion": "1.0", "id": "016d5bd3-6231-4e9e-86ef-e451a070d598", "source": "eventSourceName", "time": "2023-04-07T11:51:10Z", "type": "ROCKETMQ:CloudTrace:RocketmqCall" } OBS应用事件源 { "channel_id":"b65779ed-d9d0-4a6c-b312-c767226964cf", "description":"", "name":"subscription-xeak", "sources":[ { "id":null, "name":"HC.OBS.DWR", "detail":{ "bucket":"eventbucket", "objectKeyEncode":true }, "filter":{ "source":[ { "op":"StringIn", "values":[ "HC.OBS.DWR" ] } ], "type":[ { "op":"StringIn", "values":[ "OBS:DWR:ObjectCreated:PUT", "OBS:DWR:ObjectCreated:POST" ] } ], "subject":{ "and":[ { "op":"StringStartsWith", "values":[ "/ddd" ] } ] }, "data":{ "obs":{ "bucket":{ "name":[ { "op":"StringIn", "values":[ "output-your" ] } ] } } } }, "provider_type":"OFFICIAL" } ], "targets":[ { "id":null, "name":"HC.FunctionGraph", "detail":{ "urn":"urn:fss:cn-north-7:c53626012ba84727b938ca8bf03108ef:function:A-nodejs-lqz:pylog:latest", "agency_name":"EG_AGENCY" }, "dead_letter_queue":null, "provider_type":"OFFICIAL", "transform":{ "type":"ORIGINAL", "value":"" } } ] } 云服务事件源: { "specversion":"1.0", "id":"eaf3b6a6-d525-11ed-a4ca-1baaeb906770", "source":"HC.OBS", "type":"OBS:CloudTrace:Others", "datacontenttype":"application/json", "subject":"OBS:cn-north-5:1d60cc02b9814b9e8cab1ff36886cacb/a5b94f2084a14e3eb8273dd224b89d9a:OBJECT", "time":"2023-04-07T09:21:53.271Z", "data":{ "code":"200", "source_ip":"10.62.9.176", "trace_type":"Others", "event_type":"data", "project_id":"a5b94f2084a14e3eb8273dd224b89d9a", "total_time":"138", "content_length":"6887848", "trace_id":"eaf3b6a6-d525-11ed-a4ca-1baaeb906770", "trace_name":"GET.OBJECT", "resource_type":"OBJECT", "trace_rating":"normal", "service_type":"OBS", "tracker_name":"obs-eg", "time":"1680859313271", "resource_name":"fangxin-sdk:SDK/nodejs-sdk.zip", "record_time":"1680859313271", "request_id":"000001875B05B4AB8411EF94DDE202C0", "user":{ "domain":{ "id":"1d60cc02b9814b9e8cab1ff36886cacb", "name":"hwstaff_pub_fcspaasw3" }, "name":"devuser", "id":"0d8880584b0090271f7cc00857a7c7b9" } } } 更多云服务事件源,请参见云服务事件源。 表11 参数说明 参数 类型 示例值 描述 datacontenttype String application/json 数据类型 data Map 见示例 数据 subject String 见示例 目标值 specversion String 1.0 版本 id String 见示例 唯一键值 source String eventSourceName 来源名称 time String 见示例 发布订阅时间 type String ROCKETMQ:CloudTrace:RocketmqCall 订阅类型
  • 云审计 服务触发器CTS 可以编写FunctionGraph函数,根据CTS云审计服务类型和操作订阅所需要的事件通知,当CTS云审计服务获取已订阅的操作记录后,通过CTS触发器将采集到的操作记录作为参数传递(CTS示例事件)来调用FunctionGraph函数。经由函数对日志中的关键信息进行分析和处理,对系统、网络等业务模块进行自动修复,或通过短信、邮件等形式产生告警,通知业务人员进行处理。CTS触发器的使用请参考使用CTS触发器。
  • API Gateway 可以通过HTTPS调用FunctionGraph函数,使用API Gateway自定义REST API和终端节点来实现。可以将各个API操作(如GET和PUT)映射到特定的FunctionGraph函数,当向该API终端节点发送HTTPS请求时(APIG示例事件),API Gateway会调用相应的FunctionGraph函数。HTTPS调用触发函数的使用过程请参考使用APIG触发器。