클라우드에서 swift스토리지에 업로드 구현 테스트
여러번 시도 끝에 클라우드 스토리지에 이미지를 업로드하고, 웹페이지에서 미리보기 기능 확인 하였습니다.
확인URL:
http://php-sample.paas-ta.org/main.html?orgid=6
고민되었는데, 완전하진 않지만, 해결 되어서 다행 입니다.^^
그동안 인증에러는 아래 2가지 부분 처럼 처리 하였습니다.
/* 파라미터를 변수로 처리하면 인증 에러가 남. */
$client = new OpenCloud\OpenStack({$this->host}, array( <--- { }부분을 -- '서비스 URL' 이런식으로 직접입력
"username" => {$this->username}, <--- { }부분을 '서비스 사용자명', 이런식으로 직접입력
"password" => {$this->password}, <--- { }부분을 '서비스 암호', 이런식으로 직접입력
"tenantName" => {$this->tenantName}, <--- { }부분을 '서비스 테넌트명', 이런식으로 직접입력
));
$service = $client->objectStoreService($this->catalogName, 'Public', 'publicURL'); //RegionOne 을 Public으로 대체
위 2가지를 처리해 주니 정상 업로드 가 됩니다.
그리고,
http://10.10.5.202:10008/v1/KEY_4472067b02b143d9b1197ad71ed0de1a/timespace-container/1565917938_01_projects.jpg
위 보안 Private IP URL로 입력된 이미지를 웹페이지에서 바로 불러올 수 있게 PHP코딩을 추가 했습니다.
그리고, 로그인은 redis(메모리DB) 를 이용한 cookie 로 로그인여부가 구현되어 있고, 로그인체크 PHP코딩 추가 했습니다.
작업 소스 첨부파일
기술참조: 오픈스택
https://php-opencloud.readthedocs.io/en/latest/services/object-store/