API 제품 관리
명령어와 apic productsapic 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.comAPI 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경우, 명령어에 지정된 Product는 입니다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경우, 명령어에 지정된 Product는 입니다climbon:1.0.1. 매핑 파일에는 대체할 제품의 제품 식별자( URL )가 명시되어 있습니다. - 마이그레이션 대상 설정
- 기존 제품을 위한 마이그레이션 목표를 설정할 수 있습니다. 이는 마이그레이션에 도움이 됩니다.마이그레이션 대상을 설정하려면 다음과 같은 명령을 사용하십시오.
apic products:set-migration-target climbon:1.0.0 PRODUCT_PLAN_MAPPING_FILE참고: 명령어에 지정된 제품은 구독을 마이그레이션하려는 제품입니다. 맵핑 파일은 등록을 위한 대상 제품을 지정합니다.마이그레이션 대상이 설정되면, 외부 애플리케이션 개발자는 Consumer Catalog 를 통해 애플리케이션 구독을 손쉽게 마이그레이션할 수 있습니다. 다음 명령어를 사용하여 구독 마이그레이션을 실행할 수도 있습니다.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를 사용하여 카탈로그의 파티션을 구분할 수 있습니다. 스페이스 (Space)는 개념적으로 하위 카탈로그와 유사하지만, 한 카탈로그 내의 모든 스페이스에 포함된 제품과 API는 동일한 소비자 카탈로그에 게시된다는 점이 다릅니다. Spaces 에 대한 자세한 내용은 ‘ IBM 에서 피드 API Connect사용’을 참조하십시오.
apic products 및 apic
apis `` 명령어에 `` --scope space 옵션을 포함하십시오. 예를 들어, 'flights'라는 이름의 스 페이스에 포함된 제품들을 나열하려면 다음 명령어를 사용하세요: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 에서 확인할 수 있습니다.