export async function getStorageAccountforCloudShell()

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,
    };
}