CloudControl은 Heroku와 매우 유사한 클라우드 플랫폼입니다. cloudControl 애드온을 생성하는 것은 Heroku 애드온을 생성하는 것과 매우 유사하지만 몇 가지 차이점이 있습니다. 이 문서에서는 이러한 차이점에 대해 설명합니다.
소개
CloudControl용 GroupDocs의 추가 기능은 GroupDocs 기능을 제공하기 위해 모든 웹 응용 프로그램에 설치할 수 있는 웹 도구입니다.
- 무료 요금제로 새 GroupDocs 사용자를 만들고 이 사용자의 사용자 ID와 개인 키를 가져옵니다. 추가 기능이 설치되면 자동으로 수행됩니다.
- 사용자는 애드온의 요금제 변경 기능을 이용하여 요금제를 변경할 수 있습니다.
- 클라이언트 ID와 개인 키(추가 기능에서 얻을 수 있음)를 사용하여 GroupDocs API의 모든 메서드에 액세스합니다. 몇 가지 기본 작업을 위해 애드온 및 GroupDocs Python SDK를 사용하는 방법을 보여주는 이 예를 만들었습니다.
요구 사항
- 켄사 도구
- 클라우드 제어 도구
- 파이썬 2.7
- 클라우드 컨트롤 애플리케이션
애드온 만들기
cloudControl 애드온을 생성하는 프로세스는 Heroku 애드온 생성과 동일하지만 앞서 말했듯이 몇 가지 차이점이 있습니다. Heroku에는 이에 대한 많은 문서가 있고 이를 구축하는 방법을 결정하기 때문에 추가 기능을 만드는 방법에 대해서는 다루지 않겠습니다. 정확히 차이점이 무엇인지만 보여드리겠습니다. 멋진 Heroku 애드온이 이미 있고 cloudControl용으로 다시 빌드하고 싶다고 가정해 보겠습니다.
- Kensa 및 cloudControl 도구를 설치합니다. 애드온 및 cloudControl 애플리케이션을 관리하는 데 도움이 됩니다. cloudControl 도구 설치 방법을 알아보세요.
- 도구를 설치한 후 addon-manifest.json 파일을 변경합니다. 여기에는 생성할 환경 변수와 추가 기능 파일을 다운로드하고 설치할 위치와 같은 추가 기능 설치에 대한 모든 기본 정보가 포함됩니다.
- 수정된 addon-manifest.json 파일을 업로드하기 전에 ADDONS\URL=https://api.cloudcontrol.com: 환경 변수를 설정합니다.
- 프로덕션 서버를 지정합니다. Heroku는 프로덕션 서버를 지정하도록 요구한 다음 “/heroku/resources"를 추가하여 추가 기능을 프로비저닝하는 데 사용되는 URL을 구성했습니다. 이제 문자열 대신 해시를 제공하고 “/heroku/resources"를 “/cloudcontrol/resources"로 변경합니다.
- “sso\salt”:“PASSWORD” 및 “production” 추가: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /your.add-on.com/cloudcontrol/resources”}.
- 애드온 파일에서 “heroku\id"를 “cloudcontrol\id"로 변경합니다.
- 변경이 완료되면 콘솔(kensa test provision 및 kensa deprovision test)에서 실행하여 Kensa 테스트로 추가 기능을 테스트하십시오. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Kensa 테스트”]
- 테스트가 통과되면 kensa push -f addon-manifest.json을 사용하여 addon-manifest.json을 cloudControl에 푸시합니다. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“켄사 푸시”]
- 추가 기능을 cloudControl 애플리케이션에 설치합니다: cctrlapp YOUR\APP\NAME addon.add YOUR\ADDON\NAME.PLANE
이제 우리는 cloudControl 애드온을 게시하고 설치했습니다. 여태까지는 그런대로 잘됐다. 애드온이 생성하는 환경 변수는 어떻게 얻습니까? 알아 보자.
환경 변수를 얻는 방법
Heroku에서는 쉽습니다. 예를 들어, Python에서는 os.environ[‘VARIABLE NAME’] 줄을 사용하여 이 작업을 수행할 수 있습니다. cloudControl에서 이것을 시도하면 애드온 변수가 아닌 몇 가지 기본 Python 속성만 얻을 수 있습니다. cloudControl에서 추가 기능으로 생성된 모든 환경 변수는 CRED\FILE을 사용하여 가져올 수 있는 json 파일에 기록됩니다. 환경 변수가 있는 JSON 파일의 경로가 포함된 시스템 속성의 이름입니다. 데이터를 얻으려면 이 JSON 파일을 읽고 JSON 문자열을 디코딩하기만 하면 됩니다. Python에서는 다음 코드로 이 작업을 수행할 수 있습니다.
credentialsFile = os.getenv('CRED\_FILE')
credentials = open(credentialsFile)
data = json.load(credentials)
credentials.close()
clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]
그것이 우리가 GroupDocs 애드온 사용자의 클라이언트 ID와 개인 키를 얻는 방법입니다. 그리고 그게 다야. 이제 Heroku와 cloudControl 추가 기능의 차이점을 알게 되었습니다.