在 Java SDK 中模拟 Azure 存储 Blob
Posted
技术标签:
【中文标题】在 Java SDK 中模拟 Azure 存储 Blob【英文标题】:Mock Azure Storage Blob in java SDK 【发布时间】:2021-11-08 13:03:23 【问题描述】:谁能指导我如何在 Java SDK 中模拟 azure Blob Storage。
我想模拟连接字符串、SAS 令牌、端点、容器名称。如果所有这些都被模拟了,那么模拟 BlobClient 就很容易了。
参考代码是-
公共 BlobServiceClient blobServiceClient() return new BlobServiceClientBuilder().connectionString("TESTING STRING").buildClient();
【问题讨论】:
Azurite emulator 可以替代您的情况吗? 请检查是否有帮助:azuresdkdocs.blob.core.windows.net/$web/java/azure-storage-blob/… 【参考方案1】:要解决此问题,您可以使用它们各自的变量将连接字符串、SAS 令牌、端点、ContainerName 的值保留在同一项目下的文件中。 您可以通过在代码中传递上述对象来使用以下语句模拟 blobClient。
BlobClient blobClient = new BlobClientBuilder()
.endpoint("<your-storage-account-url>")
.sasToken("<your-sasToken>")
.containerName("mycontainer")
.blobName("myblob")
.buildClient();
或
// Only one "?" is needed here. If the sastoken starts with "?", please removing one "?".
BlobClient blobClient = new BlobClientBuilder()
.endpoint("<your-storage-account-url>" + "/" + "mycontainer" + "/" + "myblob" + "?" + "<your-sasToken>")
.buildClient();
参考:https://docs.microsoft.com/en-us/java/api/overview/azure/storage-blob-readme?view=azure-java-stable
【讨论】:
以上是关于在 Java SDK 中模拟 Azure 存储 Blob的主要内容,如果未能解决你的问题,请参考以下文章
Blob 存储 java sdk 由 azure AD 授权
Azure Storage Java API:检查存储帐户是不是支持安全传输或不使用 java SDK
未从 blob 上的 azure java sdk 收到元数据字段