microsoftgraph / microsoftgraph/msgraph-sdk-python

schema.patch SynchronizationSchema : 404 No HTTP resource was found that matches the request URI

未關閉
#820 6 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

還沒有人認領這個 Issue。

dependency:metadata type:bug
主要語言
Python
星號
630
分支
96
平均合併
15 小時 20 分鐘
30 天內合併 PR
3

描述

Describe the bug

I'm trying to update one Attribut Mapping from a Synchronisation Job. For information, the provisioning job is created on template_id “gsuite”.
When I launch the schema.patch() method I have the API Error.

APIError
Code: 404
message: None
error: MainError(additional_data={}, code='UnknownError', details=None, inner_error=InnerError(additional_data={}, client_request_id='0bbde296-b67b-4dcd-a4fb-35fcd5fa98f5', date=DateTime(2024, 7, 18, 7, 14, 15, tzinfo=Timezone('UTC')), odata_type=None, request_id='c86232e3-3a57-458c-8c44-3f2874146620'), message='{"Message":"No HTTP resource was found that matches the request URI 'https://syncfabric.windowsazure.com/api/servicePrincipals(\'acc560a1-67df-4d8d-abd0-7cf74a1d7211\')/synchronization/jobs(\'gsuite.b126ececd749434c915e443764450031.8f782d8a-7b79-4417-aab7-f96538801e92\')/schema?api-version=2.0\'."}', target=None)

Expected behavior

All I do now is read the shema and then patch the shema as is without modifying it.
I expect the schema to be patched without modification.
I'll then have to update the Objects Mapping.

How to reproduce
async def patch_synchronizationSchema_case(service_principal_id: str):
    # Read Service Principal
    servicePrincipal = await client.service_principals.by_service_principal_id(service_principal_id).get()
    print(f'=================')
    print(f'app_display_name : {servicePrincipal.app_display_name}')

    # Read Job
    jobs = await client.service_principals.by_service_principal_id(service_principal_id).synchronization.jobs.get()

    if len(jobs.value) == 0:
        print(f'There is no synchronisation job')
        return
    
    job=jobs.value[0]
    synchronizationJob_id=jobs.value[0].id
    print(f'job template id : {job.template_id}')
    print(f'job id : {synchronizationJob_id}')
 
    # Read schema
    schema = await client.service_principals.by_service_principal_id(service_principal_id).synchronization.jobs.by_synchronization_job_id(synchronizationJob_id).schema.get()

    # Modifie Object Mapping
    # TODO

    # Patch schema
    await client.service_principals.by_service_principal_id(service_principal_id).synchronization.jobs.by_synchronization_job_id(synchronizationJob_id).schema.patch(schema)

asyncio.run(patch_synchronizationSchema_case(GCP_DEV2_servicePrincipal_id))
SDK Version

1.5.3

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output
Click to expand log ```
    APIError
    Code: 404
    message: None
    error: MainError(additional_data={}, code='UnknownError', details=None, inner_error=InnerError(additional_data={}, client_request_id='3006e706-78d4-4a17-bf17-0a02ff65b55c', date=DateTime(2024, 7, 18, 7, 26, 24, tzinfo=Timezone('UTC')), odata_type=None, request_id='fb6b307f-6a84-41f0-aeae-52d8b9d4cd00'), message='{"Message":"No HTTP resource was found that matches the request URI \'https://syncfabric.windowsazure.com/api/servicePrincipals(\'acc560a1-67df-4d8d-abd0-7cf74a1d7211\')/synchronization/jobs(\'gsuite.b126ececd749434c915e443764450031.8f782d8a-7b79-4417-aab7-f96538801e92\')/schema?api-version=2.0\'."}', target=None)
</details>


### Configuration

_No response_

### Other information

_No response_

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。