Azure 数据工厂 API 连接器
Azure Data Factory API Connector
我正在尝试通过 API REST 访问应用程序,但我被困在使用 ADF 的过程中。
基本上这个过程包括 2 个步骤。
1 - 获得 session (https://horizon.akixi.com/CCS/API/v1/session)
2 - 使用用户名和密码进行身份验证 (https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB")。
我创建了一个链接服务(休息)并将基础 URL 设置为 (https://horizon.akixi.com/CCS/API/v1/session)
身份验证匿名。
然后我创建了一个数据集来指向这个 API 最后我创建了一个“复制数据”并尝试在附加 Header 上设置身份验证的详细信息,但它不起作用,我收到错误 405。
基本上我可以使用 Powershell 运行 下面的脚本,它按预期工作,但需要在 ADF 上使用它。
Powershell中的脚本就是这个
$user = "xxxxxx@mail.com"
$pass = "123456789"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$pass)))
#Get Session
$url = "https://horizon.akixi.com/CCS/API/v1/session"
$response = Invoke-RestMethod -uri $url -Method Post -SessionVariable se
#Authentication
Write-Host "Authenticating" -ForegroundColor Green
$headers = @{
'Authorization' = "Basic $base64AuthInfo"
}
$headers
$url = "https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB"
$response = Invoke-RestMethod -uri $url -Headers $headers -Method Get -WebSession $se
#List Reports
$url = "https://horizon.akixi.com/CCS/API/v1/report"
$response = Invoke-RestMethod -uri $url -Method Get -WebSession $se
$response
谢谢大家
由于 3 个步骤是分开的,并且只有最后一个步骤获取数据,因此您应该将流程分解为多个活动。
前两步使用 Web Activity,
- https://horizon.akixi.com/CCS/API/v1/session
- https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB"
从网络活动中提取会话变量或身份验证。传给副本activity。副本 activity 应针对
我正在尝试通过 API REST 访问应用程序,但我被困在使用 ADF 的过程中。 基本上这个过程包括 2 个步骤。 1 - 获得 session (https://horizon.akixi.com/CCS/API/v1/session) 2 - 使用用户名和密码进行身份验证 (https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB")。
我创建了一个链接服务(休息)并将基础 URL 设置为 (https://horizon.akixi.com/CCS/API/v1/session) 身份验证匿名。
然后我创建了一个数据集来指向这个 API 最后我创建了一个“复制数据”并尝试在附加 Header 上设置身份验证的详细信息,但它不起作用,我收到错误 405。
基本上我可以使用 Powershell 运行 下面的脚本,它按预期工作,但需要在 ADF 上使用它。
Powershell中的脚本就是这个
$user = "xxxxxx@mail.com"
$pass = "123456789"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$pass)))
#Get Session
$url = "https://horizon.akixi.com/CCS/API/v1/session"
$response = Invoke-RestMethod -uri $url -Method Post -SessionVariable se
#Authentication
Write-Host "Authenticating" -ForegroundColor Green
$headers = @{
'Authorization' = "Basic $base64AuthInfo"
}
$headers
$url = "https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB"
$response = Invoke-RestMethod -uri $url -Headers $headers -Method Get -WebSession $se
#List Reports
$url = "https://horizon.akixi.com/CCS/API/v1/report"
$response = Invoke-RestMethod -uri $url -Method Get -WebSession $se
$response
谢谢大家
由于 3 个步骤是分开的,并且只有最后一个步骤获取数据,因此您应该将流程分解为多个活动。
前两步使用 Web Activity,
- https://horizon.akixi.com/CCS/API/v1/session
- https://horizon.akixi.com/CCS/API/v1/login?locale=en_GB"
从网络活动中提取会话变量或身份验证。传给副本activity。副本 activity 应针对