Japanese
言語
English
Japanese
Spanish

アカウントの管理

Qiskit RuntimeはIBM CloudとIBM Quantum Platformの両方で利用できます。 前者はIBM Cloudアカウントを必要とし、後者はIBM Quantumアカウントを必要とします。 必要なアカウントをお持ちでない場合は、次のリンクを参照してください。

アカウント管理の方法はいくつかあります。 アカウント資格情報は、ディスクに保存することも、セッションで使用して保存しないこともできます。

  • save_account(): 今後使用するためにアカウントをディスクに保存します。

  • delete_account(): 保存されたアカウントをディスクから削除します。

  • active_account(): セッション内の現在のアカウントを一覧表示します。

  • saved_account(): ディスクに保管されているアカウントをリストします。

資格情報の保存

save_account() メソッドを使用すると、アカウントの認証情報をディスク上の $HOME/.qiskit/qiskit-ibm.json ファイルに保存することが可能です。認証情報を保存した後は、今後 QiskitRuntimeService() を使用してアカウントを初期化するだけでよくなります。

注釈

アカウントの資格情報はプレーン・テキストで保存されるため、信頼できるデバイスを使用している場合にのみ実行してください。

IBM Cloud と IBM Quantum のアカウントを保存する例を以下に示します。 channel パラメーターを使用すると、異なるアカウント・タイプを区別することができます。 チャネルごとに複数のアカウントを保存する場合は、 name パラメーターを使用して区別することを検討してください。

from qiskit_ibm_runtime import QiskitRuntimeService

# Save an IBM Cloud account on disk.
QiskitRuntimeService.save_account(channel="ibm_cloud", token=<*IBM Cloud API key*>, instance=<*IBM Cloud CRN*> or <*IBM Cloud service name*>)

# Save an IBM Quantum account on disk.
QiskitRuntimeService.save_account(channel="ibm_quantum", token=<*IBM Quantum API token*>)

アカウントの初期化

Qiskit Runtime の使用を開始する前に、 Python セッションでアカウントを初期化する必要があります。資格情報が既に保存されている場合は、追加のパラメーターを指定せずに QiskitRuntimeService インスタンスを初期化できます。

# Read default credentials from disk.
service = QiskitRuntimeService()

IBM Cloud と IBM Quantum の両方のアカウントを保存している場合、 QiskitRuntimeService() はデフォルトで IBM Cloud アカウントをロードします。代わりにIBM Quantumのアカウントをロードするには、 QiskitRuntimeService(channel="ibm_quantum") を指定してください。

また、保存時にアカウントにnameを指定した場合は、ロードするアカウントの名前を指定することもできます。

# Save an IBM Cloud account on disk and give it a name.
QiskitRuntimeService.save_account(channel="ibm_cloud", token=<*IBM Cloud API key*>, instance=<*IBM Cloud CRN*>, name="prod")

service = QiskitRuntimeService(name="prod")

セッションを保存するのではなく、単にセッションに対して資格情報を使用する場合は、 QiskitRuntimeService インスタンスを初期化する際に資格情報を渡すことができます。

# Initialize an IBM Cloud account without saving it.
service = QiskitRuntimeService(channel="ibm_cloud", token=<*IBM Cloud API key*>, instance=<*IBM Cloud CRN*>)