Azure / Azure/azure-functions-java-worker

reorder arguments resolving logics to full support middleware - V5 - breaking change.

未关闭
#648 0 条评论 0 个 reaction 已指派 1 人 已被 @kaibocai 认领 在 GitHub 查看
Enhancement Needs: Triage (Functions) reviewed V5
主要语言
Java
星标
103
派生
74
平均合并
4 天 8 小时
30 天内合并 PR
2

描述

For today's middleware support logics we are convert the parameter payload to String for middleware to consume during the invocation request at https://github.com/Azure/azure-functions-java-worker/blob/679e5618010d6c3b68b48654048c268b7274a116/src/main/java/com/microsoft/azure/functions/worker/binding/ExecutionContextDataSource.java#L120,

This has limitation as middleware is getting the payload that already got transferred to String type. Middleware may want to use the original type of parameter payload which build by java worker. I see from two advantages of this approach:
- Give more fliexibility to middleware when they want to play around the input parameter payload, not only restrict payload type to String.
- Reduce the repeat work we already did in the worker - convert the payload type from GRPC type to corresponding java type. Currently without this we are trying to did the same worker for middleware only different we convert all GRPC type to String.

Attached the potential PR here https://github.com/Azure/azure-functions-java-worker/tree/kaibocai/v5-bench

Potential break changes:

- Unique Parameter Name: https://github.com/Azure/azure-functions-java-worker/blob/305a00a0ce322c72a49a0f779dde1c41d37a5fc7/src/main/java/com/microsoft/azure/functions/worker/broker/ParameterResovler.java#L23

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。