Workspace 类
表示 Azure Quantum 工作区。
创建 Workspace 对象时,调用方有多个选项用于标识Azure Quantum工作区(优先级顺序):
- 指定有效的资源 ID;或
- 指定有效的订阅 ID、资源组和工作区名称;或
- 指定有效的工作区名称。
还可以使用连接字符串通过调用 from_connection_string来指定 Azure Quantum 工作区的连接参数。
如果 Azure Quantum 工作区没有链接存储,调用方还必须传递有效的 Azure 存储帐户连接字符串。
构造函数
Workspace(subscription_id: str | None = None, resource_group: str | None = None, name: str | None = None, storage: str | None = None, resource_id: str | None = None, location: str | None = None, credential: object | None = None, user_agent: str | None = None, **kwargs: Any)
参数
| 名称 | 说明 |
|---|---|
|
subscription_id
|
Azure 订阅 ID。 如果指定了resource_id,则忽略。 默认值: None
|
|
resource_group
|
Azure 资源组名称。 如果指定了resource_id,则忽略。 默认值: None
|
|
name
|
Azure Quantum 工作区名称。 如果指定了resource_id,则忽略。 默认值: None
|
|
storage
|
Azure 存储帐户连接字符串。 仅当指定的 Azure Quantum 工作区没有链接存储时才是必需的。 默认值: None
|
|
resource_id
|
Azure Quantum 工作区的资源 ID。 默认值: None
|
|
location
|
预配 Azure Quantum 工作区的 Azure 区域。 这可以指定为区域名称,例如“美国东部”或位置名称,例如“eastus”。 默认值: None
|
|
credential
|
用于连接到 Azure 服务的凭据。 通常,Azure.Identity中的凭据类型之一。 默认为“DefaultAzureCredential”,这将尝试多种形式的身份验证。 默认值: None
|
|
user_agent
|
在与 Azure Quantum 服务通信时,将指定值作为前缀添加到 HTTP User-Agent 标头。 默认值: None
|
方法
| append_user_agent |
将新值追加到工作区的 UserAgent。 这些值是使用短划线追加的。 |
| cancel_job |
请求工作区取消作业的执行。 |
| close | |
| close_session |
如果会话不处于终端状态,则关闭给定工作区中的会话。 否则,只需刷新会话详细信息。 |
| from_connection_string |
从连接字符串创建新的 Azure Quantum 工作区客户端。 |
| get_container_uri |
基于作业 ID 或容器名称获取容器 URI。 如果尚不存在容器,则创建一个新容器。 |
| get_job |
返回与给定 ID 对应的作业。 |
| get_quotas |
获取给定工作区的配额列表。 每个配额都表示为字典,其中包含该配额的属性。 常见的配额属性包括:
|
| get_session |
从工作区获取会话。 |
| get_targets |
返回按目标名称和提供程序 ID 筛选的此工作区的所有可用目标。 如果传递目标名称,将返回单个 Target 对象。 否则,它将返回 Target 对象的可迭代/列表,(可选)按提供程序 ID 进行筛选。 |
| list_jobs |
返回满足可选(有限)筛选条件的作业列表。 |
| list_jobs_paginated | |
| list_session_jobs |
获取与会话关联的所有作业。 |
| list_session_jobs_paginated |
获取与会话关联的所有作业。 |
| list_sessions |
获取给定工作区中的会话列表。 |
| list_sessions_paginated |
获取给定工作区中的会话列表。 |
| list_top_level_items |
获取给定工作区的顶级项列表,这些项可以是独立作业(不与会话关联的作业)或会话(可以包含作业)。 |
| list_top_level_items_paginated | |
| open_session |
打开/创建给定工作区中的会话。 |
| refresh_session |
使用工作区中的最新信息更新会话详细信息。 |
| submit_job |
提交要在工作区中处理的作业。 |
append_user_agent
将新值追加到工作区的 UserAgent。 这些值是使用短划线追加的。
append_user_agent(value: str) -> None
参数
| 名称 | 说明 |
|---|---|
|
value
必需
|
要添加的 UserAgent 值,例如“azure-quantum-plugin<>” |
cancel_job
请求工作区取消作业的执行。
cancel_job(job: Job) -> Job
参数
| 名称 | 说明 |
|---|---|
|
job
必需
|
要取消的作业。 |
返回
| 类型 | 说明 |
|---|---|
|
请求取消的 Azure Quantum 作业,状态已更新。 |
close
close() -> None
close_session
如果会话不处于终端状态,则关闭给定工作区中的会话。 否则,只需刷新会话详细信息。
close_session(session: Session) -> None
参数
| 名称 | 说明 |
|---|---|
|
session
必需
|
要关闭的会话。 |
from_connection_string
从连接字符串创建新的 Azure Quantum 工作区客户端。
from_connection_string(connection_string: str, **kwargs) -> Workspace
参数
| 名称 | 说明 |
|---|---|
|
connection_string
必需
|
一个有效的连接字符串,通常是从 Azure 门户中的 Quantum 工作区(> 操作)> 访问密钥 边栏选项卡获取的。 |
返回
| 类型 | 说明 |
|---|---|
|
新的 Azure Quantum 工作区客户端。 |
get_container_uri
基于作业 ID 或容器名称获取容器 URI。 如果尚不存在容器,则创建一个新容器。
get_container_uri(job_id: str | None = None, container_name: str | None = None, container_name_format: str | None = 'job-{job_id}') -> str
参数
| 名称 | 说明 |
|---|---|
|
job_id
|
作业 ID,默认为 无。 默认值: None
|
|
container_name
|
容器名称,默认为 None。 默认值: None
|
|
container_name_format
|
容器名称格式,默认为“job-{job_id}”。 默认值: job-{job_id}
|
返回
| 类型 | 说明 |
|---|---|
|
容器 URI。 |
get_job
返回与给定 ID 对应的作业。
get_job(job_id: str) -> Job
参数
| 名称 | 说明 |
|---|---|
|
job_id
必需
|
要提取的作业的 ID。 |
返回
| 类型 | 说明 |
|---|---|
|
Azure Quantum 作业。 |
get_quotas
get_session
从工作区获取会话。
get_session(session_id: str) -> Session
参数
| 名称 | 说明 |
|---|---|
|
session_id
必需
|
要检索的会话的 ID。 |
返回
| 类型 | 说明 |
|---|---|
|
Azure Quantum 会话 |
get_targets
返回按目标名称和提供程序 ID 筛选的此工作区的所有可用目标。 如果传递目标名称,将返回单个 Target 对象。 否则,它将返回 Target 对象的可迭代/列表,(可选)按提供程序 ID 进行筛选。
get_targets(name: str | None = None, provider_id: str | None = None) -> Target | Iterable[Target]
参数
| 名称 | 说明 |
|---|---|
|
name
|
要筛选的可选目标名称,默认为 None。 默认值: None
|
|
provider_id
|
要筛选的可选提供程序 ID,默认为 None。 默认值: None
|
返回
| 类型 | 说明 |
|---|---|
|
单个 Azure Quantum 目标或可迭代/目标列表。 |
list_jobs
返回满足可选(有限)筛选条件的作业列表。
list_jobs(name_match: str | None = None, job_type: list[str] | None = None, provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, orderby_property: str | None = None, is_asc: bool | None = True) -> List[Job]
参数
| 名称 | 说明 |
|---|---|
|
name_match
|
用于作业名称匹配的可选正则表达式。 默认为 None。 默认值: None
|
|
status
|
按作业状态筛选可选。 默认为 None。 默认值: None
|
|
created_after
|
可选筛选器,按给定时间后创建的作业。 默认为 None。 默认值: None
|
|
job_type
|
默认值: None
|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
created_before
|
默认值: None
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
与搜索条件匹配的作业。 |
list_jobs_paginated
list_jobs_paginated(*, name_match: str | None = None, job_type: str | None = None, provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, skip: int | None = 0, top: int | None = 100, orderby_property: str | None = None, is_asc: bool | None = True) -> ItemPaged[JobDetails]
仅限关键字的参数
| 名称 | 说明 |
|---|---|
|
name_match
|
默认值: None
|
|
job_type
|
默认值: None
|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
status
|
默认值: None
|
|
created_after
|
默认值: None
|
|
created_before
|
默认值: None
|
|
skip
|
默认值: 0
|
|
top
|
默认值: 100
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
list_session_jobs
获取与会话关联的所有作业。
list_session_jobs(session_id: str, name_match: str | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, orderby_property: str | None = None, is_asc: bool | None = True) -> List[Job]
参数
| 名称 | 说明 |
|---|---|
|
session_id
必需
|
会话的 ID。 |
|
name_match
|
默认值: None
|
|
status
|
默认值: None
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
与会话关联的所有作业的列表。 |
list_session_jobs_paginated
获取与会话关联的所有作业。
list_session_jobs_paginated(*, session_id: str, name_match: str | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, skip: int | None = 0, top: int | None = 100, orderby_property: str | None = None, is_asc: bool | None = True) -> ItemPaged[JobDetails]
参数
| 名称 | 说明 |
|---|---|
|
session_id
必需
|
会话的 ID。 |
仅限关键字的参数
| 名称 | 说明 |
|---|---|
|
session_id
必需
|
|
|
name_match
|
默认值: None
|
|
status
|
默认值: None
|
|
skip
|
默认值: 0
|
|
top
|
默认值: 100
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
与会话关联的所有作业的列表。 |
list_sessions
获取给定工作区中的会话列表。
list_sessions(provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, orderby_property: str | None = None, is_asc: bool | None = True) -> List[Session]
参数
| 名称 | 说明 |
|---|---|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
status
|
默认值: None
|
|
created_after
|
默认值: None
|
|
created_before
|
默认值: None
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
工作区会话列表。 |
list_sessions_paginated
获取给定工作区中的会话列表。
list_sessions_paginated(*, provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, skip: int | None = 0, top: int | None = 100, orderby_property: str | None = None, is_asc: bool | None = True) -> ItemPaged[SessionDetails]
仅限关键字的参数
| 名称 | 说明 |
|---|---|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
status
|
默认值: None
|
|
created_after
|
默认值: None
|
|
created_before
|
默认值: None
|
|
skip
|
默认值: 0
|
|
top
|
默认值: 100
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
工作区会话列表。 |
list_top_level_items
获取给定工作区的顶级项列表,这些项可以是独立作业(不与会话关联的作业)或会话(可以包含作业)。
list_top_level_items(name_match: str | None = None, item_type: list[str] | None = None, job_type: list[str] | None = None, provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, orderby_property: str | None = None, is_asc: bool | None = True) -> List[Job | Session]
参数
| 名称 | 说明 |
|---|---|
|
name_match
|
默认值: None
|
|
item_type
|
默认值: None
|
|
job_type
|
默认值: None
|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
status
|
默认值: None
|
|
created_after
|
默认值: None
|
|
created_before
|
默认值: None
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
返回
| 类型 | 说明 |
|---|---|
|
工作区顶级作业或会话列表。 |
list_top_level_items_paginated
list_top_level_items_paginated(*, name_match: str | None = None, item_type: str | None = None, job_type: str | None = None, provider: list[str] | None = None, target: list[str] | None = None, status: list[azure.quantum._client.models._enums.JobStatus] | None = None, created_after: datetime | None = None, created_before: datetime | None = None, skip: int | None = 0, top: int | None = 100, orderby_property: str | None = None, is_asc: bool | None = True) -> ItemPaged[ItemDetails]
仅限关键字的参数
| 名称 | 说明 |
|---|---|
|
name_match
|
默认值: None
|
|
item_type
|
默认值: None
|
|
job_type
|
默认值: None
|
|
provider
|
默认值: None
|
|
target
|
默认值: None
|
|
status
|
默认值: None
|
|
created_after
|
默认值: None
|
|
created_before
|
默认值: None
|
|
skip
|
默认值: 0
|
|
top
|
默认值: 100
|
|
orderby_property
|
默认值: None
|
|
is_asc
|
默认值: True
|
open_session
打开/创建给定工作区中的会话。
open_session(session: Session) -> None
参数
| 名称 | 说明 |
|---|---|
|
session
必需
|
要打开/创建的会话。 |
返回
| 类型 | 说明 |
|---|---|
|
新的打开的 Azure Quantum 会话。 |
refresh_session
使用工作区中的最新信息更新会话详细信息。
refresh_session(session: Session) -> None
参数
| 名称 | 说明 |
|---|---|
|
session
必需
|
要刷新的会话。 |
submit_job
提交要在工作区中处理的作业。
submit_job(job: Job) -> Job
参数
| 名称 | 说明 |
|---|---|
|
job
必需
|
要提交的作业。 |
返回
| 类型 | 说明 |
|---|---|
|
已提交的 Azure Quantum 作业,状态已更新。 |