Облачная функция Java доступ к предварительно установленной переменной среды

#google-cloud-platform #google-cloud-functions

#google-облачная платформа #google-cloud-функции

Вопрос:

Использование времени выполнения Java 11 для моей облачной функции GCP в качестве триггера из GCS.

Среды выполнения NodeJS и Python имеют доступ к нескольким полезным предустановленным переменным среды, как описано здесь

Но они недоступны для JAVA. Есть какие-либо обновления, когда у нас будут те же переменные, доступные для среды выполнения JAVA 11?

Ответ №1:

На данный момент (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 runtime, я думаю, вам следует попробовать обратиться напрямую к Google через их общедоступный сервис отслеживания проблем.

Комментарии:

1. Спасибо. Я был более заинтересован в Project-id, который доступен с node.js и Python