将我的GCP云函数的Java 11运行时用作GCS的触发器。
NodeJS和Python运行时可以访问一些有用的预设环境变量,如所示
但它们不适用于JAVA。当我们有相同的变量可用于JAVA 11运行时时,有什么更新吗?
截至目前(2020/09/18(,默认设置了一些环境变量,您可以通过一个简单的Java云函数(例如HTTP函数(来显示它们:
package com.example;
import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
public class Example implements HttpFunction {
@Override
public void service(HttpRequest request, HttpResponse response) throws Exception {
System.getenv().entrySet().forEach(System.out::println);
}
}
日志显示:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANGUAGE=en_US:en
PORT=8080
FUNCTION_SIGNATURE_TYPE=http
K_SERVICE=function-1
K_REVISION=2
LANG=en_US.UTF-8
X_GOOGLE_MEMORY_HINT_DO_NOT_USE=256
DEBIAN_FRONTEND=noninteractive
LC_ALL=en_US.UTF-8
JAVA_TOOL_OPTIONS=-XX:MaxRAM=256m -XX:MaxRAMPercentage=70
PWD=/srv
FUNCTION_TARGET=com.example.Example
SHLVL=0
HOME=/root
但是,根据最佳实践的建议:
环境提供的环境变量(除了自动设置的环境变量中列出的变量(可能会在未来的运行时版本中更改。作为最佳实践,我们建议您不要依赖或修改任何未明确设置的环境变量。
如果你想了解Java 11运行时环境变量的未来,我认为你应该尝试通过他们的公共问题跟踪器直接向谷歌询问。