Forum Discussion
Workload Development Toolkit CRUD APIs
- 1 year ago
Hi prathmeshpawar,
Hope your doing good,
The similar issue faced by someone. You can please go through this accepted solution : Solved: Re: Workload Development Toolkit CRUD APIs - Microsoft Fabric CommunityHope this might helps you to solve the problem.
If this answers your question, please Accept it as a solution and give it a 'Kudos' so others can find it easily.
Thank you.Priyanka
Hi prathmeshpawar,
One of the method is to use OAuth 2.0 Client Credentials Flow rather than hardcoding the bearer token. With the use of a client ID, secret, and tenant ID, you can now create tokens dynamically without the need for human interaction.
Plesae refer below document it may help you on this.
OAuth 2.0 client credentials flow on the Microsoft identity platform - Microsoft identity platform | Microsoft Learn
Thank you.
Hi v-priyankata, consider the following scenario in Workload Development Toolkit
I am a end user, I logged in to Fabric and opened my worload.
Now in the above snippet I am creating Data warehouse to store the result of the operations performed in my workload. To provision DWH, I need an authentication bearer token, can it be generated by the account through which I logged in to Fabric, or else is it possible to generate PopUp Signin for authetication token generation?
below I am attaching the file of sample workload editor
please refer to handleCreateWarehouse function
const handleCreateWarehouse = async () => {
console.log(sampleItem?.workspaceId);
const workspaceID = sampleItem?.workspaceId;
const warehouseName = 'LoadFastWarehouse';
const warehouseDescription = 'LoadFast Warehouse for testing';
const payload = {
type: 'Warehouse',
displayName: warehouseName,
description: warehouseDescription,
creationPayload: {
defaultCollation: 'Latin1_General_100_CI_AS_KS_WS_SC_UTF8'
}
};
try {
const bearerToken = await acquireToken();
const response = await fetch(
`https://api.fabric.microsoft.com/v1/workspaces/${workspaceID}/items`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${bearerToken}`
},
body: JSON.stringify(payload)
}
);
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
console.log('Warehouse created successfully:', data);
} catch (error) {
console.error('Error creating warehouse:', error);
}
};