如何在 Azure 表存储的 StorageCredentials 上使用 SAS?

2024-02-22

我使用 .NET API 在给定表上创建 SAS:

        var tablePolicy = new SharedAccessTablePolicy()
        {
            SharedAccessExpiryTime = DateTime.Now.Add(TimeSpan.FromHours(2)),
            Permissions = SharedAccessTablePermissions.Query
        };
        var permissions = new TablePermissions();

        permissions.SharedAccessPolicies.Add("myPolicy", tablePolicy);

        var credentials = new StorageCredentials(
            "#my account here#",
            "#my account secondary key here#");
        var tableClient = new CloudTableClient(
            new Uri("https://#my account here#.table.core.windows.net/"),
            credentials);
        var logTable = tableClient.GetTableReference("WADLogsTable");

        logTable.SetPermissions(permissions);

        var sas = logTable.GetSharedAccessSignature(tablePolicy, "myPolicy", null, null, null, null);

然后,我使用最后一个“sas”变量来创建凭据并执行查询:

        var credentials = new StorageCredentials(sas);
        var tableClient = new CloudTableClient(
            new Uri("#my account URI here#"),
            credentials);
        var logTable = tableClient.GetTableReference("WADLogsTable");
        var rows = logTable.ExecuteQuery(new TableQuery()).ToArray();

然后我收到 403(禁止)错误。

我做错了什么?


我相信您会收到此错误,因为您同时定义了两者SharedAccessTablePolicy and Policy Name创建 SAS 时。因此,如果您使用以下任一方法应该有效:

var sas = logTable.GetSharedAccessSignature(tablePolicy, null, null, null, null, null);

or

var sas = logTable.GetSharedAccessSignature(null, "myPolicy", null, null, null, null);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Azure 表存储的 StorageCredentials 上使用 SAS? 的相关文章

  • 如何让 MSIX 应用安装程序在每次生成/发布期间输出正确的设置?

    问题 如何获取 MSIXappinstaller在每次构建 发布期间输出正确的设置 Context 这是一个后续问题启用侧面加载后 为什么 MSIX 不会在每次应用程序运行时自动检查更新 https stackoverflow com q
  • 为什么 Azure Key Vault 安全?

    Azure Key Vault 为什么或如何安全 我需要在服务器上存储密钥 URI 客户端 ID 和客户端密钥 因此如果任何人授予对托管应用程序的服务器的访问权限 他将能够访问存储在 Key Vault 中的密钥和密钥 这意味着将它们存储在
  • 如何在部署作业期间设置 XML 转换的环境名称?

    好的 伙计们 给 Azure多级管道尝试一下 但不太幸运地使用部署作业进行 xml 转换 Update 这没有使用 Azure DevOps 中的经典部署 发布 UI 到目前为止我所做的 从构建过程中删除转换 尝试一次构建并随处部署 通过删
  • XRDP 突然无法连接到 Azure VM

    The RDP doesnt connect to the Azure Linux VM suddenly the error is Password failed error problem connecting This is the
  • Azure 流量管理器可以与 API 管理一起使用吗?

    当我将端点添加到流量管理器时 只有网站和云服务可供选择 我可以将 API 管理服务与流量管理器结合使用吗 是的 除了 Azure 网站和 Azure 云服务之外 还可以将外部终结点添加到 Azure 流量管理器配置文件中 您将需要使用 Az
  • 使用 BlobOutputStream 在 Azure 中上传 blob

    我正在尝试直接从流上传 blob 因为我不知道我决定尝试的流的长度这个答案 https stackoverflow com a 24621538 3695939 这不起作用 即使它从流中读取并且不会抛出任何异常 内容也不会上传到我的容器 我
  • Azure 网站中的 404 处理

    我在 Azure 上有一个 MVC 网站 我已经编写了一个控制器操作来代表资源 该操作应该返回 HTTP 404 但正文内容应该是一些 HTML 我在其中解释了 404 的原因 这是作为一个标准操作实现的 该操作设置Response Sta
  • Azure COSMOS DB 如何查询数组中的内容

    如何进行查询以获取文档数组 roles 中包含某些内容的文档 我想获取以下文档 其中 Trainer 是数组中的元素 enabled true profilePicture null roles Trainer Client SELECT
  • 如何检测环境是在 Azure 托管服务工作者角色中进行暂存还是生产?

    我在托管服务中担任辅助角色 工作人员每天都会发送电子邮件 但在托管服务中 有 2 个环境 Staging 和 Production 所以我的工人角色每天发送电子邮件 2 次 我想知道如何检测工人是否处于停滞状态或生产状态 提前致谢 根据我的
  • 如何在本地启动Azure函数并附加调试器以通过launch.json和tasks.json动态处理?

    在 Mac 上使用 NET Core 和 Visual Studio Code 我尝试在本地托管 Azure Function 并将调试器附加到它 手动地 我可以通过启动该函数来使其工作func host start 然后按 IDE 中的调
  • Azure Functions 计时器触发器线程安全

    我想知道是否有人知道如果您在 Azure 函数上设置了 Cron 设置 如果其任务执行时间超过 5 分钟 则每 5 分钟运行一次 会发生什么情况 它备份吗 或者我应该实现一个锁定功能 以防止某些东西 例如在循环中 处理先前调用已经处理的数据
  • 本地开发的 Azure Functions 扩展包版本问题

    我有一个带有队列触发器的 Java 11 Azure 函数 该函数在部署到 Azure 时按预期工作 并正确从定义的服务总线主题中提取消息 但是 运行相同的功能locally除非我回滚版本 否则不起作用Azure Functions 绑定扩
  • 直接向订阅发送消息

    是否可以将消息直接发送到订阅队列 设想 消息失败 被丢弃到死信中 该消息已使用 defer 手动拾取 克隆 并且需要发送到它首先被发送到死信的队列 但不是主题 我可以直接向订阅者发送消息吗 我考虑过为每个订阅者创建一个单独的重试队列 处理服
  • Azure 服务总线主题请求与消息

    I need help interpreting these graphs 它有 0 订阅 这是否意味着该主题没有任何内容 查看消息图表 在过去 30 天内 没有收到或读取来自此主题的消息 如果没有向该主题写入 读取任何内容 为什么会有 3
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 在 Windows 服务和 Azure WebJob 之间利用单一代码库的方法

    我正在开发一个定时重复流程 在某些情况下将部署在本地 而在其他情况下将部署在云 Azure 中 我正在研究 Windows 服务和 Azure WebJob 鉴于我只需要重复过程作为定时部分 我正在考虑将大量逻辑放在一个库中 只是本地部署的
  • 在通用 Windows 应用程序中调用 FetchAttributesAsync 后 ApproximateMessageCount 始终为 null

    我正在制作一个小型应用程序 应列出我的 Azure 队列中的项目数量 当我在控制台应用程序中使用 FetchAttributesAsync 和 ApproximateMessageCount 时 在调用 FetchAttributesAsy
  • Azure消息队列中的消息将直接进入Poison消息队列

    希望这可以节省某人一些时间 当移动到较新的版本时 下面的代码停止工作QueueClient https learn microsoft com en us dotnet api azure storage queues queueclien
  • Azure AD AcquireToken 不适用于应用程序密码

    我正在尝试使用 NET ADAL 库验证 Azure AD 中的用户密码 这对于没有 MFA 的常规用户帐户来说效果很好 但对于激活了 MFA 的用户执行此操作时遇到了问题 当使用用户的实际密码时 我得到了AADSTS50076 Appli
  • Azure 共享计划上的 SSL?

    我有 1 个网站 1 个数据库和 1 个 SSL 托管在 azure 上 我曾经拥有 基本 托管套餐 但每个月要支付 70 美元才能获得基本设置 并且所有内容都具有最小的缩放比例 我意识到我的低流量站点不需要专用计算机 因此我尝试转向共享计

随机推荐