Gestión de productos de API
Utilice los comandos apic products y apic apis para gestionar los Productos y APIs publicados en los Catálogos IBM®
API Connect . Utilice la opción --scope space para gestionar Productos y APIs publicados en Espacios dentro de Catálogos.
Resumen de mandatos de gestión de productos
| Mandato de ejemplo | Descripción |
|---|---|
apic config:set
catalog=https://platform-api.myserver.com/api/catalogs/myorg/sandbox |
Establecer el catálogo predeterminado. |
apic login --username some-user --password some-password --server
platform-api.myserver.com --realm provider/my-identity-provider |
Iniciar la sesión en el servidor de gestión. Para obtener detalles completos sobre cómo iniciar sesión en el servidor de gestión desde la CLI, consulte Inicio de sesión en el servidor de gestión. |
apic create:api --title Routes --product "ClimbOn" |
Crear el producto y la API. |
apic products:publish climbon.yaml |
Publicar el producto en el catálogo predeterminado. Añadir el argumento --stage para desplegar el producto. |
apic products:list-all --scope catalog |
Listar los productos del catálogo predeterminado. |
apic products:get climbon:1.0.0 --output - |
Visualizar las propiedades del producto. Omitir el argumento de salida para descargarlo un archivo. |
apic apis:list-all --scope catalog |
Listar las API del catálogo. |
apic apis:get routes:1.0.0 --output - |
Obtener las propiedades de la API. Omitir el argumento de salida para descargarlo un archivo. |
apic products:replace climbon:1.0.0 mapfile.txt |
Sustituya el Producto indicado en el comando por el Producto escalonado o publicado que se designa en el mapfile. El Producto sustituido se retira. |
apic products:supersede climbon:1.0.0 mapfile.txt |
Sustituye el Producto indicado en el comando por el Producto escalonado o publicado que se designa en el mapfile. El Producto sustituido está obsoleto. |
apic products:delete climbon:1.0.0 |
Suprimir el producto del catálogo. El producto debe estar retirado o en desuso. |
Utilización de los mandatos products y apis a lo largo de un ciclo de vida completo
Este ejemplo muestra un ciclo de vida complejo en el que una nueva versión de un producto y API sustituye a la versión original en tiempo de ejecución.
$ref para hacer referencia a un fragmento de código OpenAPI definido en un archivo aparte, el campo $ref se sustituye por el contenido del archivo de destino antes de que el producto que contiene la API se transfiera o publique con el mandato apic publish . Para obtener más información, consulte Utilización de $ref para reutilizar fragmentos de código en los archivos OpenAPI.- Establezca el Catálogo por defecto e inicie sesión en la nube 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-providerPara obtener detalles completos sobre cómo iniciar sesión en el servidor de gestión desde la CLI, consulte Inicio de sesión en el servidor de gestión.
- Crear y publicar una versión inicial
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- Crear una versión para solucionar un error en la API, desplegarla en el catálogo
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- Inspeccionar el catálogo
apic products:list-all --scope catalogEste comando lista todos los Productos del catálogo. Copie el ID del productoclimbon:1.0.1. El ID es similar al del ejemplo siguiente.https:/server/api/catalogs/3eca6046-3c27-4ad/ab8772bf-0f65-45/products/8f854623-bda1-4f9- Crear un archivo de correlaciones
Por ejemplo, si reemplaza un Producto, el archivo de asignación especifica el Producto a reemplazar y asigna los Planes del Producto de origen al Producto de destino. Por ejemplo, si está sustituyendo
climbon:1.0.0porclimbon:1.0.1, la propiedadproduct_urlespecifica el URL declimbon:1.0.0.Este archivo tiene el formato siguiente: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} . . .Nota:- Los nombres de los planes de origen y destino pueden ser iguales o diferentes.
- Cada plan del producto que está sustituyendo debe estar correlacionado con un plan del producto de sustitución.
- Sustitución en caliente de la versión 1.0.0 por la 1.0.1
Una vez sustituido de este modo, un Producto especificado se da de baja. Ya no estará activo.apic products:replace climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILENota:El Producto especificado en el comando es el Producto de sustitución. Por ejemplo, si sustituye
climbon:1.0.0porclimbon:1.0.1, el producto especificado en el comando seráclimbon:1.0.1.- Reemplazar la versión 1.0.0 por la 1.0.1
- En lugar de sustituir en caliente un producto existente por uno nuevo, (generalmente una versión actualizada), puede reemplazar el producto existente por uno nuevo. Al sustituir un producto, todas las suscripciones de aplicaciones externas a dicho producto se trasladan automáticamente al producto nuevo. Al reemplazar un producto, las suscripciones no se trasladan automáticamente al producto nuevo; debe realizarse alguna acción para suscribir las aplicaciones externas al producto de reemplazo.El mandato para reemplazar un producto utiliza el mismo archivo de correlaciones que el mandato para sustituir un producto. El nombre del Producto sustituto se indica en la orden.
Una vez sustituido un Producto, éste se marca como obsoleto, lo que significa que no se permiten más suscripciones al Producto, aunque sigue activo y las suscripciones existentes siguen funcionando.apic products:supersede climbon:1.0.1 PRODUCT_PLAN_MAPPING_FILENota: El Producto especificado en el comando es el Producto reemplazante. Por ejemplo, si sustituyeclimbon:1.0.0porclimbon:1.0.1, el producto especificado en el comando seráclimbon:1.0.1. El archivo de asignación especifica la dirección URL del Producto que está sustituyendo. - Establecer un destino de migración
- Es posible establecer un destino de migración para el producto existente. Esto ayuda en la migración.Utilice un mandato como el siguiente para establecer el destino de la migración.
apic products:set-migration-target climbon:1.0.0 PRODUCT_PLAN_MAPPING_FILENota: El Producto que se especifica en el comando es el Producto del que desea migrar las suscripciones. El archivo de correlaciones especifica el producto de destino para las suscripciones.Una vez establecido un objetivo de migración, los desarrolladores de aplicaciones externas pueden migrar sus suscripciones de aplicaciones a través del Portal del Desarrollador con facilidad. También es posible ejecutar una migración de suscripción utilizando el siguiente comando.apic products:execute-migration-target climbon:1.0.0 - Suprimir un producto
- Cuando el producto sustituido o reemplazado ya no es necesario, puede suprimirse.
apic products:delete climbon:1.0.0
Operaciones adicionales de productos y API
clone :| Mandato | Descripción |
|---|---|
| apic products:clone | Descargar del catálogo o espacio todos los productos y sus API. |
| apic apis:clone | Descargar del catálogo o espacio todas las API. |
--confirm :apic products:clear --confirm catalog_namedonde nombre_catálogo
es el nombre del catálogo.Puede utilizar un espacio para particionar un catálogo de modo que varios equipos puedan gestionar productos y APIs independientemente en un solo catálogo. Un espacio es conceptualmente como un subcatálogo, salvo que los productos y las API de todos los espacios de un catálogo se publican en el mismo portal para desarrolladores. Para más información sobre Spaces, consulte Uso de la sindicación en IBM API Connect.
--scope space con los comandos apic products y apic
apis . Por ejemplo, para listar los Productos contenidos en un Espacio llamado vuelos, utilice el siguiente comando:apic products --scope space --space flights --catalog production --org climbonorg --server platform-api.myserver.com
Cambio del estado del ciclo de vida de un producto en un catálogo o espacio
Para cambiar directamente el estado del ciclo de vida de un producto que se ha desplegado o publicado previamente en un catálogo o espacio, siga estos pasos:
- Introduzca el siguiente comando (el carácter de guión final significa que el comando toma la entrada del comando):
donde:apic products:update product_name:version --server mgmt_endpoint_url --org organization --scope scope --catalog catalog [--space space] -El mandato devuelve:Reading PRODUCT_FILE arg from stdin - Especifique los datos siguientes, seguidos de una línea nueva:
donde estado_nuevo es el estado al que desea cambiar el producto, y debe tener uno de los valores siguientes.state: new_state- Desplegado
- Publicado
- En desuso
- Retirado
- Archivado
- Pulse
CTRL Dpara terminar la entrada. Si el mandato es satisfactorio, se confirma el cambio del estado del ciclo de vida.Por ejemplo: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
El comando falla si el cambio de estado del ciclo de vida no está permitido.
- De la puesta en escena a la publicación
- De obsoleto a retirado
- De lo publicado a lo escenificado
- De jubilado a publicado
Para obtener detalles completos, consulte El ciclo de vida del producto.
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
Scripts de ejemplo
Un conjunto de scripts de ejemplo que muestran cómo crear y gestionar organizaciones, usuarios, aplicaciones, productos y API está disponible en https://github.com/ibm-apiconnect/example-toolkit-scripts.