Przejdź do głównej treści

Zapisywanie danych logowania

Jeśli pracujesz w zaufanym środowisku Python (np. na własnym laptopie lub stacji roboczej), możesz użyć metody save_account(), aby zapisać swoje dane logowania lokalnie, a następnie użyć ich do inicjalizacji usługi.

Uwagi
  • Jeśli używasz komputera publicznego lub innego niezaufanego środowiska, zamiast tego postępuj zgodnie z instrukcjami w Initialize the service in an untrusted environment.
  • Postępuj zgodnie z tymi instrukcjami, jeśli chcesz połączyć się za pomocą REST API zamiast Qiskit.
  • W razie potrzeby użyj tych informacji, aby skonfigurować zaporę sieciową umożliwiającą dostęp do punktów końcowych API IBM Quantum.

Przed rozpoczęciem

  1. Upewnij się, że masz konto IBM Cloud.
  2. Upewnij się, że pracujesz w aktywnym środowisku Python z zainstalowanym Qiskit SDK i Qiskit Runtime.
  3. Aktywuj wirtualne środowisko Python i uruchom Pythona w swoim wirtualnym środowisku.
  4. Zaloguj się do IBM Quantum Platform za pomocą konta IBMid lub Google.

Znajdowanie danych dostępowych

  1. Upewnij się, że właściwe konto i region są wybrane w przełączniku kont w nagłówku.
  2. Znajdź swój klucz API. Z pulpitu nawigacyjnego utwórz klucz API, a następnie skopiuj go w bezpieczne miejsce, abyś mógł go użyć do uwierzytelnienia. Pamiętaj, że tego samego klucza API możesz użyć do połączenia z dowolnym regionem.
  3. Opcjonalnie: Znajdź instancję, której chcesz użyć, na stronie Instances. Najedź kursorem na jej CRN, kliknij ikonę kopiowania, a następnie zapisz go w bezpiecznym miejscu, abyś mógł go użyć do identyfikacji instancji.

Zapisywanie danych dostępowych

Zapisz swoje dane logowania, uruchamiając odpowiedni kod raz dla każdego konta, które chcesz zapisać. Po zapisaniu danych logowania załaduj je, postępując zgodnie z instrukcjami w Initialize the Qiskit Runtime service.

Zapisywanie danych logowania z dostępem do konkretnej instancji:

Jeśli masz wiele instancji i chcesz łatwo poinformować Qiskit Runtime, której instancji użyć, zapisz dane logowania zawierające CRN instancji.

from qiskit_ibm_runtime import QiskitRuntimeService

QiskitRuntimeService.save_account(
token="<your-api-key>", # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboard
name="<account-name>", # Optional
instance="<IBM Cloud CRN or instance name>", # Optional
set_as_default=True, # Optional
overwrite=True, # Optional
)

Zapisywanie danych logowania do automatycznego wyboru instancji:

Jeśli nie podasz CRN instancji i przekażesz te dane logowania do Qiskit Runtime, odpowiednia instancja zostanie wybrana automatycznie na podstawie podanych opcji.

from qiskit_ibm_runtime import QiskitRuntimeService

QiskitRuntimeService.save_account(
token="<your=api-key>", # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboard
name="<account-name>", # Optional
instance="<instance-to-use>", # Optional
plans_preference="<plan_types>", # Optional
region="<region>", # Optional
tags="<instance-tags>", # Optional
set_as_default=True, # Optional
overwrite=True, # Optional
)

Dostępne opcje

  • token: Klucz API IBM Cloud. Twój token jest poufny. Nie udostępniaj tokenu w publicznym kodzie.
  • instance: Opcjonalnie podaj instancję do użycia przez jej IBM Cloud CRN lub nazwę instancji.
  • plans_preference: Opcjonalnie ustaw typy planów do priorytetyzowania. Jest ignorowane, jeśli instancja jest określona. Dostępne opcje to open, pay-as-you-go, flex, premium i on-prem. Instancje określonego typu planu są wykluczane, jeśli nazwa planu nie jest podana. Na przykład, jeśli podany zostanie [open], dostępne będą tylko instancje planu Open. Jest ignorowane, jeśli instance jest podane.
  • region: Opcjonalnie ustaw region do użycia. Akceptowane wartości to us-east i eu-de. Jest ignorowane, jeśli instance jest podane.
  • tags: Opcjonalnie podaj tagi instancji. Przyjmuje listę ciągów nazw tagów. Jest ignorowane, jeśli instance jest podane.
  • name: Opcjonalnie nadaj nazwę temu zestawowi danych logowania konta.
  • set_as_default: Ustaw wartość na True, aby zapisać te dane jako domyślne. Jeśli zapiszesz tylko jedno konto, zostanie ono automatycznie ustawione jako domyślne.
  • overwrite: Ustaw tę wartość na True, aby zaktualizować swoje domyślne dane logowania.

Przykłady

Przykład 1

Ten przykład zapisuje dane logowania dla konkretnych instancji, które umożliwiają dostęp w ramach planów open i premium. Dane logowania open są ustawione jako domyślne.

from qiskit_ibm_runtime import QiskitRuntimeService

QiskitRuntimeService.save_account(token="<API_TOKEN>", instance="<CRN_for_premium_instance>",
name="premium")
QiskitRuntimeService.save_account(token="<API_TOKEN>", instance="<CRN_for_open_instance>",
name="open", set_as_default=True)

Przykład 2

Ten przykład zapisuje dane logowania do automatycznego wyboru instancji. Qiskit Runtime będzie szukać tylko instancji premium w regionie UE dostępnych dla konta. Te dane logowania stają się nowym domyślnym.

QiskitRuntimeService.save_account(
token="your-api-key",
set_as_default=True,
overwrite = True,

# Set instance "filters" instead of specifying the instance:
region="eu-de",
plans_preference=["premium"]
)

Wyświetlanie zapisanych danych logowania

Aby wyświetlić wszystkie zapisane dane logowania, uruchom service.saved_accounts(). Pamiętaj, że jeśli zapisałeś domyślne dane logowania bez ich nazywania, noszą one nazwę default-ibm-quantum-platform. Jeśli nadałeś swojemu domyślnemu nazwy logowania, zobaczysz "is_default_account": true w wynikach.

Uwagi

  • Jeśli zapisujesz wiele kont, użyj parametru name, aby je rozróżnić.
  • Dane logowania są zapisywane do $HOME/.qiskit/qiskit-ibm.json. Nie edytuj tego pliku ręcznie.
  • Jeśli nie zapiszesz swoich danych logowania, musisz je podawać za każdym razem, gdy rozpoczynasz nową sesję (tworzysz instancję usługi Qiskit Runtime).
  • Jeśli ręcznie podasz swoje dane logowania, zapisane konto nie zostanie użyte.

Następne kroki