Configurar para usar IBM Quantum Platform con la API REST
Puedes acceder a procesadores cuánticos usando APIs REST, lo que te permite trabajar con las QPUs utilizando cualquier lenguaje de programación o framework.
1. Obtener acceso
-
Si aún no tienes una cuenta de usuario, obtén una en la página de inicio de sesión de IBM Quantum.
-
Crea una clave de API (también llamada token) en el panel de control. Ten en cuenta que la misma clave de API se puede usar para cualquiera de las dos regiones.
-
Genera un token portador de IBM Cloud Identity and Access Management (IAM). Este es un token de corta duración usado para autenticar solicitudes a la API REST. Para generar uno, llama a la API de IAM Identity Services como se muestra en la siguiente solicitud de ejemplo:
- Curl
- Python
curl -X POST 'https://iam.cloud.ibm.com/identity/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=MY_APIKEY'
Respuesta esperada
{
"access_token": "eyJhbGciOiJIUz......sgrKIi8hdFs",
"refresh_token": "SPrXw5tBE3......KBQ+luWQVY=",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1473188353
}
# Use 'service' to invoke operations.
import requests
import json
url = 'https://iam.cloud.ibm.com/identity/token'
api_key = 'MY_APIKEY'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
data = f'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey={api_key}'
response = requests.post(url, headers=headers, data=data)
# Bearer token to authorize requests to the REST API
bearer_token = response.json()['access_token']
2. Elige un método de autenticación
Elige el método de autenticación apropiado, dependiendo de tu entorno de trabajo:
Crear una variable de entorno (entorno de confianza)
-
Para configurar la variable de entorno IQP_API_TOKEN en tu sistema, puedes agregar la siguiente línea a tu perfil de shell (por ejemplo, .bashrc o .zshrc) o configurarla directamente en tu terminal:
export IQP_API_TOKEN=<your-API_KEY># Use the 44-character API_KEY you created and saved# from the IBM Quantum Platform Home dashboardCuando invoques la variable de entorno en tu código, incluye
import os, como en este ejemplo:import osapi_token = os.environ['IQP_API_TOKEN']Ten en cuenta que al crear una variable de entorno, tu clave de API sigue almacenándose localmente en texto plano, así que debes protegerla.
-
Autentica las solicitudes a la API REST incluyendo el CRN y el token portador en los encabezados de la solicitud.
curl -X 'GET' \
'https://quantum.cloud.ibm.com/api/v1/usage' \
'-H accept: application/json' \
'-H authorization: Bearer <BEARER_TOKEN>' \
'-H Service-CRN: <INSTANCE_CRN>'
3. Opcional: Configura tu firewall
Si es necesario, usa esta información para permitir el acceso a los puntos de enlace (endpoints) de la API de IBM Quantum.
Siguientes pasos
- Descripción general de los planes disponibles.
- Configura el SDK de Qiskit localmente.
- Sigue los pasos en la guía Ejecutar tu primer circuito en hardware para escribir y ejecutar un programa cuántico.
- Prueba un tutorial.