Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Can not parse request

オープン
#787 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
backend, cloud

調査の方向性

再現した ComputeClient.launch_instance 呼び出しと LaunchInstanceDetails モデルの構築から始め、次に SDK リクエストロギングを有効にして、シリアライズされたリクエストをリンク先の OCI LaunchInstance API ドキュメントと比較します。CannotParseRequest の原因となるフィールドを特定するために payload を絞り込みます。完了条件は、400 エラーなしで例が正常に起動することです。

索引モデルが issue の本文から書いたものです。

説明

SDK
import oci

config = oci.config.from_file()
compute_client = oci.core.ComputeClient(config)

compartment_id = "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

launch_details = oci.core.models.LaunchInstanceDetails(
    availability_domain="EU-FRANKFURT-1-AD-3",
    compartment_id=compartment_id,
    shape="VM.Standard.A1.Flex",
    display_name="Server",
    source_details=oci.core.models.InstanceSourceViaImageDetails(
        source_type="image",
        image_id="ocid1.image.oc1.eu-frankfurt-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ),
    create_vnic_details=oci.core.models.CreateVnicDetails(
        subnet_id="ocid1.subnet.oc1.eu-frankfurt-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        assign_public_ip=True,
        assign_private_dns_record=True
    ),
    shape_config=oci.core.models.LaunchInstanceShapeConfigDetails(
        memory_in_gbs=24,
        ocpus=4
    ),
    metadata={
        "ssh_authorized_keys": open(r"/path/to/ssh-key.pub").read().strip()
    },
    agent_config=oci.core.models.LaunchInstanceAgentConfigDetails(
        is_management_disabled=False,
        is_monitoring_disabled=False,
        plugins_config=[
            {"name": "Vulnerability Scanning", "desired_state": "DISABLED"},
            {"name": "Management Agent", "desired_state": "DISABLED"},
            {"name": "Custom Logs Monitoring", "desired_state": "ENABLED"},
            {"name": "Compute RDMA GPU Monitoring", "desired_state": "DISABLED"},
            {"name": "Compute Instance Monitoring", "desired_state": "ENABLED"},
            {"name": "Compute HPC RDMA Auto-Configuration", "desired_state": "DISABLED"},
            {"name": "Compute HPC RDMA Authentication", "desired_state": "DISABLED"},
            {"name": "Cloud Guard Workload Protection", "desired_state": "ENABLED"},
            {"name": "Block Volume Management", "desired_state": "DISABLED"},
            {"name": "Bastion", "desired_state": "DISABLED"}
        ]
    ),
    instance_options=oci.core.models.InstanceOptions(
        are_legacy_imds_endpoints_disabled=False
    ),
    availability_config=oci.core.models.LaunchInstanceAvailabilityConfigDetails(
        recovery_action="RESTORE_INSTANCE"
    )
)

response = compute_client.launch_instance(launch_details)
print("Launch initiated. Instance ID:", response.data.id)

oci.wait_until(
    compute_client,
    compute_client.get_instance(response.data.id),
    'lifecycle_state',
    'RUNNING',
    max_wait_seconds=600
)
print("Instance is now RUNNING")
input()
oci.exceptions.ServiceError: {
    'target_service': 'compute',
    'status': 400,
    'code': 'CannotParseRequest',
    'opc-request-id': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'message': 'Incorrectly formatted request. Please refer to our documentation for help.',
    'operation_name': 'launch_instance',
    'timestamp': '2025-08-13T15:29:34.585459+00:00',
    'client_version': 'Oracle-PythonSDK/2.157.1',
    'request_endpoint': 'POST https://iaas.eu-frankfurt-1.oraclecloud.com/20160918/instances',
    'logging_tips': 'Refer to https://docs.oracle.com/en-us/iaas/tools/python/latest/logging.html for ways to log request/response details.',
    'troubleshooting_tips': 'See https://docs.oracle.com/iaas/Content/API/References/apierrors.htm#apierrors_400__400_cannotparserequest and https://docs.oracle.com/iaas/api/#/en/iaas/20160918/Instance/LaunchInstance for more info.'
}
主要言語
Python
スター
474
フォーク
321
平均マージ
23分
マージ済み PR(30日)
4

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

oracle/oci-python-sdk のほかの issue

oracle/oci-python-sdk の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。