Anduin Xue
Anduin Xue

Anduin's Tech Blog

Azure


Query Kusto database with C# and get result as List<T>.

本文介绍了如何通过C#连接并查询Azure Kusto数据库的方法。首先,文章演示了如何创建Kusto连接、定义查询语句并执行查询操作,并展示了如何处理查询结果以及建议使用异步方法以提高性能。接着,文章详细说明了如何将数据从集合格式转换为DataTable格式,并利用Kusto的Ingest API将其导入到目标表中。文中通过具体的C#代码示例,分别介绍了KustoIngestService类(用于数据导入)、DataTableExtensions类(用于将对象集合转换为DataTable)以及Program类(用于演示完整的数据导入流程)。最终,文章通过一个完整的工作流展示了如何从数据准备到成功将数据导入Kusto表的全过程。--DeepSeek

C# .NET Core Azure .NET Kusto Azure Data Explorer KQL

Restore a deleted branch from Azure DevOps using it's SDK

这篇文章介绍了如何通过 Azure DevOps SDK 恢复删除的分支。文章从配置 Git 客户端开始,展示了如何安装必要的 NuGet 包以及编写代码来实现分支恢复功能。关键步骤包括使用 `GitHttpClient` 搜索推送记录、获取删除前的分支引用信息,并通过更新引用将分支重新还原。最后,文章提醒读者可以通过本地 `git fetch` 命令验证恢复结果。这种方法避免了手动操作,能够更高效地管理代码仓库的历史版本。 如果你正在寻找一种自动化的方式来恢复误删的分支,这篇文章提供了一个清晰的技术实现方案。此外,它还启发我们思考如何利用 Azure DevOps 提供的丰富 API 接口来优化日常开发流程中的其他问题。你是否也在面临类似的代码管理挑战?不妨尝试通过这种方式来解决问题,看看它能否提升你的工作效率。--DeepSeek

C# git Azure Azure DevOps SDK Git Branch Restore

Use Azure Key Vault to store connection strings for App Service.

本文介绍了如何利用 Azure Key Vault 来安全存储 Azure App Service 的连接字符串。通过将敏感信息(如数据库连接字符串)存储在 Azure Key Vault 中,可以有效避免他人直接访问这些敏感数据,从而防止意外或未经授权的操作,例如手动删除数据库等。文章详细描述了创建 Azure Key Vault、配置访问策略、存储和引用密钥的过程,并演示了如何将 Key Vault 与 App Service 集成以实现安全的环境变量管理。通过这种方法,不仅能够确保敏感信息的安全性,还能方便地与其他人员协作管理服务,而无需暴露任何 confidential 值。你是否担心敏感数据的安全?如何确保只有授权人员能够访问关键信息?--DeepSeek

Azure App Service Azure Security Key vault Environment Variables Azure Key Vault

Setup auto-renew wildcard HTTPS certificate on Azure virtual machine

本文详细介绍了如何在Azure环境下为网站配置HTTPS证书,使用Let's Encrypt和win-acme工具实现自动化的证书申请与续期。文章首先指导读者创建一个新的应用程序注册并获取必要的身份标识信息,包括订阅ID、资源组名称、目录/租户ID、应用客户端ID和应用客户端密钥。接着,文章说明了如何在Azure DNS中添加A记录,将所有子域名指向虚拟机的公共IP地址。随后,作者详细描述了通过运行win-acme工具,选择DNS验证方式,并输入之前获取的所有身份标识信息来完成证书的自动申请、验证和安装过程。最后,文章指出证书成功安装后,网站即可实现HTTPS加密访问,确保数据传输的安全性。--DeepSeek

Azure Azure DNS Windows Server HTTPS Win-ACME Certificate letsencrypt ACME

Fix Azure Media Player can't play video in iOS mobile devices

这篇文章探讨了在iOS移动设备上使用Azure Media Player播放视频时遇到的问题,并提供了一些有效的解决方法。文章指出,尽管同一网页在Android设备上能够正常播放视频,但在iOS设备上却出现了播放失败的情况。通过分析和测试,作者总结了几点可能导致问题的原因,并提出了具体的解决方案。 首先,确保播放器具有autoplay、playsinline和controls属性。其次,在配置Azure Media Player时,将nativeControlsForTouch设置为false,并避免加载广告和字幕以减少对iOS设备的不兼容性。此外,使用正确的MIME类型(如application/ vnd. ms-sstr+ xml或video/mp4)也是关键。文章还提到,避免在播放器上添加事件监听器可以显著提升iOS设备上的加载性能。 通过这些调整,作者成功解决了视频无法在iOS设备上播放的问题,并强调了针对不同平台进行适配的重要性。这篇文章不仅为遇到类似问题的开发者提供了宝贵的解决方案,也为进一步探索跨平台视频播放的技术细节提供了启发。你是否也曾经遇到过类似的问题?或者是否有其他的解决方法可以分享?--DeepSeek

Azure Media Player Azure Azure Media Service Video Playback iOS Devices Configuration Adjustments

Download any Azure Media Service video or live stream with FFmpeg.

这篇文章详细介绍了如何使用FFmpeg工具下载Azure Media Service中的视频或直播流内容,并提供了具体的操作步骤和命令示例。文章首先说明了需要先安装FFmpeg,并提供了其官方网站的下载链接。接着,文章展示了如何准备一个简单的FFmpeg命令来下载视频,并解释了如何获取Azure Media Service的平滑流媒体URL(通常以`manifest`结尾)。为了使该URL适用于下载,文章建议在URL末尾添加`(format=m3u8-aapl-v3)`以转换为m3u8格式。最后,通过替换命令中的占位符并执行,即可完成视频下载。整篇文章旨在帮助技术爱好者或开发者快速掌握这一实用技巧。你是否也在寻找一种高效的方式获取Azure Media Service的视频内容?这篇文章或许能为你提供所需的方法和灵感!--DeepSeek

Azure Media Player bash Azure Azure Media Service Download FFmpeg

EF second layer cache to enhance your SQL database performance based on Redis

文章介绍了在ASP.NET Core应用中使用Entity Framework Core进行数据库查询优化的方法,特别是通过添加二级缓存来提升性能。文章首先介绍了内存缓存的实现方法,使用了EFCoreSecondLevelCacheInterceptor库,并详细说明了如何配置和使用该库。接着,文章扩展到Redis分布式缓存的应用场景,介绍了如何安装必要的NuGet包(如EasyCaching.Redis),并展示了如何在应用程序中配置Redis缓存提供程序以替代内存缓存。最后,文章提到了如何在appsettings.json文件中添加Redis的连接信息,并通过Azure Redis Cache示例说明了如何获取必要的配置参数。整个过程无需修改业务代码即可显著提升应用性能,展示了使用Redis作为分布式缓存的优势。--DeepSeek

ASP.NET Core C# SQL Server SQL Entity Framework Core Azure Redis Caching Cache

Tips for Azure CLI script programming on bash

这篇博客详细介绍了使用Azure CLI脚本编程的实用技巧,特别是在bash环境下的具体实现方法。文章通过代码示例展示了如何自动化执行一系列常见的Azure操作,包括用户登录、选择云环境与订阅、创建资源组以及获取各种服务的连接字符串等。这些脚本不仅能够提高开发效率,还能减少手动配置的错误风险。文中还提供了一些扩展功能,如设置应用洞察和函数应用的环境变量,帮助开发者更好地管理复杂的Azure资源。通过这些示例,读者可以快速掌握如何在bash脚本中集成Azure CLI命令,并将其应用于实际项目中。文章最后留下的思考问题——“你是否已经在你的项目中尝试过类似的自动化方法?或者有其他需要优化的地方吗?”——鼓励读者进一步探索和分享自己的经验和见解。--DeepSeek

bash Azure DevOps Azure CLI Environment Variables Resource Management

Microsoft account integrated sign in via C#

这篇文章介绍了一种使用C#语言实现与微软服务器认证的方法。作者详细讲解了如何通过OAuth 2.0协议完成用户身份验证,并获取用户信息。主要内容包括:首先需要在Azure Portal中注册一个应用程序并获取应用ID和密钥;然后在代码中引入必要的NuGet包,并配置AppSettings.json文件存储相关密钥信息;接着通过实现MicrosoftService类来处理认证逻辑,其中包括获取访问令牌(AccessToken)的方法、获取用户详细信息的接口以及自定义的异常处理机制。作者还提供了完整的源代码链接供参考。--DeepSeek

ASP.NET Core Azure Microsoft OAuth Login Authentication

Install Azure CLI on Windows 10 and use it in bash

这篇文章介绍了如何在Windows 10上安装并配置Azure CLI以在Git Bash中使用。通过PowerShell脚本快速安装Azure CLI后,默认情况下无法在Bash环境中直接运行`az`命令,因为`az`实际上是一个CMD脚本文件。为了解决这个问题,可以创建一个Bash可执行文件来调用CMD脚本,从而实现在Bash中使用Azure CLI的功能。文章详细描述了如何通过简单的命令配置环境,并最终验证配置是否成功。读者可能会想:为什么Azure CLI在Windows上的Bash环境中无法直接识别`az`命令?还有哪些其他方法可以在非原生环境中运行Azure CLI命令?这些问题都值得深入探讨和实践,以进一步优化工作流程和理解跨平台工具的使用机制。--DeepSeek

bash Azure Azure CLI PowerShell Installation Bash Integration

Publish app from Azure DevOps to non-global Azure like Azure CN

这篇文章详细介绍了如何通过 Azure DevOps 将应用发布到非全球的 Azure 环境(如 Azure CN)。面对在非全球环境中无法直接找到订阅的难题,作者提供了分步解决方案:首先创建新的应用程序注册以获取应用 ID 和密钥;接着设置角色分配以确保权限正确;然后手动配置 Azure 资源管理器服务连接,并详细说明了如何输入订阅 ID、订阅名称、服务主体 ID、密钥和租户 ID 等关键信息。完成这些步骤后,用户即可在管道中使用该服务连接发布应用。这一过程不仅解决了非全球环境下的发布难题,还为用户提供了一种灵活且可靠的方式,确保应用能够顺利部署到目标环境中。你是否也遇到过类似的问题?不妨尝试按照这些步骤进行配置,看看是否能顺利完成应用的发布!--DeepSeek

Azure App Service Azure Azure DevOps DevOps Azure CN China

Use IIS or Azure App Service as a reverse proxy

这篇文章主要介绍了如何通过IIS URL Rewrite Module和Azure App Service配置反向代理服务器。文中详细讲解了在本地IIS环境中创建空网站、设置绑定以及编写web.config文件以实现反向代理功能,包括强制HTTPS和HSTS增强安全性的方法。此外,文章还说明了如何将配置部署到Azure App Service,并通过Kudu控制台启用ARR服务以确保反向代理正常工作。最后,提供了测试和验证反向代理功能的具体步骤。--DeepSeek

IIS web.config Reverse Proxy Web Azure App Service Azure