Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Good afternoon. I'm trying to create a new Datasource using PHP. When sending a request, an error is returned to me.
Error:
( [error] => Array (
[code] => DM_GWPipeline_UnknownError
[pbi.error] => Array(
[code] => DM_GWPipeline_UnknownError
[parameters] => Array()
[details] => Array(
[0] => Array(
[code] => DM_ErrorDetailNameCode_UnderlyingErrorMessage
[detail] => Array(
[type] => 1
[value] => Неправильный параметр.
)
)
[1] => Array(
[code] => DM_ErrorDetailNameCode_UnderlyingHResult
[detail] => Array(
[type] => 1
[value] => -2146893785
)
)
)
[exceptionCulprit] => 1
)
)
)
PHP:
$gateway = $this->get($gateway_id);
$exponent = $gateway['publicKey']['exponent'];
$modulus = $gateway['publicKey']['modulus'];
$credentialsData = json_encode([
"credentialData" => [
[
"name" => "username",
"value" => $db_username
],
[
"name" => "password",
"value" => $db_password
]
]
]);
$rsa = new RSA();
$rsa->loadKey([
'e' => new BigInteger(base64_decode($exponent), 256),
'n' => new BigInteger(base64_decode($modulus), 256)
]);
echo $rsa->getPublicKey(); // returns -----BEGIN PUBLIC KEY----- ...................... -----END PUBLIC KEY-----
$rsa->setEncryptionMode(RSA::ENCRYPTION_OAEP);
$ciphertext = $rsa->encrypt($credentialsData);
$params = [
"dataSourceType" => $db_type,
"connectionDetails" => json_encode([
"server" => $db_server,
"database" => $db_name
]),
"dataSourceName" => $db_name,
"onPremGatewayRequired" => true,
"credentialDetails" => [
"credentials" => base64_encode($ciphertext),
"credentialType" => "Basic",
"encryptedConnection" => "NotEncrypted",
"privacyLevel" => "None",
"encryptionAlgorithm" => "RSA-OAEP"
]
];
$this->request->execute('gateways/'.$gateway_id.'/datasources', $params, PowerBiRequest::METHOD_POST_JSON);
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |