in src/utils/cloudShellUtils.ts [19:42]
export async function getStorageAccountforCloudShell(cloudShell: CloudShell): Promise<IStorageAccount | undefined> {
const session: AzureSession = await cloudShell.session;
const token: IToken = await acquireToken(session);
const userSettings: IUserSettings | undefined = await getUserSettings(token.accessToken, session.environment.resourceManagerEndpointUrl);
if (!userSettings) {
TelemetryWrapper.sendError(Error("getUserSettingsFail"));
return;
}
const storageProfile: any = userSettings.storageProfile;
const storageAccountSettings: any = storageProfile.storageAccountResourceId.substr(1, storageProfile.storageAccountResourceId.length).split("/");
const storageAccountKey: string | undefined = await getStorageAccountKey(token.accessToken, storageAccountSettings[1], storageAccountSettings[3], storageAccountSettings[7]);
if (!storageAccountKey) {
TelemetryWrapper.sendError(Error("getStorageAccountKeyFail"));
return;
}
return {
resourceGroup: storageAccountSettings[3],
storageAccountName: storageAccountSettings[7],
fileShareName: storageProfile.fileShareName,
storageAccountKey,
};
}