API 제품 관리
apic products 및 apic apis 명령을 사용하여 IBM®
API Connect 카탈로그에 게시된 제품 및 API를 관리합니다. --scope space 옵션을 사용하여 카탈로그 내 스페이스에 게시된 제품 및 API를 관리합니다.
제품 관리 명령 요약
| 명령 예 | 설명 |
|---|---|
apic config:set
catalog=https://platform-api.myserver.com/api/catalogs/myorg/sandbox |
기본 카탈로그를 설정합니다. |
apic login --username some-user --password some-password --server
platform-api.myserver.com --realm provider/my-identity-provider |
관리 서버에 로그인합니다. CLI에서 관리 서버에 로그인하는 방법에 대한 전체 세부사항은 관리 서버에 로그인을 참조하십시오. |
apic create:api --title Routes --product "ClimbOn" |
제품 및 API를 작성합니다. |
apic products:publish climbon.yaml |
제품을 기본 카탈로그에 공개합니다. --stage 인수를 추가하여 제품을 스테이징합니다. |
apic products:list-all --scope catalog |
기본 카탈로그의 제품을 나열합니다. |
apic products:get climbon:1.0.0 --output - |
제품의 특성을 표시합니다. 파일을 다운로드하려면 출력 인수를 생략하십시오. |
apic apis:list-all --scope catalog |
카탈로그의 API를 나열합니다. |
apic apis:get routes:1.0.0 --output - |
API 특성을 가져옵니다. 파일을 다운로드하려면 출력 인수를 생략하십시오. |
apic products:replace climbon:1.0.0 mapfile.txt |
명령에 표시된 제품을 맵 파일에 지정된 스테이징 또는 게시된 제품으로 바꿉니다. 교체된 제품은 단종됩니다. |
apic products:supersede climbon:1.0.0 mapfile.txt |
명령에 표시된 제품을 맵 파일에 지정된 스테이징 또는 게시된 제품으로 대체합니다. 대체된 제품은 더 이상 사용되지 않습니다. |
apic products:delete climbon:1.0.0 |
카탈로그에서 제품을 삭제합니다. 제품이 폐기되거나 더 이상 사용되지 않아야 합니다. |
전체 라이프사이클을 통한 products 및 apis 명령 사용
이 예는 런타임 시 제품과 API의 새 버전이 원본 버전을 대체하는 복합적 라이프사이클을 표시합니다.
$ref 필드를 사용하여 별도의 파일에 정의된 OpenAPI 코드의 단편을 참조하는 경우 API를 포함하는 제품이 apic publish 명령으로 스테이징되거나 공개되기 전에 $ref 필드가 대상 파일의 컨텐츠로 대체됩니다. 자세한 정보는 $ref를 사용하여 OpenAPI 파일에서 코드 단편 재사용을 참조하십시오.- 기본 카탈로그를 설정하고 mgmnthost.com API Connect 클라우드에 로그인합니다
apic config:set catalog=https://platform-api.myserver.com/api/catalogs/climbon/sandbox apic login --username some-user --password some-password --server platform-api.myserver.com --realm my-identity-providerCLI에서 관리 서버에 로그인하는 방법에 대한 전체 세부사항은 관리 서버에 로그인을 참조하십시오.
- 초기 버전 작성 및 공개
apic create:api --title Routes --version 1.0.0 --filename routes100.yaml apic create:product --title "Climb On" --version 1.0.0 --apis routes100.yaml --filename climbon100.yaml apic products:publish climbon100.yaml- API에서 버그를 수정하도록 새 버전을 작성하고 카탈로그에 스테이징
apic create:api --title Routes --version 1.0.1 --filename routes101.yaml apic create:product --title "Climb On" --version 1.0.1 --apis routes101.yaml --filename climbon101.yaml apic products:publish --stage climbon101.yaml- 카탈로그 조사
apic products:list-all --scope catalog이 명령은 카탈로그의 모든 제품을 나열합니다.climbon:1.0.1제품의 ID를 복사하십시오. ID는 다음 예제와 유사합니다.https:/server/api/catalogs/3eca6046-3c27-4ad/ab8772bf-0f65-45/products/8f854623-bda1-4f9- 맵핑 파일 작성
예를 들어 제품을 교체하는 경우 매핑 파일은 교체할 제품을 지정하고 소스 제품에서 대상 제품으로 플랜을 매핑합니다. 예를 들어,
climbon:1.0.0을climbon:1.0.1로 대체하면product_url특성은climbon:1.0.0의 URL을 지정합니다.이 파일은 다음과 같은 양식을 사용합니다.product_url: https:/server/api/catalogs/{id}/products/{id} plans: - source: {source_plan_name_1} target: {target_plan_name_1} - source: {source_plan_name_2} target: {target_plan_name_2} . . .참고:- 소스 및 대상 플랜 이름이 동일하거나 다를 수 있습니다.
- 대체 중인 제품의 모든 플랜은 대체 제품의 플랜에 맵핑되어야 합니다.
- 버전 1.0.0을 1.0.1로 "즉시 대체"
이러한 방식으로 교체된 후에는 지정된 제품이 폐기됩니다. 더 이상 활성 상태가 아닙니다.apic products:replace climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILE참고:명령에 지정된 제품이 대체 제품입니다. 예를 들어
climbon:1.0.0을climbon:1.0.1으로 바꾸는 경우 명령에 지정된 제품은climbon:1.0.1입니다.- 버전 1.0.0을 1.0.1로 대체
- 기존 제품을 새 제품(보통 업데이트된 버전)으로 즉시 대체하지 않고, 기존 제품을
새 제품으로 대체할 수 있습니다. 제품을 대체할 때 해당 제품에 대한 모든 외부 애플리케이션 등록이 새 제품으로 자동으로
이동됩니다. 제품을 대체할 때, 등록은 새 제품으로 자동으로 이동되지 않으며
외부 애플리케이션이 대체 제품으로 등록하도록 일부 조치를 수행해야 합니다.제품을 대체하는 명령은 제품을 대체할 명령과 동일한 맵핑 파일을 사용합니다. 명령에 대체되는 제품의 이름이 표시됩니다.
제품이 대체된 후에는 제품이 더 이상 사용되지 않는 것으로 표시되며, 이는 제품이 여전히 활성 상태이고 기존 구독이 계속 작동하지만 제품에 대한 더 이상의 구독이 허용되지 않음을 의미합니다.apic products:supersede climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILE참고: 명령에 지정된 제품이 대체되는 제품입니다. 예를 들어climbon:1.0.0을climbon:1.0.1으로 바꾸는 경우 명령에 지정된 제품은climbon:1.0.1입니다. 매핑 파일은 대체하려는 제품의 URL 을 지정합니다. - 마이그레이션 대상 설정
- 기존 제품을 위한 마이그레이션 목표를 설정할 수 있습니다. 이는 마이그레이션에 도움이 됩니다.마이그레이션 대상을 설정하려면 다음과 같은 명령을 사용하십시오.
apic products:set-migration-target climbon:1.0.0 PRODUCT_PLAN_MAPPING_FILE참고: 명령에 지정된 제품은 구독을 마이그레이션하려는 제품입니다. 맵핑 파일은 등록을 위한 대상 제품을 지정합니다.마이그레이션 대상이 설정되면 외부 애플리케이션 개발자는 CMS 포털을 통해 애플리케이션 구독을 쉽게 마이그레이션할 수 있습니다. 다음 명령을 사용하여 구독 마이그레이션을 실행할 수도 있습니다.apic products:execute-migration-target climbon:1.0.0 - 제품 삭제
- 교체되거나 대체된 제품이 더 이상 필요하지 않은 경우 삭제될 수 있습니다.
apic products:delete climbon:1.0.0
추가 제품 및 API 작업
clone 하위 명령을 사용하여 카탈로그 또는 스페이스에서 제품 및 API를 다운로드할 수 있습니다:| 명령 | 설명 |
|---|---|
| apic products:clone | 카탈로그 또는 공간에서 모든 제품과 해당 API를 다운로드합니다. |
| apic apis:clone | 카탈로그 또는 공간에서 모든 API를 다운로드합니다. |
--confirm 매개변수의 값으로 지정해야 합니다:apic products:clear --confirm catalog_name여기서
catalog_name은 카탈로그 이름입니다.여러 팀이 단일 카탈로그에 있는 제품과 API를 독립적으로 관리할 수 있도록 Space를 사용하여 카탈로그의 파티션을 구분할 수 있습니다. 스페이스는 개념적으로 하위 카탈로그와 같지만 카탈로그 내의 모든 스페이스에 있는 제품 및 API가 동일한 CMS 포털에 게시된다는 점을 제외하면 하위 카탈로그와 유사합니다. 스페이스에 대한 자세한 내용은 IBM API Connect 에서 신디케이션 사용을 참조하세요.
apic products 및 apic
apis 명령에 --scope space 옵션을 포함하세요. 예를 들어 항공편이라는 스페이스에 포함된 제품을 나열하려면 다음 명령을 사용합니다:apic products --scope space --space flights --catalog production --org climbonorg --server platform-api.myserver.com
카탈로그 또는 영역에서 제품의 라이프사이클 상태 변경
이전에 카탈로그 또는 영역에 스테이징되거나 공개된 제품의 라이프사이클 상태를 직접 변경하려면 다음 단계를 완료하십시오.
- 다음 명령을 입력합니다(종료 하이픈 문자는 명령이 명령에서 입력을 받는다는 의미입니다):
상황:apic products:update product_name:version --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space] -이 명령에서는 다음과 같은 항목을 리턴합니다.Reading PRODUCT_FILE arg from stdin - 다음 데이터를 입력한 후 줄 바꾸기를
입력하십시오.
여기서 new_state는 제품을 변경할 상태이며 다음 값 중 하나여야 합니다.state: new_state- 스테이징됨
- 공개됨
- 더 이상 사용되지 않음
- 폐기됨
- 아카이브됨
CTRL D를 눌러 입력을 종료하십시오. 명령이 정상적으로 완료된 경우 라이프사이클 상태 변경을 확인합니다.예를 들어,apic products:update finance:1.0.0 --server https://myserver.com --org development --scope catalog --catalog sandbox - Reading PRODUCT_FILE arg from stdin state: published finance:1.0.0 [state: published] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/0f0af980-f505-4f36-b09c-d7b1c9c1a2f2
수명 주기 상태 변경이 허용되지 않으면 명령이 실패합니다.
- 준비 단계부터 게시까지
- 사용 중단에서 폐기까지
- 게시에서 준비 단계로
- 은퇴에서 출판으로
전체 세부사항은 제품 라이프사이클을 참조하십시오.
apic products:list-all --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space]apic products:list-all --server https://myserver.com --org development --scope catalog --catalog sandbox
graphql-services:1.0.0 [state: staged] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/7652d568-b396-4bfa-bf71-2f18cea63737
finance:1.0.0 [state: published] https://myserver.com/api/catalogs/dce12994-a6a1-487b-83b6-c73bd8498799/006827d5-9e82-427a-abe6-be5b126210f7/products/0f0af980-f505-4f36-b09c-d7b1c9c1a2f2apic products:get product_name:version --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space] --fields state --output -apic products:get finance:1.0.0 --server https://myserver.com --org development --scope catalog --catalog sandbox --fields state --output -
state: published
예제 스크립트
조직, 사용자, 앱, 제품 및 API를 만들고 관리하는 방법을 보여주는 예제 툴킷 스크립트 세트는 다음 링크에서 확인할 수 있습니다 https://github.com/ibm-apiconnect/example-toolkit-scripts.