gpt4 book ai didi

python - 分页异步迭代器协议(protocol)不可用(适用于 Python 的 Azure SDK)

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:16 25 4
gpt4 key购买 nike

我想要实现的目标

我正在尝试使用 Python SDK 在 Azure 上自动创建订阅和资源组。

为此,我需要一个服务主体帐户(客户端 ID;客户端 key ;租户 ID),该帐户具有至少检索注册帐户以及创建订阅和资源组的权限。

<小时/>

我如何努力实现这一目标

我尝试列出注册帐户,但没有成功(是的,我正在导入 azure.mgmt.billingazure.mgmtazure.common 等)

  1. 首先我实例化客户端:

    billing_client = azure.mgmt.billing.BillingManagementClient(credentials, subscription_id)
  2. 然后我尝试用两种不同的方式打印结果:

    # A
    print(list(billing_client.enrollment_accounts.list()))

    # B
    for enrollment_account in billing_client.enrollment_accounts.list():
    print(enrollment_account)
<小时/>

我面临什么问题?

我遇到的问题是收到以下错误:

Paging async iterator protocol is not available for EnrollmentAccountPaged

其他 list() 也会发生这种情况方法,例如当我使用类似的方法检索资源组时

rm_client = ResourceManagementClient(credentials, subscription_id)
resource_groups = rm_client.resource_groups.list()

然后,我收到错误:

Paging async iterator protocol is not available for ResourceGroupPaged

<小时/>

我如何认为我的问题已解决?

我很想知道为什么会出现此错误,以及如何修复它。 Azure 中的示例代码没有以不同的方式使用方法或对象。

<小时/>

环境怎么样?

Python版本:Python 3.7

套餐:

Package Version Latest Version
PyJWT 1.6.4 1.6.4
adal 1.1.0 1.1.0
asn1crypto 0.24.0 0.24.0
azure-common 1.1.16 1.1.16
azure-mgmt 4.0.0 4.0.0
azure-mgmt-advisor 1.0.1 1.0.1
azure-mgmt-applicationinsights 0.1.1 0.1.1
azure-mgmt-authorization 0.50.0 0.50.0
azure-mgmt-batch 5.0.1 5.0.1
azure-mgmt-batchai 2.0.0 2.0.0
azure-mgmt-billing 0.2.0 0.2.0
azure-mgmt-cdn 3.0.0 3.0.0
azure-mgmt-cognitiveservices 3.0.0 3.0.0
azure-mgmt-commerce 1.0.1 1.0.1
azure-mgmt-compute 4.3.0 4.3.0
azure-mgmt-consumption 2.0.0 2.0.0
azure-mgmt-containerinstance 1.2.0 1.2.0
azure-mgmt-containerregistry 2.2.0 2.2.0
azure-mgmt-containerservice 4.2.2 4.2.2
azure-mgmt-cosmosdb 0.4.1 0.5.0
azure-mgmt-datafactory 0.6.0 0.6.0
azure-mgmt-datalake-analytics 0.6.0 0.6.0
azure-mgmt-datalake-nspkg 2.0.0 3.0.0
azure-mgmt-datalake-store 0.5.0 0.5.0
azure-mgmt-datamigration 1.0.0 2.0.0
azure-mgmt-devspaces 0.1.0 0.1.0
azure-mgmt-devtestlabs 2.2.0 2.2.0
azure-mgmt-dns 2.1.0 2.1.0
azure-mgmt-eventgrid 1.0.0 1.0.0
azure-mgmt-eventhub 2.1.0 2.1.0
azure-mgmt-hanaonazure 0.1.1 0.2.1
azure-mgmt-iotcentral 0.1.0 0.2.0
azure-mgmt-iothub 0.5.0 0.6.0
azure-mgmt-iothubprovisioningservices 0.2.0 0.2.0
azure-mgmt-keyvault 1.1.0 1.1.0
azure-mgmt-loganalytics 0.2.0 0.2.0
azure-mgmt-logic 3.0.0 3.0.0
azure-mgmt-machinelearningcompute 0.4.1 0.4.1
azure-mgmt-managementgroups 0.1.0 0.1.0
azure-mgmt-managementpartner 0.1.0 0.1.0
azure-mgmt-maps 0.1.0 0.1.0
azure-mgmt-marketplaceordering 0.1.0 0.1.0
azure-mgmt-media 1.0.0 1.0.0
azure-mgmt-monitor 0.5.2 0.5.2
azure-mgmt-msi 0.2.0 0.2.0
azure-mgmt-network 2.2.1 2.2.1
azure-mgmt-notificationhubs 2.0.0 2.0.0
azure-mgmt-nspkg 3.0.2 3.0.2
azure-mgmt-policyinsights 0.1.0 0.1.0
azure-mgmt-powerbiembedded 2.0.0 2.0.0
azure-mgmt-rdbms 1.3.0 1.3.0
azure-mgmt-recoveryservices 0.3.0 0.3.0
azure-mgmt-recoveryservicesbackup 0.3.0 0.3.0
azure-mgmt-redis 5.0.0 5.0.0
azure-mgmt-relay 0.1.0 0.1.0
azure-mgmt-reservations 0.2.1 0.3.0
azure-mgmt-resource 2.0.0 2.0.0
azure-mgmt-scheduler 2.0.0 2.0.0
azure-mgmt-search 2.0.0 2.0.0
azure-mgmt-servicebus 0.5.2 0.5.2
azure-mgmt-servicefabric 0.2.0 0.2.0
azure-mgmt-signalr 0.1.1 0.1.1
azure-mgmt-sql 0.9.1 0.9.1
azure-mgmt-storage 2.0.0 3.0.0
azure-mgmt-subscription 0.2.0 0.2.0
azure-mgmt-trafficmanager 0.50.0 0.50.0
azure-mgmt-web 0.35.0 0.40.0
azure-nspkg 3.0.2 3.0.2
certifi 2018.8.24 2018.8.24
cffi 1.11.5 1.11.5
chardet 3.0.4 3.0.4
cryptography 2.3.1 2.3.1
idna 2.7 2.7
isodate 0.6.0 0.6.0
msrest 0.6.0 0.6.0
msrestazure 0.5.0 0.5.0
oauthlib 2.1.0 2.1.0
pip 10.0.1 18.1
pycparser 2.19 2.19
python-dateutil 2.7.3 2.7.3
requests 2.19.1 2.19.1
requests-oauthlib 1.0.0 1.0.0
setuptools 39.1.0 40.4.3

最佳答案

这是一条日志警告,告诉您此包尚未准备好支持异步语法,这是事实,我们在 msrest 0.6.0 中发布了运行时的第一部分,但我们没有发布任何带有以下内容的包:尚未支持异步。

仅供引用,这只是一个警告: https://github.com/Azure/msrest-for-python/blob/master/msrest/async_paging.py#L40

它不会影响任何代码,也不会引发任何异常。仅当您尝试使用异步语法的 async for 时,您才会遇到问题(因为警告告诉您,它尚未准备好)。

当我们在今年年底开始交付异步兼容软件包时,随着越来越多的软件包准备就绪,此警告将自动消失。

如果此警告对您来说确实是个问题,您可以禁用记录器“msrest.async_paging”或将 msrest 固定为 0.5.5(在异步核心支持之前)。

如果您觉得这确实是一个大问题,请随时在我们的跟踪器上提出问题,并且根据我收到不良反馈的人数,我可能会将其更改为调试几个月。但是,一旦异步包发布,它将成为重要的反馈来源,我真的认为它值得警告https://github.com/Azure/azure-sdk-for-python/issues

感谢您的反馈!

(我在 Microsoft 拥有此代码)。

编辑:由于您不是唯一对此有疑问的人,因此我发布了删除此警告的 0.6.1。

关于python - 分页异步迭代器协议(protocol)不可用(适用于 Python 的 Azure SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52736390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com