IBM Quantum Platform を REST API で使用するように設定する
量子プロセッサーにはREST APIでアクセスすることができ、あらゆるプログラミング言語やフレームワークを使用してQPUを操作することができる。
1. アクセスを得る
- ユーザーアカウントをお持ちでない場合は、 IBM Quantum のログインページで取得してください。
- ダッシュボードでAPIキー(トークンとも呼ばれる)を作成してください。 同じAPIキーをどちらの地域でも使用できることに注意してください。
- IBM Cloud Identity and Access Management (IAM) ベアラ・トークンを生成する。 これは、REST APIへのリクエストを認証するために使用される短命のトークンです。 生成するには、以下のサンプルリクエストに示すように IAM Identity Services API を呼び出す:
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'期待される応答
{
"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. 認証方法を選択する
作業環境に応じて、適切な認証方法を選択してください:
環境変数を作成する(信頼できる環境)
-
システムでIQP_API_TOKEN環境変数を設定するには、シェル・プロファイル(例えば、.bashrcまたは.zshrc)に以下の行を追加するか、ターミナルで直接設定する:
export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved # from the IBM Quantum Platform Home dashboardコード内で環境変数を呼び出すときは、この例のように
import osをインクルードする:import os api_token = os.environ['IQP_API_TOKEN']環境変数を作成する際も、APIキーはプレーンテキストでローカルに保存されるため、保護する必要がある。
-
REST API へのリクエストを認証するには、リクエストのヘッダーに CRN とベアラートークンを含めてください。
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. オプション: ファイアウォールの設定
必要に応じて、 この情報を使用して IBM Quantum API エンドポイントへのアクセスを有効にします。
次のステップ
推奨事項
- 利用可能なプランの概要
- Qiskit SDK をローカルで設定する。
- ハードウェアで最初の回路を実行するガイドの手順に従って、量子プログラムを記述し実行してください。
- チュートリアルをやってみよう。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。