지난이야기
2023.04.04 - [프로젝트 정리/애완동물 종합 솔루션(CatDogForest)] - CloudType으로 배포하기 #3
카카오 맵 api와 chatgpt api의 키 값을 application-appKey.properties 라는 설정파일에 담고
spring.profiles.include=appKey
로 해당 파일을 가져와 사용했다. 다만 이 파일은 git.ignore로 저장소에 반영되지 않는다.
그러기에 각자 로컬 파일에서 파일을 만들어 다음과 같이 설정하여 사용했다.
#App Keys
kakao.map.api.key=키값입니다.
kakao.map.api.frontkey=키값입니다.
chatgpt.api.key=키값입니다.
그리고 설정한 키 값을 다음과 같이 설정해서 사용했다.
@Value("${chatgpt.api.key}")
private String apiKey;
다만 클라우드 타입에서는 YAML의 설정파일로 Enviorment variables를 다루기 때문에 다음과 같이 변경했다.
1. application-appKey.properties 삭제
2. Edit Configuration Settings에서 Envrioment Variables 설정
3. 설정한 키 사용시 Enviroment 객체 사용
...
@Service
@Slf4j
public class ChatGptServiceImpl implements ChatGptService {
private ApplicationContext context;
public HttpEntity<ChatGptRequestDto> buildHttpEntity(ChatGptRequestDto requestDto) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType(ChatGptConfig.MEDIA_TYPE));
Environment env = context.getEnvironment();
String apiKey = env.getProperty("CHATGPT_API_KEY");
log.info("chatgpt api key check : "+apiKey);
// check push
headers.add(ChatGptConfig.AUTHORIZATION, ChatGptConfig.BEARER + apiKey);
return new HttpEntity<>(requestDto, headers);
}
...
@Autowired
public ChatGptServiceImpl(ApplicationContext context) {
this.context = context;
}
}
4. 클라우드 타입의 설정정보와 매칭시키기
'프로젝트 정리 > 애완동물 종합 솔루션(CatDogForest)' 카테고리의 다른 글
클라우드타입의 빌드 로그를 보고 어떻게 진행되는지 유추하기 (0) | 2023.04.16 |
---|---|
Kakao Map Api With 애완동물병원 #10 (0) | 2023.04.10 |
CloudType으로 배포하기 #3 (0) | 2023.04.04 |
CloudType으로 배포하기 #2 (0) | 2023.04.04 |
CloudType으로 배포하기 #1 (0) | 2023.03.30 |