获取可用于 Azure Batch 批处理帐户的应用程序包列表
Get list of application packages available for a batch account of Azure Batch
我正在制作一个可以批量启动的 python 应用程序。
我想通过用户输入创建一个池。
为简单起见,我只将批处理帐户中存在的所有应用程序添加到池中。
我无法获得可用应用程序包的列表。
这是代码的一部分:
import azure.batch.batch_service_client as batch
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id='xxxxx',
secret='xxxxx',
tenant='xxxx',
resource="https://batch.core.windows.net/"
)
batch_client = batch.BatchServiceClient(
credentials,
base_url=self.AppData['CloudSettings'][0]['BatchAccountURL'])
# Get list of applications
batchApps = batch_client.application.list()
我可以创建一个池,所以凭据很好并且有应用程序但返回的列表是空的。
有人可以帮我解决这个问题吗?
谢谢,
圭多
更新:
我试过了:
import azure.batch.batch_service_client as batch
batchApps = batch.ApplicationOperations.list(batch_client)
和
import azure.batch.operations as batch_operations
batchApps = batch_operations.ApplicationOperations.list(batch_client)
但它们似乎不起作用。 batchApps 始终为空。
我不认为这是身份验证问题,否则我会收到错误消息。
此时我想知道它是否只是 python SDK 中的错误?
我使用的SDK版本是:
azure.batch: 4.1.3
蔚蓝:4.0.0
这是空 batchApps var 的屏幕截图:
这是您正在寻找的link吗:
在这里了解应用程序包的概念:https://docs.microsoft.com/en-us/azure/batch/batch-application-packages
因为它的 python SDK 在此处运行:https://docs.microsoft.com/en-us/python/api/azure-batch/azure.batch.operations.applicationoperations?view=azure-python
希望这对您有所帮助。
我最近没有尝试使用 Azure Python SDK,但我解决这个问题的方法是使用 Azure REST API:
https://docs.microsoft.com/en-us/rest/api/batchservice/application/list
为了获得授权,我必须创建一个应用程序并授予它访问 Batch 服务的权限,并且我通过以下请求以编程方式生成了令牌:
data = {'grant_type': 'client_credentials',
'client_id': clientId,
'client_secret': clientSecret,
'resource': 'https://batch.core.windows.net/'}
postReply = requests.post('https://login.microsoftonline.com/' + tenantId + '/oauth2/token', data)
我正在制作一个可以批量启动的 python 应用程序。 我想通过用户输入创建一个池。 为简单起见,我只将批处理帐户中存在的所有应用程序添加到池中。 我无法获得可用应用程序包的列表。 这是代码的一部分:
import azure.batch.batch_service_client as batch
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id='xxxxx',
secret='xxxxx',
tenant='xxxx',
resource="https://batch.core.windows.net/"
)
batch_client = batch.BatchServiceClient(
credentials,
base_url=self.AppData['CloudSettings'][0]['BatchAccountURL'])
# Get list of applications
batchApps = batch_client.application.list()
我可以创建一个池,所以凭据很好并且有应用程序但返回的列表是空的。 有人可以帮我解决这个问题吗?
谢谢, 圭多
更新:
我试过了:
import azure.batch.batch_service_client as batch
batchApps = batch.ApplicationOperations.list(batch_client)
和
import azure.batch.operations as batch_operations
batchApps = batch_operations.ApplicationOperations.list(batch_client)
但它们似乎不起作用。 batchApps 始终为空。 我不认为这是身份验证问题,否则我会收到错误消息。 此时我想知道它是否只是 python SDK 中的错误?
我使用的SDK版本是:
azure.batch: 4.1.3
蔚蓝:4.0.0
这是空 batchApps var 的屏幕截图:
这是您正在寻找的link吗:
在这里了解应用程序包的概念:https://docs.microsoft.com/en-us/azure/batch/batch-application-packages
因为它的 python SDK 在此处运行:https://docs.microsoft.com/en-us/python/api/azure-batch/azure.batch.operations.applicationoperations?view=azure-python
希望这对您有所帮助。
我最近没有尝试使用 Azure Python SDK,但我解决这个问题的方法是使用 Azure REST API: https://docs.microsoft.com/en-us/rest/api/batchservice/application/list
为了获得授权,我必须创建一个应用程序并授予它访问 Batch 服务的权限,并且我通过以下请求以编程方式生成了令牌:
data = {'grant_type': 'client_credentials',
'client_id': clientId,
'client_secret': clientSecret,
'resource': 'https://batch.core.windows.net/'}
postReply = requests.post('https://login.microsoftonline.com/' + tenantId + '/oauth2/token', data)