问题标签 [azure-sas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Azure SAS 令牌不适用于 Azure.Storage.Blobs BlobServiceClient
我正在使用Azure.Storage.Blobs v12.1.0
图书馆。我正在使用带有 Azure 服务主体凭据的用户委托生成 Blob 级 SAS 令牌,并尝试使用生成的 SAS 令牌上传 Blob。我完全按照Azure 中的这个代码示例来生成 SAS 令牌。
这是我用来创建 SAS 令牌的代码:
如果我将 SAS 令牌保存在浏览器中,但BlobServiceClient
如果我尝试上传文件或执行它现在正在工作的任何操作,则创建 SAS 令牌并且 Get Blob 工作得非常好。要检查它是否经过身份验证,我写了这行await service.GetPropertiesAsync();
抛出以下错误:
任何帮助将不胜感激。
azure - 共享访问签名 (SAS)
我正在使用共享访问签名 (SAS) 但是当谈到“允许的 IP 地址”时,当我提供一个 IP 地址时,我无法使用该 SAS 访问 SA。我试过没有IP地址它可以工作
c# - 如何在 C# 中使用服务主体(clientId 和 clientSecret)为 Azure Data Lake Store(Gen-2)创建 SAS 令牌?
我有 Data Lake Store (Gen-2) 的 clientId 和 clientSecret,我正在寻找一种使用 C# 以编程方式为其创建 SAS 令牌的方法。我浏览了文档,但没有找到创建 SAS 令牌的方法。任何指导将不胜感激。谢谢。
正如 Md Farid Uddin Kiron 所建议的,我使用了这段代码但没有成功:
它给了我状态 400 错误。
android - 改造上传将表单数据存储在上传文件中,破坏它
我正在使用 Retrofit 2 通过 Azure 的 REST API 将音频文件上传到 Azure blob 存储服务。
上传似乎可以正常工作,但存储在 Azure blob 容器中的文件已损坏,因为它包含的音频数据以及似乎是 HTTP 标头的内容。例如,这些是一个上传文件的内容:
我究竟做错了什么?
我的上传功能如下所示:
我的Retrofit界面界面是这样的:
(它使用@URL,因为我使用的是 Azure SAS,动态 URL 和身份验证嵌入在 URL 中作为一系列查询字符串,而且效果很好,顺便说一句,对于任何偶然发现此问题的人来说,这是一个简洁的提示,因为它会阻止 Retrofit 对 URL 和查询进行编码。)
我的 OKHttp 客户端看起来像这样,添加了一些 Azure 要求的标头:
如果我使用简单的 RequestBody 而不是多部分表单,我仍然会损坏音频文件,尽管音频文件中的标头较少。
我已经看了很长时间,我不知道这是否是我在 Retrofit 中做错的事情,Azure 是否需要不同的标头,或者 Azure 是否根本不喜欢多部分表单数据。
谢谢
约翰
azure - 如何将 Azure blob 文件下载到下载文件夹中,而不是在浏览器中
我想在页面中放置一个按钮,当用户单击该按钮时,我想将 azure blob 下载到下载文件夹中。
我生成 blob 链接 url:
var downloadLink = blobService.getUrl('mycontainer', 'myblob', 'SAS_TOKEN');
获得此网址后,我将使用此解决方案下载:
/li>
我在 S3 中使用了相同的方法,文件可以在同一个浏览器中下载到下载文件夹中,但是对于 Azure,当我使用此解决方案时,它只是打开一个新选项卡并在浏览器中显示内容。
谁能帮忙看看这是为什么?如何下载文件而不是在浏览器中显示内容?
生成的网址是:
如果单击此 url,它也可以读取内容。
c# - 如何为 Azure Blob 存储中的文件夹生成共享访问签名?
我正在使用适用于 .NET 的 Azure Blob 存储客户端库 v12 在 Azure Blob 存储上生成共享访问签名。到目前为止,我想出了如何在容器和文件上生成令牌 SAS,但是,我在 Microsoft 文档中找不到如何在容器中的特定虚拟文件夹上生成 SAS。
可行吗?谢谢先进
php - 代码:403 值:此请求无权执行此操作。详细信息(如果有): AuthorizationFailure
我得到“失败:代码:403值:此请求无权执行此操作。详细信息(如果有):AuthorizationFailure此请求无权执行此操作。RequestId:a433a473-e01e-005a-2fa7-30f90a000000时间:2020 -05-23T02:12:36.6988696Z. " 错误。请在下面查看我的代码。
编辑: 从 SAS 中删除 IP 后,我得到不同的错误:HTTP 标头之一的值格式不正确。详细信息(如果有):InvalidHeaderValue HTTP 标头之一的值格式不正确。RequestId:cdb1b3c1-b01e-0078-29fd-303c15000000 时间:2020-05-23T12:28:57.6060563ZContent-Length0。
这是新的 $connectionString
c# - 我可以创建一个 SAS url 来访问 C# 中 Azure 文件共享(即不是 Blob)中目录的所有文件和文件夹吗?
如何获得对 Azure 文件共享中的目录具有只读或只写权限的 Sas url,以访问该目录中的所有文件和子目录,但 Azure 文件共享中的其他目录或文件无法访问它?
有没有办法通过使用 REST API 或客户端库为 C# 中的目录创建 sasToken?在 Microsoft 文档(https://docs.microsoft.com/en-us/azure/storage/files/storage-files-faq)中,他们说可以通过使用 REST API 或客户端库来创建共享访问签名,通过指定共享中文件夹的只读或只写权限。
任何建议这是如何工作的?
python - 如何在 Python 中生成 Azure blob SAS URL?
我正在尝试使用该azure-storage-blob
包即时生成 blob SAS URL。此解决方案仅在您拥有现已弃用的azure-storage
软件包时才有效,该软件包无法再安装。
我需要一种方法来模仿BlockBlobService.generate_blob_shared_access_signature
生成 blob SAS URL 的行为,如下所示:
如果您有已弃用的软件包,则上述解决方案有效,但我需要一个不需要它的解决方案。
azure - Azure 存储帐户:Blob 服务 (SAS) 连接检查失败
我们在 Azure 上创建了一个新的存储帐户。而且,当我们执行连接检查时,它显示 Blob 服务 (SAS) 端点不可访问,并显示消息“此存储帐户不允许公共访问”。状态码是 409。
Storage Account 已从 V1 升级到 General-Purpose V2。是不是导致了这个问题?
此外,“共享访问签名”中的“生成 SAS 和连接字符串”按钮被禁用并显示为灰色。
我们如何创建和启用这个端点?到目前为止,我的搜索并未指向通过门户创建/启用它的任何解决方案。是否只能通过 REST API?
Blob 服务 (SRP) 检查,共享访问签名检查成功。没有私有端点,创建防火墙并且允许从“所有网络”访问。
使用带有 API 的存储帐户密钥从客户端访问 blob 当前失败,错误代码为 403。
此外,我们成功地从与存储帐户的“连接字符串”连接的“Microsoft Azure 存储资源管理器”中获取 blob 详细信息。
额外细节 :
我还可以看到“Blob 服务(Azure AD)”端点不可访问,但“队列服务(Azure AD)端点是。