Como usar o utilitário apigee-adminapi.sh

O apigee-adminapi.sh chama a API Edge Management para fazer várias manutenções tarefas.

Sobre o apigee-adminapi.sh

Invocar o apigee-adminapi.sh

Você invoca apigee-adminapi.sh de um nó do servidor de gerenciamento. Ao invocar o utilitário, é preciso defina o seguinte como variáveis de ambiente ou opções de linha de comando:

  • ADMIN_EMAIL (corresponde à opção de linha de comando admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

O exemplo a seguir invoca apigee-adminapi.sh e transmite os valores necessários como linha de comando opções:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost

O exemplo a seguir define as opções necessárias como variáveis de ambiente temporárias e invoca o utilitário apigee-adminapi.sh:

export ADMIN_EMAIL=user@example.com
export ADMIN_PASSWORD=abcd1234
export EDGE_SERVER=192.168.56.101
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh servers list

Se você não passar a senha como uma opção ou defini-la como uma variável de ambiente, apigee-adminapi.sh solicitará que você o insira.

Configurar os parâmetros apigee-adminapi.sh

É necessário inserir todos os parâmetros em um comando usando chaves de linha de comando ou variáveis de ambiente. Adicione um único travessão (-) ou traço duplo antes das chaves de linha de comando. (--) conforme necessário.

Por exemplo, é possível especificar o nome da organização de uma das seguintes maneiras:

  • Use a chave da linha de comando -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Configure uma variável de ambiente chamada ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs
.

Se você omitir algum parâmetro obrigatório para o comando, o utilitário exibirá uma mensagem de erro. que descrevem os parâmetros ausentes. Por exemplo, se você omitir a opção --host (que corresponde à variável de ambiente EDGE_SERVER), apigee-adminapi.sh responde pelo seguinte erro:

Error with required variable or parameter
ADMIN_PASSWORD....OK
ADMIN_EMAIL....OK
EDGE_SERVER....null

Se você receber um erro HTTP STATUS CODE: 401, significa que digitou a senha errada senha.

Receber ajuda de apigee-adminapi.sh

A qualquer momento, use a tecla Tab para exibir um prompt que lista as opções de comando disponíveis.

Para ver todos os comandos possíveis, invoque o utilitário sem opções:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh

Se pressionar a tecla Tab após digitar apigee-adminapi.sh, você verá a lista de possíveis opções:

analytics  classification  logsessions  regions  securityprofile  userroles
buildinfo  GET             orgs         runtime  servers          users

A tecla Tab mostra opções com base no contexto do comando. Se você inserir a tecla Tab depois de digitar:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Você verá as opções possíveis para concluir o comando orgs:

add  apis  apps  delete  envs  list  pods  userroles

Use a opção -h para exibir a ajuda de qualquer comando. Por exemplo, se você usar o método -h, como mostrado abaixo:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -h

O utilitário exibe informações de ajuda completas sobre todas as opções possíveis para o orgs. O primeiro item na saída mostra a ajuda para o Comando orgs add:

+++++++++++++++++++++++++++++++++++++++++++
orgs add
  Required:
    -o ORG Organization name
  Optional:
    -H HEADER add http header in request
    --admin ADMIN_EMAIL admin email address
    --pwd ADMIN_PASSWORD admin password
    --host EDGE_SERVER edge server to make request to
    --port EDGE_PORT port to use for the http request
    --ssl set EDGE_PROTO to https, defaults to http
    --debug ( set in debug mode, turns on verbose in curl )
    -h      Displays Help

Transmitir um arquivo para apigee-adminapi.sh

O utilitário apigee-adminapi.sh é um wrapper em torno de curl. Como resultado, alguns correspondem às chamadas de API PUT e POST que recebem o corpo de uma solicitação. Por exemplo, a criação de um host virtual corresponde a uma chamada de API POST que requer informações sobre o host virtual no corpo da solicitação.

Ao usar o utilitário apigee-adminapi.sh para criar um host virtual ou qualquer comando que use um corpo de solicitação, será possível transmitir informações necessárias na linha de comando, conforme mostrado abaixo:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -v myVHostUtil -p 9005 -a 192.168.56.101:9005

Se preferir, você pode transmitir um arquivo que contenha as mesmas informações contidas na solicitação corpo de POST. Por exemplo, o comando a seguir usa um arquivo que define o host virtual:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate

Em que o arquivo vhostcreate contém o corpo POST da chamada. Em neste exemplo, é um corpo de solicitação formatado em XML:

<VirtualHost name="myVHostUtil">
  <HostAliases>
    <HostAlias>192.168.56.101:9005</HostAlias>
  </HostAliases>
  <Interfaces/>
  <Port>9005</Port>
</VirtualHost>

Exibir informações de depuração e da API

Use a opção --debug para o utilitário apigee-adminapi.sh a fim de exibir informações detalhadas sobre o comando. Essas informações incluem o comando curl. gerado pelo utilitário apigee-adminapi.sh para realizar a operação.

Por exemplo, o comando a seguir usa a opção --debug. Resultados exiba a saída do comando curl subjacente no modo detalhado:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug
curl -H Content-Type: application/xml -v -X POST -s -k -w \n==> %{http_code}
  -u ***oo@bar.com:*****     http://localhost:8080/v1/o -d <Organization name="testOrg2"
  type="paid"/>
  * About to connect() to localhost port 8080 (#0)
  *   Trying ::1... connected
  * Connected to localhost (::1) port 8080 (#0)
  * Server auth using Basic with user 'foo@bar.com'
  > POST /v1/o HTTP/1.1
  > Authorization: Basic c2dp234234NvbkBhcGlnZ2342342342342341Q5
  > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1
  Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
  > Host: localhost:8080
  > Accept: */*
  > Content-Type: application/xml
  > Content-Length: 43
  >
  } [data not shown]
  < HTTP/1.1 201 Created
  < Content-Type: application/json
  < Date: Tue, 03 May 2016 02:08:32 GMT
  < Content-Length: 291
  <
  { [data not shown]
  * Connection #0 to host localhost left intact
  * Closing connection #0