Python에서 parameter store 사용
7496 단어 parameter_store파이썬boto3도커AWS
소개
이전에는 작업에 사용한 Parameter Store(AWS Systems Manager)를 다시 사용하게 되었기 때문에 기억했습니다.
이번에도 Poetry + Docker을 개발 환경으로하고 있습니다.
소스는 Github에 올려져 있습니다.
Parameter Store 설정
/aaa
로 시작하도록 작성
파일
main과 라이브러리로 파일을 나눕니다.
main.py
from src.ssm_manager import SsmManager
print("start")
ssm_manager = SsmManager(region_name="ap-northeast-1")
ssm_manager.load_parameter(base_ssm_path="/aaa")
print(ssm_manager.parameters)
ssm_manager.pyfrom typing import List, Dict
import boto3
class SsmManager:
def __init__(self, region_name: str):
self.__ssm = boto3.client('ssm', region_name=region_name)
self.__parameters = []
self.__base_ssm_path = None
@property
def parameters(self) -> List[Dict[str, any]]:
return [{
'name': item['Name'].replace(f'{self.__base_ssm_path}/', ''),
'value': item['Value']
} for item in self.__parameters]
def load_parameter(self, base_ssm_path: str) -> None:
self.__base_ssm_path = base_ssm_path
result = []
next_token = None
while True:
dict_parameter = {
'Path': base_ssm_path,
'Recursive': True,
'WithDecryption': True,
}
if next_token is not None:
dict_parameter['NextToken'] = next_token
response = self.__ssm.get_parameters_by_path(**dict_parameter)
parameters = response['Parameters']
result.extend(parameters)
if 'NextToken' not in response:
break
next_token = response['NextToken']
self.__parameters = result
끝에
이제 환경 변수 등에 넣었던 RDS의 암호 등을 저장할 수 있습니다.
Reference
이 문제에 관하여(Python에서 parameter store 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/va034600/items/3a1c3596699980e574ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/aaa
로 시작하도록 작성파일
main과 라이브러리로 파일을 나눕니다.
main.py
from src.ssm_manager import SsmManager
print("start")
ssm_manager = SsmManager(region_name="ap-northeast-1")
ssm_manager.load_parameter(base_ssm_path="/aaa")
print(ssm_manager.parameters)
ssm_manager.pyfrom typing import List, Dict
import boto3
class SsmManager:
def __init__(self, region_name: str):
self.__ssm = boto3.client('ssm', region_name=region_name)
self.__parameters = []
self.__base_ssm_path = None
@property
def parameters(self) -> List[Dict[str, any]]:
return [{
'name': item['Name'].replace(f'{self.__base_ssm_path}/', ''),
'value': item['Value']
} for item in self.__parameters]
def load_parameter(self, base_ssm_path: str) -> None:
self.__base_ssm_path = base_ssm_path
result = []
next_token = None
while True:
dict_parameter = {
'Path': base_ssm_path,
'Recursive': True,
'WithDecryption': True,
}
if next_token is not None:
dict_parameter['NextToken'] = next_token
response = self.__ssm.get_parameters_by_path(**dict_parameter)
parameters = response['Parameters']
result.extend(parameters)
if 'NextToken' not in response:
break
next_token = response['NextToken']
self.__parameters = result
끝에
이제 환경 변수 등에 넣었던 RDS의 암호 등을 저장할 수 있습니다.
Reference
이 문제에 관하여(Python에서 parameter store 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/va034600/items/3a1c3596699980e574ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from src.ssm_manager import SsmManager
print("start")
ssm_manager = SsmManager(region_name="ap-northeast-1")
ssm_manager.load_parameter(base_ssm_path="/aaa")
print(ssm_manager.parameters)
from typing import List, Dict
import boto3
class SsmManager:
def __init__(self, region_name: str):
self.__ssm = boto3.client('ssm', region_name=region_name)
self.__parameters = []
self.__base_ssm_path = None
@property
def parameters(self) -> List[Dict[str, any]]:
return [{
'name': item['Name'].replace(f'{self.__base_ssm_path}/', ''),
'value': item['Value']
} for item in self.__parameters]
def load_parameter(self, base_ssm_path: str) -> None:
self.__base_ssm_path = base_ssm_path
result = []
next_token = None
while True:
dict_parameter = {
'Path': base_ssm_path,
'Recursive': True,
'WithDecryption': True,
}
if next_token is not None:
dict_parameter['NextToken'] = next_token
response = self.__ssm.get_parameters_by_path(**dict_parameter)
parameters = response['Parameters']
result.extend(parameters)
if 'NextToken' not in response:
break
next_token = response['NextToken']
self.__parameters = result
이제 환경 변수 등에 넣었던 RDS의 암호 등을 저장할 수 있습니다.
Reference
이 문제에 관하여(Python에서 parameter store 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/va034600/items/3a1c3596699980e574ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)