Private Cloud용 Edge v. 4.17.09
apigee-adminapi.sh를 사용합니다. 유틸리티를 사용하여 Edge 구성 작업을 수행하는 관리 API를 제공합니다. apigee-adminapi.sh 유틸리티의 이점은 다음과 같습니다. 다음과 같습니다.
- 간단한 명령줄 인터페이스 사용
- 탭 기반 명령어 완성 구현
- 도움말 및 사용 정보를 제공합니다.
- API를 사용해 보려는 경우 해당 API 호출을 표시할 수 있음
apigee-adminapi.sh 유틸리티는 apigee-provision 유틸리티의 대체 기능입니다. apigee-provision 유틸리티는 실제로 apigee-adminapi.sh 유틸리티를 작업을 수행할 수 있습니다
두 도구의 주요 차이점은 다음과 같습니다.
- apigee-adminapi.sh 유틸리티 개별 Edge API 호출을 대체하는 원자적 함수를 수행합니다. 예를 들어 조직, 환경, 가상 호스트에는 3개의 개별 apigee-adminapi.sh 명령어가 필요합니다. 3개의 API 호출에 해당합니다
- apigee-provision 유틸리티는 단일 명령으로 완전한 상위 수준의 작업을 수행하도록 설계되었습니다. 대상 예를 들어 단일 콘솔에서 조직, 환경, 가상 호스트를 apigee-provision 명령어로 필요한 모든 정보가 포함된 구성 파일을 전달합니다.
적절한 경우 Edge 문서에서는 두 유틸리티를 모두 사용합니다.
apigee-adminapi.sh 설치
apigee-adminapi.sh 유틸리티는 apigee-provision 또는 apigee-provision 유틸리티를 설치하면 자동으로 설치됩니다.
유틸리티는 다음 위치에 설치됩니다.
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh
apigee-adminapi.sh 구문
apigee-adminapi.sh 유틸리티 간단한 명령줄 문법을 사용합니다 언제든지 Tab 키를 사용하여 사용 가능한 명령어 옵션을 살펴보겠습니다.
가능한 모든 명령어를 보려면 옵션 없이 유틸리티를 호출합니다.
> apigee-adminapi.sh
apigee-adminapi.sh를 입력한 후 Tab 키를 누르면 가능한 작업 목록이 표시됩니다. 옵션:
analytics classification logsessions regions securityprofile userroles buildinfo GET orgs runtime servers users
Tab 키는 명령어의 컨텍스트에 따라 옵션을 표시합니다. Tab 키를 입력하면 입력 후:
> apigee-adminapi.sh orgs
orgs 명령어를 완료할 수 있는 옵션이 표시됩니다.
add apis apps delete envs list pods userroles
-h 옵션을 사용하여 도움말을 볼 수 있습니다. 예를 들어 아래와 같이 -h 옵션을 사용하는 경우:
> apigee-adminapi.sh orgs -h
이 유틸리티는 orgs 명령어에 사용할 수 있는 모든 옵션에 대한 전체 도움말 정보를 표시합니다. 출력의 첫 번째 항목은 '조직 추가'에 대한 도움말을 표시합니다. 명령어:
+++++++++++++++++++++++++++++++++++++++++++ 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
매개변수 설정 명령줄 스위치와 환경 변수를 사용하여
명령줄 스위치 또는 환경 변수입니다 명령줄이 전환되는 앞에 대시 (-) 또는 이중 대시를 추가합니다. (--)를 포함해야 합니다.
예를 들어 위에 표시된 '조직 추가' 도움말에서 명령어를 사용하여 조직 이름을 다음 중 한 가지 방법으로 지정합니다.
- -o 명령줄 사용
스위치:
> apigee-adminapi.sh 조직 -o testOrg - 이름이 ORG인 환경 변수 설정:
> ORG=testOrg
내보내기 > apigee-adminapi.sh 조직
명령어에 필수 매개변수를 생략하면 유틸리티에 오류 메시지가 표시됩니다. 누락된 매개변수를 설명합니다. 예를 들어 다음을 지정하는 --host 또는 EDGE_SERVER 환경 변수를 생략하는 경우 에지 관리 서버를 클릭하면 다음과 같은 오류 메시지가 표시됩니다.
Error with required variable or parameter ADMIN_PASSWORD....OK ADMIN_EMAIL....OK EDGE_SERVER....null
환경 변수로 자주 설정하는 두 가지 일반적인 매개변수는 시스템 관리자 이메일입니다. 관리 서버의 주소 및 IP 주소입니다.
> export ADMIN_EMAIL=foo@bar.com > export EDGE_SERVER=192.168.56.101
apigee-adminapi.sh에 파일 전달 유틸리티
일부 apigee-adminapi.sh 유틸리티 명령어 요청 본문을 취하는 PUT 및 POST API 호출에 해당합니다. 예를 들어 가상 머신을 만드는 호스트는 호스트 인스턴스의 가상 호스트에 대한 정보가 필요한 POST API 호출에 요청 본문입니다.
apigee-adminapi.sh 유틸리티를 사용하여 가상 호스트를 만들거나 요청 본문을 취하는 명령어를 만드는 경우, 필수 정보를 입력합니다.
> 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
또는 요청에 포함된 것과 동일한 정보가 포함된 파일을 전달할 수 있습니다. POST 본문입니다. 예를 들어 다음 명령어는 가상 호스트를 정의하는 파일을 가져옵니다.
> apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate
여기서 vhostcreate 파일은 호출의 POST 본문이 포함됩니다. 이 예에서는 XML 형식의 요청 본문입니다.
<VirtualHost name="myVHostUtil"> <HostAliases> <HostAlias>192.168.56.101:9005</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
디버그 및 API 정보 표시
--debug 옵션을 사용하여 다음을 수행합니다. apigee-adminapi.sh 유틸리티를 사용하여 명령어에 대한 자세한 정보가 표시됩니다. 이 정보에는 cURL 명령어가 포함됩니다. apigee-adminapi.sh 유틸리티로 생성된 API를 작업을 수행할 수 있습니다
예를 들어 이 명령어는 --debug 옵션을 사용합니다.
> apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug
생성된 cURL 명령어를 포함하여 다음 출력을 표시합니다.
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