Sessioni
Creare una sessione
Creare una sessione
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.session.create
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.session.create
Input
Nome, tipo | Descrizione |
|---|---|
max_ttl integer | Il tempo massimo (in secondi) di esecuzione della sessione, soggetto ai limiti del piano. Valore predefinito: 28800Valore minimo: 1Valore massimo: 2147483647 |
mode string | Modalità di esecuzione in cui eseguire la sessione Valori possibili: batchdedicated |
backend string | Nome del backend |
backend_name string | Nome del backend (fallback) |
Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions
curl -X POST \
'https://quantum.cloud.ibm.com/api/v1/sessions' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2024-01-01' Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions
import requests
response = requests.request(
"POST",
"https://quantum.cloud.ibm.com/api/v1/sessions",
headers={
"Accept": "application/json",
"IBM-API-Version": "2024-01-01",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | OK |
| 400 | Richiesta non valida |
| 401 | Non autorizzato |
| 500 | Errore interno |
{
"id": "example",
"backend_name": "example",
"started_at": "example",
"activated_at": "example",
"closed_at": "example",
"last_job_started": "example",
"last_job_completed": "example",
"interactive_ttl": 1,
"max_ttl": 1,
"active_ttl": 1,
"state": "open",
"state_reason": "example",
"accepting_jobs": true,
"mode": "batch",
"timestamps": [
{
"status": "open",
"timestamp": "example"
}
],
"user_id": "example",
"elapsed_time": 1.432
}{
"type": "object",
"description": "Sessione di lavoro",
"properties": {
"id": {
"type": "string",
"description": "ID lavoro"
},
"backend_name": {
"type": "string",
"description": "Nome del backend. Non può essere impostato quando è in stato \"aperto\".",
"nullable": true
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando è stata avviata la sessione"
},
"activated_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando lo stato della sessione è stato modificato in attivo"
},
"closed_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando la sessione è stata chiusa"
},
"last_job_started": {
"type": "string",
"format": "date-time",
"description": "Timestamp dell'avvio dell'ultimo lavoro della sessione"
},
"last_job_completed": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando è stato completato l'ultimo lavoro della sessione"
},
"interactive_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo massimo (in secondi) tra un lavoro e l'altro per mantenere attiva la sessione"
},
"max_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo massimo (in secondi) di esecuzione della sessione, soggetto ai limiti del piano"
},
"active_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo rimanente (in secondi) per la sessione nello stato attivo durante l'esecuzione dei lavori."
},
"state": {
"type": "string",
"enum": [
"open",
"active",
"inactive",
"closed"
],
"description": "Lo stato della sessione.\n\n* aperto: La sessione è in attesa di eseguire lavori.\n* attivo: La sessione ha la priorità di eseguire lavori sul backend e sta eseguendo lavori o è in attesa di altri lavori.\n* inattivo: La sessione non ha priorità e non sta eseguendo alcun lavoro.\n* chiuso: La sessione non sta eseguendo alcun lavoro e non ne accetterà di nuovi."
},
"state_reason": {
"type": "string",
"description": "Il motivo del cambiamento di stato."
},
"accepting_jobs": {
"type": "boolean",
"description": "Se è vero, la sessione sta accettando attivamente nuovi lavori da accodare. Se false, i lavori verranno rifiutati alla creazione e la sessione verrà immediatamente chiusa quando non ci saranno più lavori da eseguire nella sessione."
},
"mode": {
"type": "string",
"description": "Modalità di esecuzione in cui eseguire la sessione",
"enum": [
"batch",
"dedicated"
]
},
"timestamps": {
"type": "array",
"items": {
"type": "object",
"description": "Contiene informazioni sull'ora in cui è avvenuta una specifica transizione di stato",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"active",
"inactive",
"closed"
],
"description": "Lo stato della sessione.\n\n* aperto: La sessione è in attesa di eseguire lavori.\n* attivo: La sessione ha la priorità di eseguire lavori sul backend e sta eseguendo lavori o è in attesa di altri lavori.\n* inattivo: La sessione non ha priorità e non sta eseguendo alcun lavoro.\n* chiuso: La sessione non sta eseguendo alcun lavoro e non ne accetterà di nuovi."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp del momento in cui la sessione è passata allo stato indicato"
}
},
"required": [
"status",
"timestamp"
]
}
},
"user_id": {
"type": "string",
"description": "L'id dell'utente che ha creato la sessione."
},
"elapsed_time": {
"type": "number",
"description": "Utilizzo in secondi. Può essere nullo per le sessioni in corso.",
"example": 1.432
}
},
"required": [
"id",
"backend_name",
"mode"
]
}Ottenere una sessione
Ottenere una sessione
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.session.read
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.session.read
Input
Nome, tipo | Descrizione |
|---|---|
id Obbligatorio string | ID sessione lavoro |
Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/sessions/{id}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2024-01-01' Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/sessions/{id}",
headers={
"Accept": "application/json",
"IBM-API-Version": "2024-01-01",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Accettabilmente |
| 401 | Non autorizzato |
| 404 | Non trovato |
| 500 | Errore interno |
{
"id": "example",
"backend_name": "example",
"started_at": "example",
"activated_at": "example",
"closed_at": "example",
"last_job_started": "example",
"last_job_completed": "example",
"interactive_ttl": 1,
"max_ttl": 1,
"active_ttl": 1,
"state": "open",
"state_reason": "example",
"accepting_jobs": true,
"mode": "batch",
"timestamps": [
{
"status": "open",
"timestamp": "example"
}
],
"user_id": "example",
"elapsed_time": 1.432
}{
"type": "object",
"description": "Sessione di lavoro",
"properties": {
"id": {
"type": "string",
"description": "ID lavoro"
},
"backend_name": {
"type": "string",
"description": "Nome del backend. Non può essere impostato quando è in stato \"aperto\".",
"nullable": true
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando è stata avviata la sessione"
},
"activated_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando lo stato della sessione è stato modificato in attivo"
},
"closed_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando la sessione è stata chiusa"
},
"last_job_started": {
"type": "string",
"format": "date-time",
"description": "Timestamp dell'avvio dell'ultimo lavoro della sessione"
},
"last_job_completed": {
"type": "string",
"format": "date-time",
"description": "Timestamp di quando è stato completato l'ultimo lavoro della sessione"
},
"interactive_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo massimo (in secondi) tra un lavoro e l'altro per mantenere attiva la sessione"
},
"max_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo massimo (in secondi) di esecuzione della sessione, soggetto ai limiti del piano"
},
"active_ttl": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 2147483647,
"description": "Il tempo rimanente (in secondi) per la sessione nello stato attivo durante l'esecuzione dei lavori."
},
"state": {
"type": "string",
"enum": [
"open",
"active",
"inactive",
"closed"
],
"description": "Lo stato della sessione.\n\n* aperto: La sessione è in attesa di eseguire lavori.\n* attivo: La sessione ha la priorità di eseguire lavori sul backend e sta eseguendo lavori o è in attesa di altri lavori.\n* inattivo: La sessione non ha priorità e non sta eseguendo alcun lavoro.\n* chiuso: La sessione non sta eseguendo alcun lavoro e non ne accetterà di nuovi."
},
"state_reason": {
"type": "string",
"description": "Il motivo del cambiamento di stato."
},
"accepting_jobs": {
"type": "boolean",
"description": "Se è vero, la sessione sta accettando attivamente nuovi lavori da accodare. Se false, i lavori verranno rifiutati alla creazione e la sessione verrà immediatamente chiusa quando non ci saranno più lavori da eseguire nella sessione."
},
"mode": {
"type": "string",
"description": "Modalità di esecuzione in cui eseguire la sessione",
"enum": [
"batch",
"dedicated"
]
},
"timestamps": {
"type": "array",
"items": {
"type": "object",
"description": "Contiene informazioni sull'ora in cui è avvenuta una specifica transizione di stato",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"active",
"inactive",
"closed"
],
"description": "Lo stato della sessione.\n\n* aperto: La sessione è in attesa di eseguire lavori.\n* attivo: La sessione ha la priorità di eseguire lavori sul backend e sta eseguendo lavori o è in attesa di altri lavori.\n* inattivo: La sessione non ha priorità e non sta eseguendo alcun lavoro.\n* chiuso: La sessione non sta eseguendo alcun lavoro e non ne accetterà di nuovi."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp del momento in cui la sessione è passata allo stato indicato"
}
},
"required": [
"status",
"timestamp"
]
}
},
"user_id": {
"type": "string",
"description": "L'id dell'utente che ha creato la sessione."
},
"elapsed_time": {
"type": "number",
"description": "Utilizzo in secondi. Può essere nullo per le sessioni in corso.",
"example": 1.432
}
},
"required": [
"id",
"backend_name",
"mode"
]
}Aggiornare una sessione
Aggiornare una sessione
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.session.update
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.session.update
Input
Nome, tipo | Descrizione |
|---|---|
id Obbligatorio string | ID sessione lavoro |
Nome, tipo | Descrizione |
|---|---|
accepting_jobs Obbligatorio boolean | Se è vero, la sessione sta accettando attivamente nuovi lavori da accodare. Se false, i lavori verranno rifiutati alla creazione e la sessione verrà immediatamente chiusa quando non ci saranno più lavori da eseguire nella sessione. |
Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}
curl -X PATCH \
'https://quantum.cloud.ibm.com/api/v1/sessions/{id}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2024-01-01' \
-H 'Content-Type: application/json' \
-d '{"accepting_jobs":true}' Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}
import requests
response = requests.request(
"PATCH",
"https://quantum.cloud.ibm.com/api/v1/sessions/{id}",
headers={
"Accept": "application/json",
"IBM-API-Version": "2024-01-01",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN",
"Content-Type": "application/json"
},
data="{\"accepting_jobs\":true}"
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 204 | Sessione aggiornata con successo |
| 401 | Non autorizzato |
| 404 | Non trovato |
| 500 | Errore interno |
Chiudere la sessione di lavoro
Chiude la sessione di runtime. La sessione smette di accettare nuovi lavori e i lavori in coda non vengono eseguiti.
I lavori in corso verranno eseguiti fino al completamento. È analoga alla funzione cancel() di Qiskit.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.session.update
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.session.update
Input
Nome, tipo | Descrizione |
|---|---|
id Obbligatorio string | ID sessione |
Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}/close
curl -X DELETE \
'https://quantum.cloud.ibm.com/api/v1/sessions/{id}/close' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2024-01-01' Se la tua istanza si trova nella regione eu-de, utilizza invece questo link: URL: https://eu-de.quantum.cloud.ibm.com/api/v1/sessions/{id}/close
import requests
response = requests.request(
"DELETE",
"https://quantum.cloud.ibm.com/api/v1/sessions/{id}/close",
headers={
"Accept": "application/json",
"IBM-API-Version": "2024-01-01",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 204 | Sessione di runtime chiusa con successo |