连接与认证
使用平台 SDK 的 Client ID 和 Client Secret,通过 Core SDK 创建客户端,查询设备并提交任务。本页介绍平台地址、认证方式和钱包选择。
设置平台地址
填写平台提供的 API 根地址。
import os
os.environ["QUANTUM_SOURCE_API_URL"] = input("Platform API base URL: ").strip()
使用隐藏输入
from getpass import getpass
from quantum_source_sdk import ClientCredentials
creds = ClientCredentials(
client_id=input("Platform Client ID: "),
client_secret=getpass("Platform Client Secret: "),
)
Core SDK:创建客户端
使用上面的平台地址和 creds 创建 SchedulerClient,再查询设备列表。
from quantum_source_sdk import SchedulerClient
scheduler = SchedulerClient(
creds=creds, base_url=os.environ["QUANTUM_SOURCE_API_URL"]
)
page = scheduler.management.list_backend_classes(limit=20)
for item in page.backend_classes:
print(item.short_code, item.status)
page.backend_classes 返回本页设备列表。后续 Core 示例可继续使用 scheduler,选择账号可用的设备执行实验。
选择设备和组织
从设备列表选择 short_code,再查询可用组织,填写示例所需的设备和组织 ID。
org_page = scheduler.management.list_user_organizations(limit=100)
for org in org_page.organizations:
print(org.id, org.name)
os.environ["QUANTUM_SOURCE_BACKEND"] = input("Backend short_code: ")
os.environ["QUANTUM_SOURCE_ORGANIZATION_ID"] = input("Organization ID: ")
使用已有环境配置
若已配置平台地址和 SDK 凭据,可用下面的方式创建客户端。凭据可使用 Client ID / Client Secret 环境变量,或 QUANTUM_SOURCE_SDK_KEY 指定的 JSON 文件。
import os
from quantum_source_sdk import SchedulerClient
scheduler = SchedulerClient(base_url=os.environ["QUANTUM_SOURCE_API_URL"])
| 变量 | 填写什么 |
|---|---|
| QUANTUM_SOURCE_API_URL | 平台 API 根地址 |
| QUANTUM_SOURCE_CLIENT_ID / QUANTUM_SOURCE_CLIENT_SECRET | 平台 SDK 的 ID 和密码 |
| QUANTUM_SOURCE_SDK_KEY | 平台 SDK 密钥文件路径 |
| QUANTUM_SOURCE_BACKEND | 设备 short_code |
| QUANTUM_SOURCE_ORGANIZATION_ID | 组织 ID |
隐藏输入和已有环境配置任选一种。
创建客户端时选择 OPEN 或 FULL
客户端默认使用 OPEN。需要使用 FULL 余额时,创建 currency="FULL" 的客户端。下面沿用隐藏输入创建的 creds;若使用环境凭据,省略 creds=creds。
full_scheduler = SchedulerClient(
creds=creds, base_url=os.environ["QUANTUM_SOURCE_API_URL"],
currency="FULL",
)
full_scheduler.currency
使用 full_scheduler 准备后续任务即可选择 FULL。currency 是只读属性;切换钱包时,创建对应客户端并准备新报价。OPEN 和 FULL 各自使用对应钱包余额,执行通道均为 public + stand。
保存到系统密钥库
可选:安装 secure 扩展后,将上面的 creds 保存到系统密钥库,供下次连接使用。
from quantum_source_sdk.accounts import save_account, load_account
save_account(
creds=creds, base_url=os.environ["QUANTUM_SOURCE_API_URL"],
name="default",
)
下次使用时,读取保存的账号并创建 Core 客户端。
from quantum_source_sdk import SchedulerClient
from quantum_source_sdk.accounts import load_account
account = load_account(name="default")
scheduler = SchedulerClient(creds=account.creds, base_url=account.base_url)
下载本页 Jupyter Notebook
收录本页 Python 示例与说明,便于在 Jupyter Notebook 中学习和运行;安装命令保留为说明。