|
|
1 month ago | |
|---|---|---|
| .. | ||
| assets | 1 month ago | |
| src | 1 month ago | |
| target | 1 month ago | |
| README.md | 1 month ago | |
| dependency-reduced-pom.xml | 1 month ago | |
| pom.xml | 1 month ago | |
| readme_s.md | 1 month ago | |
| readme_s_en.md | 1 month ago | |
| s.yaml | 1 month ago | |
| s_en.yaml | 1 month ago | |
本示例为您展示了 Java runtime 的 HTTP 回调示例程序。
注意:如果 domainName 设置为 auto,系统会默认分配测试域名,该域名仅供测试使用,不对其稳定性等做保证 详细信息见:https://www.serverless-devs.com/fc/yaml/customDomains
编译部署代码包
s deploy
注意:
pom.xml中有配置pre-deploy脚本mvn package, 在部署前会调用mvn package编译打包。
3.1. 使用 s invoke 测试
s invoke
调用函数时收到的响应如下所示(实际IP信息已隐藏):
Request url: http://xxxxxxxx.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/fc-example/java11-blank-http/
========= FC invoke Logs begin =========
FC Invoke Start RequestId: c0eb0603-4c24-4072-a773-xxxxxxxx
FC Invoke End RequestId: c0eb0603-4c24-4072-a773-xxxxxxxx
Duration: 412.83 ms, Billed Duration: 413 ms, Memory Size: 128 MB, Max Memory Used: 100.89 MB
========= FC invoke Logs end =========
FC Invoke Result[Code: 200]:
Path:
Uri: /2016-08-15/proxy/fc-example/java11-blank-http/
IP: xx.xx.xx.xx
3.2. 使用自定义域名测试 可直接使用curl测试,或者使用API测试工具(如postman)
# 注意:将 {FunctionName},{ServiceName}和{AccountID} 替换成实际的配置
curl -H 'X-Fc-Log-Type: Tail' -i 'http://{FunctionName}.{ServiceName}.{AccountID}.cn-hangzhou.fc.devsapp.net'
收到响应如下所示(实际IP信息已隐藏)
HTTP/1.1 200 OK
Access-Control-Expose-Headers: Date,x-fc-request-id,x-fc-error-type,x-fc-code-checksum,x-fc-invocation-duration,x-fc-max-memory-usage,x-fc-log-result,x-fc-invocation-code-version
Content-Type: text/plain
Header1: value1
Header2: value2
X-Fc-Code-Checksum: 1786997735xxxxxxxx
X-Fc-Instance-Id: c-624fd56e-xxxxxxxxxx
X-Fc-Invocation-Duration: 4
X-Fc-Invocation-Service-Version: LATEST
X-Fc-Log-Result: RkMgSW52b2tlIFN0YXJ0IFJlcXVlc3RJZDogYzViYzI3MGUtMjI1OC00Y2FkLThmMWEtOTlmY2YxNjBkMzRhCkZDIEludm9rZSBFbmQgUmVxdWVzdElkOiBjNWJjMjcwZS0yMjU4LTRjYWQtOGYxYS05OWZjZjE2MGQzNGEKCkR1cmF0aW9uOiAzLjg3IG1zLCBCaWxsZWQgRHVyYXRpb246IDQgbXMsIE1lbW9yeSBTaXplOiAxMjggTUIsIE1heCBNZW1vcnkgVXNlZDogMTAwLjI2IE1C
X-Fc-Max-Memory-Usage: 100.26
X-Fc-Request-Id: c5bc270e-2258-4cad-8f1a-99fcf160d34a
Date: Fri, 08 Apr 2022 06:28:49 GMT
Content-Length: 34
Path:
Uri: /
IP: xxx.xxx.xxx.xxx
返回Header中的 X-Fc-Log-Result 是base64编码的日志,可以在命令下使用base64解码
$ echo RkMgSW52b2tlIFN0YXJ0IFJlcXVlc3RJZDogYzViYzI3MGUtMjI1OC00Y2FkLThmMWEtOTlmY2YxNjBkMzRhCkZDIEludm9rZSBFbmQgUmVxdWVzdElkOiBjNWJjMjcwZS0yMjU4LTRjYWQtOGYxYS05OWZjZjE2MGQzNGEKCkR1cmF0aW9uOiAzLjg3IG1zLCBCaWxsZWQgRHVyYXRpb246IDQgbXMsIE1lbW9yeSBTaXplOiAxMjggTUIsIE1heCBNZW1vcnkgVXNlZDogMTAwLjI2IE1C | base64 -d
可以看到以下输出:
FC Invoke Start RequestId: c5bc270e-2258-4cad-8f1a-99fcf160d34a
FC Invoke End RequestId: c5bc270e-2258-4cad-8f1a-99fcf160d34a
Duration: 3.87 ms, Billed Duration: 4 ms, Memory Size: 128 MB, Max Memory Used: 100.26 MB
# 编译部署
mvn package
# 打包文件
cd target && zip -r java11-blank-http.zip *
选择服务(或创建服务)后,单击创建函数,如图所示
从零开始创建详细创建函数流程见文档: 使用控制台创建函数
在函数管理页面的测试函数标签栏配置测试参数
返回结果如下所示(实际IP信息已隐藏)
Path:
Uri: /2016-08-15/proxy/fc-example.LATEST/java11-blank-http/
IP: xxx.xxx.xxx.xxx