Как добавить строку динамического соединения в фабрику данных Azure - PullRequest
0 голосов
/ 21 марта 2019

Может ли кто-нибудь помочь мне в достижении динамических соединений с базами данных с помощью фабрики данных Azure?

1 Ответ

0 голосов
/ 22 марта 2019

установление динамических соединений с базами данных с помощью фабрики данных Azure

На основе этого документа Параметризация связанных служб в фабрике данных Azure , теперь вы можете параметризоватьсвязанный сервис и передача динамических значений во время выполнения.

enter image description here

Поддерживается база данных Cosmos:

enter image description here

Кстати, MS рекомендует не параметризировать пароли или секреты.Вместо этого сохраните все строки подключения в хранилище ключей Azure и настройте секретное имя. Подробную информацию см. По этой ссылке .


Обновление ответа:

Что касается имени БД, конечно, вы можете его параметризовать.

Вы можете настроить динамическое имя БД при создании службы, связанной с БД cosmos.

enter image description here

Щелкните динамическое содержимое и создайте новый параметр.

enter image description here


Обновить ответ2:

Пожалуйста, обратитесь к этой функции SDK и мой рабочий код, как показано ниже:

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.datafactory import DataFactoryManagementClient
from azure.mgmt.datafactory.models import *

# Azure subscription ID
subscription_id = '***'

# This program creates this resource group. If it's an existing resource group, comment out the code that creates the resource group
rg_name = '***'

# The data factory name. It must be globally unique.
df_name = '***'

# Specify your Active Directory client ID, client secret, and tenant ID
credentials = ServicePrincipalCredentials(client_id='***',
                                          secret='***',
                                          tenant='***')
resource_client = ResourceManagementClient(credentials, subscription_id)
adf_client = DataFactoryManagementClient(credentials, subscription_id)

resource_client.resource_groups.get(rg_name)

# Create a data factory
df_resource = Factory(location='eastus')
df = adf_client.factories.get(rg_name, df_name, df_resource)
print(df)

ls_name = 'testlink1'
dbName = "<your db name>"

connection_string = 'AccountEndpoint=https://***.documents.azure.com:443/;AccountKey=***;Database='+dbName+';';

ls_cosmos_db = CosmosDbLinkedService(connection_string=connection_string)
ls = adf_client.linked_services.create_or_update(rg_name, df_name, ls_name, ls_cosmos_db)
print(ls)

Более подробную информацию, вы могли бы сослатьсяк официальному создайте пример кода связанной службы и Python SDK для управления ADF .

enter image description here

...