CloudControl é uma plataforma de nuvem muito parecida com Heroku. A criação de um complemento cloudControl é muito semelhante à criação de um complemento Heroku, mas há algumas diferenças. Este artigo explica essas diferenças.

Introdução

O complemento do GroupDocs para cloudControl é uma ferramenta da Web que pode ser instalada em qualquer aplicativo da Web para fornecer a funcionalidade do GroupDocs:

  • Crie um novo usuário do GroupDocs com um plano gratuito e obtenha o ID do usuário e a chave privada desse usuário. Isso é feito automaticamente quando o complemento é instalado.
  • O usuário pode alterar o plano de pagamento usando a função de alterar plano do add-on.
  • Acesso a qualquer método da API do GroupDocs usando o ID do cliente e a chave privada (que você pode obter no complemento). Criamos este exemplo que mostra como usar o complemento e o GroupDocs Python SDK para algumas ações básicas.

Requisitos

  • Ferramenta Kensa
  • ferramenta cloudControl
  • Python 2.7
  • aplicativo cloudControl

Criando o complemento

O processo para criar um complemento cloudControl é o mesmo de criar um complemento Heroku, mas, como eu disse anteriormente, com algumas diferenças. Não entraremos em como criar o complemento porque o Heroku tem muita documentação para isso e você decide como criá-lo. Mostrarei apenas quais são exatamente as diferenças. Vamos supor que já temos um complemento legal do Heroku e queremos reconstruí-lo para o cloudControl:

  1. Instale as ferramentas Kensa e cloudControl. Eles ajudam você a gerenciar aplicativos add-on e cloudControl. Descubra como instalar a ferramenta cloudControl.
  2. Depois de instalar as ferramentas, altere o arquivo addon-manifest.json. Ele contém todas as informações básicas para a instalação de complementos, como quais variáveis de ambiente serão criadas e de onde baixar e instalar arquivos de complementos.
    • Antes de carregar o arquivo addon-manifest.json editado, defina a variável de ambiente ADDONS\URL=https://api.cloudcontrol.com:.
    • Especifique o servidor de produção. O Heroku exigia que você especificasse o servidor de produção e, em seguida, construísse a URL usada para provisionar seu complemento anexando “/heroku/resources” a ele. Agora, forneça um hash em vez de uma string e altere “/heroku/resources” para “/cloudcontrol/resources”.
    • Adicione “sso\salt”:“SENHA” e “produção”: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /your.add-on.com/cloudcontrol/resources”}.
  3. Altere “heroku\id” para “cloudcontrol\id” nos arquivos complementares.
  4. Depois de feitas as alterações, teste o add-on com os testes Kensa executando-o no console: kensa test provision e kensa deprovision test. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Kensatests”]
  5. Se os testes forem aprovados, envie addon-manifest.json para cloudControl com kensa push -f addon-manifest.json. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa push”]
  6. Instale o complemento em seu aplicativo cloudControl: cctrlapp SEU\APP\NOME addon.add SEU\ADDON\NAME.PLANE

Agora publicamos um complemento cloudControl e o instalamos. Até agora tudo bem. Como obtemos as variáveis de ambiente que o complemento cria? Vamos descobrir.

Como obter variáveis de ambiente

No Heroku, isso é fácil. Por exemplo, em Python podemos fazer isso com a linha os.environ[‘VARIABLE NAME’]. Se você tentar isso no cloudControl, obterá apenas algumas propriedades básicas do Python e não suas variáveis complementares. No cloudControl, todas as variáveis de ambiente criadas pelo complemento são gravadas no arquivo json que podemos obter usandoCRED\FILE. Este é o nome de uma propriedade do sistema que contém o caminho para o arquivo JSON com variáveis de ambiente. Para obter nossos dados, tudo o que precisamos é ler este arquivo JSON e decodificar a string JSON. Em Python, podemos fazer isso com este código:

credentialsFile = os.getenv('CRED\_FILE')
    credentials = open(credentialsFile)
    data = json.load(credentials)
    credentials.close()
    clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
    privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]

É assim que obtemos o ID do cliente e a chave privada do usuário do complemento GroupDocs. E isso é tudo. Agora você sabe qual é a diferença entre os complementos Heroku e cloudControl.