Configurer l'utilisation d'IBM Quantum Platform avec l'API REST
Tu peux accéder aux processeurs quantiques via des API REST, ce qui te permet de travailler avec des QPU dans n'importe quel langage de programmation ou framework.
1. Obtenir l'accès
- Si tu n'as pas encore de compte utilisateur, crées-en un sur la page de connexion IBM Quantum.
- Crée une clé API (aussi appelée token) depuis le tableau de bord. Note que la même clé API peut être utilisée pour l'une ou l'autre des régions.
- Génère un token bearer IBM Cloud Identity and Access Management (IAM). Il s'agit d'un token de courte durée utilisé pour authentifier les requêtes vers l'API REST. Pour en générer un, appelle l'API IAM Identity Services comme illustré dans l'exemple de requête suivant :
- 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'
Réponse attendue
{
"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-urlendcoded',
}
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. Choisir une méthode d'authentification
Choisis la méthode d'authentification appropriée en fonction de ton environnement de travail :
- Créer une variable d'environnement pour ta clé API (environnements Python de confiance)
- Utiliser ta clé API directement (environnement non fiable)
Créer une variable d'environnement (environnement de confiance)
-
Pour définir la variable d'environnement IQP_API_TOKEN sur ton système, tu peux ajouter la ligne suivante à ton profil shell (par exemple, .bashrc ou .zshrc) ou la définir directement dans ton terminal :
export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboardLorsque tu invoqueras la variable d'environnement dans ton code, inclus
import os, comme dans cet exemple :import os
api_token = os.environ['IQP_API_TOKEN']Note que lors de la création d'une variable d'environnement, ta clé API est toujours stockée localement en texte clair et doit être protégée.
-
Authentifie les requêtes vers l'API REST Qiskit Runtime en incluant le CRN et le token bearer dans les en-têtes de la requête.
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. Optionnel : Configurer ton pare-feu
Si nécessaire, utilise ces informations pour activer l'accès aux points de terminaison de l'API IBM Quantum.
Prochaines étapes
- Vue d'ensemble des plans disponibles.
- Configurer le SDK Qiskit en local.
- Suis les étapes de Hello world pour écrire et exécuter un programme quantique.
- Essaie un tutoriel.