问题标签 [azure-sdk-for-java]
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.
java - 如何使用 Azure SDK for Java v12 删除单个 Blob 文件?
如何使用适用于 Java 的 Azure SDK v12 删除单个 Blob 文件?这是我到目前为止所尝试的。但它不起作用。
顺便说一句,示例代码是 Kotlin:
我们正在使用库“azure-storage-blob-12.4.0.jar”
azure - 上传后 Azure 存储 zip 文件损坏(使用适用于 Java 的 Azure 存储 Blob 客户端库)
问题:从数据生成的 csv 文件的 zip 文件在上传到 Azure Blob 存储后似乎已损坏。
上传前的 zip 文件如下所示:
在上传期间,我使用适用于 Java 的 Azure Storage Blob 客户端库(v. 12.7.0,但我也尝试过以前的版本)。这是我使用的代码(类似于SDK 自述文件中提供的示例):
我得到上传的文件:
当我直接从存储资源管理器下载文件时,文件已经损坏。我做错了什么?
azure - 如何使用 ARM 模板或 SDK 使用 java 创建 Microsoft.SshKey
我想为创建 SSH 密钥创建服务,因为输出必须检索 pem 文件内容。
java - 使用具有有限堆的 azure-sdk-for-java 上传大文件
我们正在开发需要使用 Azure 作为文件内容存储的文档微服务。Azure Block Blob 似乎是一个合理的选择。文档服务的堆限制为 512MB ( -Xmx512m
)。
我没有成功地使用有限的堆来上传流文件azure-storage-blob:12.10.0-beta.1
(也在 上测试过12.9.0
)。
尝试了以下方法:
- 使用从文档中复制粘贴
BlockBlobClient
结果: java.io.IOException: mark/reset not supported
- SDK 尝试使用标记/重置,即使文件输入流报告此功能不受支持。
- 添加
BufferedInputStream
以减轻标记/重置问题(根据建议):
结果: java.lang.OutOfMemoryError: Java heap space
。我假设 SDK 试图将所有 1.17GB 的文件内容加载到内存中。
- 替换
BlockBlobClient
和BlobClient
删除堆大小限制 (-Xmx512m
):
结果:使用了 1.5GB 的堆内存,所有文件内容都加载到内存中 + 在 Reactor 一侧进行了一些缓冲
- 通过以下方式切换到流式传输
BlobOutputStream
:
结果:文件在上传过程中损坏。Azure 门户网站显示 1.09GB 而不是预期的 1.17GB。从 Azure Web 门户手动下载文件可确认文件内容在上传期间已损坏。内存占用显着减少,但文件损坏是个大问题。
问题:无法提供内存占用小的有效上传/下载解决方案
任何帮助将不胜感激!
spring-boot - 在 Spring Boot 应用程序中从 Azure Key Vault 检索私钥
我在 Azure Key Vault 中有一个 .pfx 证书。我需要从中检索私钥以解密我的 Spring Boot 应用程序中的字符串值。
我已经使用 azure-spring-boot-starter-keyvault-certificates 库将证书加载到 java 密钥库,这似乎工作正常。
我不明白的是如何检索私钥部分。我做错了什么的任何线索?
在我的机器上使用相同的证书进行测试的工作方式如下:
azure-spring-boot - SDK for java 中的服务主体 (SPN) 用法,用于访问 Azure 存储
我是 Azure SDK for Java 的新手。到目前为止,我找不到关于如何:
- 要么:直接使用 SPN 凭据
- 或:使用 SPN 创建 SAS
访问 Azure 存储 (blob)。
BlobServiceClientBuilder
接受:
credential(StorageSharedKeyCredential credential)
- 仅适用于 Azure 存储中的实际密钥(目前不适合我 - 因为我需要使用 SPN)credential(TokenCredential credential)
- 不知道如何使用它;有关系ClientSecretCredential
吗?如果是 - 我如何将它们用于 SPNcredential(AzureSasCredential credential)
- 看起来很有希望,但对于我的 SPN,我找不到任何关于如何首先创建 SAS 的提示。
提前感谢您的支持:)
azure-storage - 持久化 Azure Blob 存储租约 ID 的设计模式?
使用 Azure 存储 Java SDK v12 并寻找最佳方法来持久化获取的leaseIds 以用于 blob 上的租约。
将leaseId存储在blob标签中?Blob 元数据?存放在桌子上?每个用户的存储队列,我可以在其中推送/弹出锁定到 blob 路径的leaseIds?
似乎简单易行的方法是将其设置在给定 blob 的标签甚至元数据中。这也意味着额外的控制可以防止除编辑者以外的任何人在租用 blob 时对其进行更改。
存储在表格中似乎有点过头了,并且给设计增加了一些复杂性。
我们还考虑使用有限租约,只要用户坐在我们 Web 应用程序的编辑屏幕上,就简单地进行异步调用来更新,但这会导致对 azure 存储的额外调用(至少每 60 秒,如果我们想保持租用)
想法?
其他人如何在 azure storage sdk 中实施租约?
spring-boot - 哪个 azure-spring-boot-sample-active-directory 示例用于验证来自 Vue.js 应用程序的 Spring Boot 应用程序中的访问令牌?
我有一个使用@azure/msal-browser
. 我在 Azure 中有一个“应用程序注册”,用于验证用户是否是我们 AD 的一部分以及是否允许他/她访问该网页。这工作正常。用户需要先进行身份验证才能访问网页。
网页本身对 REST API 执行多个 AJAX 调用,这只不过是启用了 Spring Web 的 Spring Boot 应用程序。这个后端是不安全的......但(!)。
目标:
我想保护后端,以便只有在您拥有有效的访问令牌时才能查询 REST API。前端将在Authentication: Bearer XXX
向后端执行调用时添加令牌。
我在这里查看了示例:https ://github.com/Azure/azure-sdk-for-java/tree/master/sdk/spring/azure-spring-boot-samples我看到了 4 个选项:
- azure-spring-boot-sample-active-directory-resource-server-by-filter-stateless
- azure-spring-boot-sample-active-directory-resource-server-by-filter
- azure-spring-boot-sample-active-directory-resource-server-obo
- azure-spring-boot-sample-active-directory-resource-server
前两个似乎有点过时,因为如果我在本地运行它们,我会收到所有已弃用的警告。但是这些例子中的哪一个会涵盖我的用例?
总结:
我想要 ...
- ...在前端授权用户使用
msal-browser
- ...只需将访问令牌添加为标头即可从前端(嗯,执行 AJAX 调用的客户端浏览器)向后端执行请求
- ...后端自动验证令牌,如果有效,后端返回数据
感谢您的任何反馈!
azure - 如何在使用 Azure sdk for java 创建磁盘时设置 VM 生成
我没有找到任何设置 VM 生成的选项,默认情况下为 1,但我需要将其更改为
2。Azure 门户创建磁盘
Disk managedDisk = azure.disks().define("myosdisk") .withRegion(Region.US_EAST2) .withExistingResourceGroup("test") .withWindowsFromVhd ("https://abcd.blob.core.windows.net/vm/‘laptop_vm’.vhd") .withSizeInGB(500).withSku(DiskSkuTypes.PREMIUM_LRS).create();
java - 访问 Azure Blob 时出现此异常“无法初始化类 com.azure.storage.blob.implementation.util.ModelHelper”
如文档中所述,我正在从 Spring Boot 应用程序访问 Azure Blob,我已包含以下 JAR,
然后我使用以下代码列出 Azure blob 中的文件,
我正在访问容器内的 blob 并列出文件,
当我尝试调试时,断点在第 2 行之后运行,恰好在 .endpoint() 方法调用处。没有奇怪的堆栈跟踪(我试图包含在 try/catch 中)但没有用。我在客户端收到以下异常,