이 페이지에서는 Runtime Configurator를 사용하여 변수를 설정, 가져오기, 업데이트하는 방법을 설명합니다. 변수는 RuntimeConfig 리소스에 속하는 키 값 쌍입니다. 각 키 값 쌍에는 개발자가 정의한 데이터가 포함됩니다. 변수를 만든 후에는 여기에 감시자 또는 대기자를 설정할 수 있습니다.
변수 및 Runtime Configurator 서비스에 대한 자세한 내용은 Runtime Configurator 기초 문서를 참조하세요.
RuntimeConfig 리소스를 만드는 방법은 RuntimeConfig 리소스 만들기 및 삭제를 참조하세요.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 'gcloud' 명령줄 도구를 설치합니다.
- 이 가이드의 API 예시를 사용하려면 API 액세스를 설정합니다.
- Runtime Configurator 기초를 읽습니다.
- RuntimeConfig 리소스 만들기 및 삭제를 읽습니다.
변수 만들기
변수는 키 값 쌍입니다. 변수 키는 평면 또는 계층형일 수 있습니다. 예를 들어 다음 키는 모두 유효한 키입니다.
status
users/jane-smith/favorite-color
users/total
리프 노드 키만 값을 가질 수 있습니다. 위 예제에서는 다음 항목에 값을 할당할 수 없습니다.
users
users/jane-smith
이 두 키는 그 아래에 다른 키를 포함하기 때문입니다.
변수를 만들려면 Deployment Manager, Google Cloud CLI 또는 API를 사용합니다.
Deployment Manager
Deployment Manager에서 변수를 만들려면 변수 유형을 지정합니다.
runtimeconfig.v1beta1.variable
변수 속성에서 변수의 name
, location
, value
를 제공합니다.
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
각 항목의 의미는 다음과 같습니다.
[NAME]
은 이 변수의 임의 리소스 이름입니다. 변수 자체 이름이 아닙니다.[CONFIG_NAME]
은 이 요청의 구성 리소스입니다.[VARIABLE_KEY]
는 이 변수의 키입니다. 예를 들어status
및users/jane-smith/favorite_color
는 유효한 키입니다. 변수 키에는/
가 포함될 수 있습니다. 변수 키에는 숫자, 문자, 대시, 슬래시가 포함될 수 있으며 이름 최대 길이는 256자입니다.[VARIABLE_VALUE]
는 이 변수의 값입니다. 값을 일반 텍스트 또는 base64 인코딩 문자열로 할당 여부에 따라value
또는text
속성을 선택합니다.value
: 값을 base64 인코딩 문자열로 제공할 경우에는value
속성을 사용합니다.text
: 일반 텍스트 문자열을 제공할 경우에는text
속성을 사용합니다. 문자열은 유효한 UTF-8이어야 합니다.
gcloud
Google Cloud CLI로 변수를 만들려면 runtime-config configs variables set
명령어를 사용합니다.
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
각 항목의 의미는 다음과 같습니다.
[VARIABLE_KEY]
는 변수의 키입니다. 예를 들어status
및users/jane-smith/favorite_color
는 유효한 키입니다. 변수 키에는/
가 포함될 수 있습니다. 변수 키는 숫자, 문자, 대시, 슬래시를 포함할 수 있으며 이름 최대 길이는 256자입니다.[VARIABLE_VALUE]
는 이 변수의 값입니다. 값을 일반 텍스트 또는 based64 인코딩 문자열로 할당할 수 있습니다. 일반 텍스트 값을 지정할 경우--is-text
플래그를 제공합니다. 그렇지 않으면 Google Cloud CLI가 값을 base64로 인코딩합니다.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-text
또한 파일에서 변수 값을 제공할 수 있습니다. 예를 들면 다음과 같습니다.
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
참고:
gcloud
가 인코딩을 수행하므로 개발자가 이 값을 인코딩할 필요는 없습니다.[CONFIG_NAME]
은 이 변수를 생성해야 하는 RuntimeConfig 리소스의 이름입니다. 예를 들면frontend-config
입니다.예를 들면 다음과 같습니다.
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-config
gcloud CLI는 다음과 같은 응답을 반환합니다.
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
기본적으로 모든 기존 변수를 자동으로 덮어씁니다. 기존 변수를 보존하려는 경우 변수가 없으면 새 변수를 만드는 --fail-if-present
플래그를 포함합니다.
마찬가지로 --fail-if-absent
플래그를 제공하여 변수가 없는 경우 요청이 실패하도록 할 수도 있습니다.
이 gcloud
명령어의 전체 참조는 runtime-config variables set
참고 문서를 확인하세요.
API
REST API에서 POST
요청을 다음 URI에 보내 새 변수를 만듭니다.
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
여기서 [PROJECT_ID]
는 이 요청의 프로젝트 ID입니다. 요청 페이로드에는 RuntimeConfig 리소스에 대한 URI와 키의 일반 텍스트 값 또는 base64 인코딩 값이 포함됩니다.
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
각 항목의 의미는 다음과 같습니다.
[PROJECT_ID]
는 이 요청의 프로젝트 ID입니다.[CONFIG_NAME]
은 이 구성의 이름입니다.[VARIABLE_KEY]
는 변수의 키입니다. 예를 들면status
및users/jane-smith/favorite_color
입니다. 변수 키에는/
가 포함될 수 있습니다. 변수 키에는 숫자, 문자, 대시, 슬래시가 포함될 수 있으며, 이름 최대 길이는 256자입니다.[VARIABLE_VALUE]
는 이 변수의 값입니다. 값을 일반 텍스트 또는 base64 인코딩 문자열로 할당 여부에 따라value
또는text
속성을 선택합니다.value
: 값을 base64 인코딩 문자열로 제공할 경우에는value
속성을 사용합니다.text
: 일반 텍스트 문자열을 제공할 경우에는text
속성을 사용합니다. 문자열은 유효한 UTF-8이어야 합니다.
성공하면 API가 다음과 같은 응답을 반환합니다.
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
이 메서드에 대한 자세한 내용은
variables().create
문서를 참조하세요.
변수 업데이트
Deployment Manager
Deployment Manager에서 변수를 업데이트하려면 다음 안내를 따르세요.
변수 만들기에 설명된 대로 변수 속성을 정의하거나 업데이트합니다.
업데이트 요청 수행 단계를 수행합니다.
gcloud
변수 만들기와 동일한 프로세스를 사용하여 변수를 업데이트합니다.
API
REST API에서 다음 URI에 대해 PUT
요청을 수행하여 변수를 업데이트합니다.
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
각 항목의 의미는 다음과 같습니다.
[PROJECT_ID]
는 이 요청의 프로젝트 ID입니다.[CONFIG_NAME]
은 이 구성의 이름입니다.[VARIABLE_VALUE]
는 이 변수의 값입니다. 이 값은 base64로 인코딩된 문자열입니다.
요청의 페이로드는 다음과 같아야 합니다.
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
여기서 [VARIABLE_VALUE]
는 이 변수의 값입니다. 값을 일반 텍스트 또는 base64 인코딩 문자열로 할당 여부에 따라 value
또는 text
속성을 선택합니다.
value
: 값을 base64 인코딩 문자열로 제공할 경우에는value
속성을 사용합니다.text
: 일반 텍스트 문자열을 제공할 경우에는text
속성을 사용합니다. 문자열은 유효한 UTF-8이어야 합니다.
성공하면 API가 다음과 같은 응답을 반환합니다.
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
이 메서드에 대한 자세한 내용은 variables().create
문서를 참조하세요.
변수 값 가져오기
Deployment Manager
다음 방법 중 하나를 사용하여 변수 값을 가져옵니다.
gcloud
Google Cloud CLI로 변수를 만들려면 runtime-config configs variables get-value
명령어를 사용합니다.
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
각 항목의 의미는 다음과 같습니다.
[VARIABLE_KEY]
는 변수의 키입니다. 예를 들면status
및users/jane-smith/favorite_color
입니다.[CONFIG_NAME]
은 이 변수의 RuntimeConfig 리소스 이름입니다. 예를 들면website
입니다.gcloud CLI는 다음과 같은 응답을 반환합니다.
example-value
또한 list
명령어를 사용하고 --values
플래그를 제공하여 runtimeconfig.variables.get
권한이 있는 변수 목록과 값을 가져올 수 있습니다. 예를 들면 다음과 같습니다.
gcloud beta runtime-config configs variables list --config-name example-config --values
gcloud CLI는 다음과 비슷한 목록을 반환합니다.
NAME UPDATE_TIME VALUE
not-my-favorite-color/shade 2016-04-18T21:14:59.932428461Z orange
not-my-favorite-food/group 2016-04-18T21:14:59.932428461Z vegetables
get
권한이 없는 변수는 모두 생략됩니다. 여기에는 list
권한은 있지만 get
권한이 없는 변수가 포함됩니다.
이 gcloud
명령어의 전체 참조는 runtime-config variables
참고 문서를 확인하세요.
API
REST API에서 다음 URI에 대해 GET
요청을 수행하여 변수 값을 가져옵니다.
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
각 항목의 의미는 다음과 같습니다.
[PROJECT_ID]
는 이 요청의 프로젝트 ID입니다.[CONFIG_NAME]
은 이 구성의 이름입니다.[VARIABLE_KEY]
는 이 요청의 이름입니다.
성공하면 API가 base64로 인코딩된 변수 값이 포함된 응답을 반환합니다.
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
문자열을 가져오려면 값을 직접 디코딩해야 합니다. 이 메서드에 대한 자세한 내용은 variables().get
문서를 참조하세요.
runtimeconfig.variables.get
권한이 있는 변수 목록과 값을 가져오려면 returnValues
메서드를 사용합니다. 예를 들면 다음과 같습니다.
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
API는 개발자에게 권한이 있는 모든 변수를 반환합니다.
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
마찬가지로, 문자열을 가져오려면 값을 직접 디코딩해야 합니다.
이 메서드에 대한 자세한 내용은 variables().list
문서를 참조하세요.
다음 단계
- Runtime Configurator에 대해 알아봅니다.
- 특정 변수를 감시합니다.
- 대기자를 만듭니다.
- RuntimeConfig 리소스를 만들고 삭제합니다.
- v1beta1 참조를 참조합니다.
- Runtime Configurator 할당량을 참조합니다.