Python 获取Azure Datafactory管道运行详细信息
凭证=ServicePrincipalCredentials(客户端id=客户端id,机密=机密,租户=租户) adf_client=DataFactoryManagementClient(凭据、订阅id) run_response=adf_client.pipelines.create_run(rg_name,df_name,pipeline_nm,{}) #监视管道运行 pipeline\u run=adf\u client.pipeline\u runs.get(rg\u name、df\u name、run\u response.run\u id) 而(管道运行状态=='InProgress'或管道运行状态=='Queued'): #打印(“[INFO]:管道运行状态:{}”。格式(管道运行状态)) 时间。睡眠(状态检查时间) pipeline\u run=adf\u client.pipeline\u runs.get(rg\u name、df\u name、run\u response.run\u id) 打印(“[INFO]:管道运行状态:{}”。格式(管道运行状态)) 打印(“”)Python 获取Azure Datafactory管道运行详细信息,python,azure,Python,Azure,凭证=ServicePrincipalCredentials(客户端id=客户端id,机密=机密,租户=租户) adf_client=DataFactoryManagementClient(凭据、订阅id) run_response=adf_client.pipelines.create_run(rg_name,df_name,pipeline_nm,{}) #监视管道运行 pipeline\u run=adf\u client.pipeline\u runs.get(rg\u name、df\
活动运行与管道运行不同,如果要获取管道运行详细信息,请执行以下步骤 一, 二,。及 3.导航到门户中的数据工厂->
访问控制(IAM)
->添加角色分配
->将您的应用程序添加为角色,例如参与者
,详细信息如下
4.安装软件包
pip install azure-mgmt-resource
pip install azure-mgmt-datafactory
5.然后使用下面的代码根据输入的过滤条件查询工厂中的管道运行情况
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.datafactory import DataFactoryManagementClient
from azure.mgmt.datafactory.models import *
from datetime import datetime, timedelta
subscription_id = "<subscription-id>"
rg_name = "<resource-group-name>"
df_name = "<datafactory-name>"
tenant_id = "<tenant-id>"
client_id = "<application-id (i.e client id)>"
client_secret = "<client-secret>"
credentials = ServicePrincipalCredentials(client_id=client_id, secret=client_secret, tenant=tenant_id)
adf_client = DataFactoryManagementClient(credentials, subscription_id)
filter_params = RunFilterParameters(last_updated_after=datetime.now() - timedelta(1), last_updated_before=datetime.now() + timedelta(1))
pipeline_runs = adf_client.pipeline_runs.query_by_factory(resource_group_name=rg_name, factory_name=df_name, filter_parameters = filter_params)
for pipeline_run in pipeline_runs.value:
print(pipeline_run)
能否提供您正在运行的代码的示例?查看实际代码以了解您提到的方法调用的上下文将很有帮助。当我尝试运行时:list(adf_client.activity_runs.list_by_pipeline_run(rg_name,df_name,pipeline_run.run_id,datetime.now()-timedelta(1),datetime.now()+timedelta(1)))Im获取错误“ActivityRunOperations”对象没有属性“list\u by\u pipeline\u run”。我如何解决这个问题。你能按照我的完整步骤来做吗?您能将您的问题编辑为可读吗?您好,如果有帮助,请接受它作为答案,只需单击选项,如“非常感谢”。-)如何修改此选项以获得触发运行?
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.datafactory import DataFactoryManagementClient
from azure.mgmt.datafactory.models import *
from datetime import datetime, timedelta
subscription_id = "<subscription-id>"
rg_name = "<resource-group-name>"
df_name = "<datafactory-name>"
tenant_id = "<tenant-id>"
client_id = "<application-id (i.e client id)>"
client_secret = "<client-secret>"
credentials = ServicePrincipalCredentials(client_id=client_id, secret=client_secret, tenant=tenant_id)
adf_client = DataFactoryManagementClient(credentials, subscription_id)
filter_params = RunFilterParameters(last_updated_after=datetime.now() - timedelta(1), last_updated_before=datetime.now() + timedelta(1))
pipeline_runs = adf_client.pipeline_runs.query_by_factory(resource_group_name=rg_name, factory_name=df_name, filter_parameters = filter_params)
for pipeline_run in pipeline_runs.value:
print(pipeline_run)
specific_pipeline_run = adf_client.pipeline_runs.get(resource_group_name=rg_name,factory_name=df_name,run_id= "xxxxxxxx")
print(specific_pipeline_run)