You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用oci-python-sdk基于现有实例配置创建OCI计算实例

OCI Python SDK 基于现有实例配置创建实例实现方案

核心原理

OCI控制台的「实例配置」是预定义的实例启动模板,SDK原生提供直接调用实例配置创建实例的接口,无需手动拼接镜像、计算规格、网络配置等参数,实现效果和控制台点击「启动实例」完全一致。

实现步骤

  • 第一步:获取目标实例配置的OCID,可直接从控制台「实例配置详情页」复制,也可通过compute_client.list_instance_configurations()接口按 compartment 筛选查询
  • 第二步:构造实例启动请求,仅需指定实例配置OCID,其余参数可选,传入时会覆盖实例配置的预设值
  • 第三步:调用启动接口,可轮询实例状态直到创建完成

代码示例

import oci
import time

# 加载OCI身份配置,默认读取~/.oci/config配置文件
oci_config = oci.config.from_file()
compute_client = oci.core.ComputeClient(oci_config)

# 替换为实际的实例配置OCID、目标 compartment OCID
INSTANCE_CONFIG_OCID = "ocid1.instanceconfiguration.oc1.<region>.<unique_identifier>"
COMPARTMENT_OCID = "ocid1.compartment.oc1..<unique_identifier>"

# 构造启动请求参数
launch_params = oci.core.models.LaunchInstanceConfigurationDetails(
    instance_configuration_id=INSTANCE_CONFIG_OCID,
    compartment_id=COMPARTMENT_OCID,
    # 可选参数,不填则继承实例配置预设值
    # display_name="自定义实例名称",
    # availability_domain="Uocm:AP-SINGAPORE-1:AP-SINGAPORE-AD-1"
)

# 提交实例创建请求
response = compute_client.launch_instance_configuration(launch_params)
print(f"实例创建请求已提交,实例OCID:{response.data.id}")

# 可选:轮询实例创建状态
while True:
    instance = compute_client.get_instance(response.data.id).data
    if instance.lifecycle_state == "RUNNING":
        print("实例创建完成,已进入运行状态")
        break
    if instance.lifecycle_state == "FAILED":
        print("实例创建失败")
        break
    time.sleep(30)

注意事项

  • 实例配置的所有预设参数(包括自定义镜像、SSH密钥、安全组、存储配置等)都会被自动继承,和控制台操作效果完全一致
  • 仅当需要修改部分配置时才需要在请求参数中传入对应字段,无需修改的参数无需声明
  • 请求提交后实例进入预配置状态,等待生命周期状态变为RUNNING即可正常使用

内容的提问来源于stack exchange,提问作者Maciej Zwoliński

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:06:05