我正在尝试使用 azure-mgmt-datafactory
SDK 以编程方式更新数据集。我能够连接到 DataFactory、列出数据集并将其更新为 adf_publish/live 模式。不过,我有兴趣先连接到我的 GIT 分支并更新。下面是示例代码
from azure.identity import ClientSecretCredential
from azure.mgmt.datafactory import DataFactoryManagementClient
from azure.mgmt.datafactory.models import *
import time
subscription_id = 'xxxxx'
credentials = ClientSecretCredential(
tenant_id='xxxx',
client_id='xxxx',
client_secret='xxxx'
)
adf_client = DataFactoryManagementClient(credentials, subscription_id)
# How to connect to my branch?
response = adf_client.datasets.get('xxxxxx',
'adf-xxx',
'DS_DEV_OP_XXX')
# This is giving the dataset not from my branch
print(response.as_dict())
您能否告诉我如何连接到我的 GIT 分支?
提前致谢。
最佳答案
选项1:
没有直接方法可以连接到 Azure-mgmt-datafactory SDK 中的特定 Git 分支。但是,您可以使用数据集类的 get 方法从数据工厂获取数据集。资源组名称、数据工厂名称和数据集名称是 get 方法所需的三个参数。 您正在代码中使用 get 方法从数据工厂 adf-xxx 检索数据集 DS DEV OP XXX。数据集的最新版本(可能不是来自您的 Git 分支)是使用 get 方法获取的。您必须首先 checkout 本地存储库中的分支,以便从特定 Git 分支检索数据集,然后必须访问数据工厂。
选项:2
我们将采用 Azure DevOps。如果您使用 GitHub,过程将相同。
转到Azure数据工厂工作室->管理->Git配置->配置
选择存储库类型:Azure DevOps Git、Azure Active Directory:“AAD 名称”
提供所有必需的详细信息,例如项目名称、存储库名称、分支等。
现在我们可以检查所有数据,如数据集、数据流、linkedService 等。 转到 Azure 数据工厂工作室。选择“作者”。
- 现在我们看到默认选择“dev”分支。
- 如果我们在功能分支中进行新的开发。单击“新分支”。我们可以通过这种方式挽救我们不完整的发展。重要的是要记住,为了在测试管道后将代码返回到“dev”分支,我们必须“创建拉取请求”。
- 我们的修改都可以“发布”。这样,新的修改将变为“实时”,并且“dev”分支中的管道将被推送到“adfpublishdev”分支中。
关于python-3.x - 用于 DataFactory 的 Azure Python SDK 指向特定的 GIT 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75579876/