Когда учетные данные источника данных удаляются из текущего узла среды выполнения интеграции с полезной нагрузкой, это означает, что учетные данные, необходимые для доступа к определенному источнику данных, были удалены. Вот несколько методов, которые можно использовать для решения этой ситуации, а также примеры кода:
Метод 1: перенастроить узел среды выполнения интеграции
Вы можете перенастроить узел среды выполнения интеграции, повторно предоставив необходимые учетные данные. Это можно сделать с помощью настроек среды выполнения интеграции или файла конфигурации.
Пример (фабрика данных Azure):
from azure.identity import DefaultAzureCredential
from azure.mgmt.datafactory import DataFactoryManagementClient
# Authenticate and create the management client
credential = DefaultAzureCredential()
client = DataFactoryManagementClient(credential, "<subscription_id>")
# Retrieve the integration runtime and update the credentials
runtime = client.integration_runtime.get("<resource_group_name>", "<factory_name>", "<integration_runtime_name>")
runtime.authentication = {
"type": "Basic",
"username": "<username>",
"password": "<password>"
}
# Update the integration runtime
client.integration_runtime.create_or_update("<resource_group_name>", "<factory_name>", "<integration_runtime_name>", runtime)
Метод 2: восстановление учетных данных из резервной копии
Если у вас есть резервная копия учетных данных источника данных, вы можете восстановить их на узле среды выполнения интеграции.
Пример (SQL Server):
import pyodbc
# Restore credentials from backup
username = "<username>"
password = "<password>"
server = "<server_name>"
database = "<database_name>"
# Connect to the SQL Server
connection_string = f"DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password}"
cnxn = pyodbc.connect(connection_string)
# Use the connection for further operations
# ...
Метод 3. Воссоздайте узел среды выполнения интеграции.
Если учетные данные невозможно восстановить, возможно, вам придется заново создать узел среды выполнения интеграции с нуля. Это включает в себя настройку нового узла среды выполнения интеграции с необходимыми учетными данными.
Пример (клей AWS):
import boto3
# Recreate the integration runtime node
glue = boto3.client("glue", region_name="<region_name>")
response = glue.create_dev_endpoint(
EndpointName="<endpoint_name>",
RoleArn="<role_arn>",
SecurityGroupIds=["<security_group_id>"],
SubnetId="<subnet_id>",
PublicKey="<public_key>",
PublicKeyType="SSH"
)
# Use the new integration runtime node for further operations
# ...