Android java — azure-storage-blob — blobClient.getProperties().getLastModified() — неправильное количество аргументов; оAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Android java — azure-storage-blob — blobClient.getProperties().getLastModified() — неправильное количество аргументов; о

Сообщение Гость »


Когда я пытаюсь получить дату последнего изменения Blobclient с помощью SDK хранилища BLOB-объектов Azure для Java, я получаю сообщение об ошибке «Неверное количество аргументов», в котором говорится, что ожидаемое число равно 1, хотя в документации указано, что для этого не требуется аргументы и что .getProperties имеет только необязательные аргументы.

BlobContainerClientContainerClient = новый BlobServiceClientBuilder() .connectionString(соединение) .buildClient() .getBlobContainerClient(имяконтейнера); Строка sasToken = createContainerSasToken(containerClient); BlobClient blobClient = новый BlobClientBuilder() .endpoint(конечнаяточка) .sasToken(састокен) .buildClient(); пытаться { OffsetDateTime LastModified = blobClient.getProperties().getCreationTime(); Log.i("Хранилище Azure", "Последнее изменение: " + LastModified); } catch (Исключение е) { Log.e("Хранилище Azure", "Ошибка хранилища Azure: " + e.getMessage()); } В журнале отображается следующая ошибка: «Ошибка хранилища Azure: неправильное количество аргументов; ожидалось 1, получено 0»

Я проверил, найден ли blobClient, записав его имя, и он найден, так что проблема не в этом. Я также использую последнюю версию хранилища BLOB-объектов Azure com.azure:azure-storage-blob:12.25.2.

Я также попробовал .getCreationTime(), который выдает ту же ошибку, поэтому проблема может быть в методе .getProperties.

Изменить: Я попытался добавить System.out в начале блока try, который дает результат. Кажется, что контейнер пуст, хотя в нем 4 блока blob. Уровень доступа к контейнеру является частным, но я добавил SASToken. Я попытался просто получить доступ к некоторой базовой информации о контейнере «containerClient.getBlobContainerName()» и «containerClient.getBlobContainerUrl()», который выдает одно и то же исключение: «Неверное количество аргументов; ожидалось 1, получено 0». Я могу загрузить большой двоичный объект с клиента, но не могу получить метаинформацию. Однако сегодня я попробовал тот же код и теперь получаю blobContainerName и URL-адрес, но по-прежнему ничего не получаю из цикла for, как будто контейнер пуст.

пакет com.example.azureblobstoragepropertiestest; импортировать android.app.Activity; импортировать android.os.Bundle; импортировать com.azure.storage.blob.BlobServiceClientBuilder; импортировать com.azure.storage.blob.BlobServiceClient; импортировать com.azure.storage.blob.BlobContainerClient; импортировать com.azure.storage.blob.models.BlobItem; импортировать com.azure.storage.blob.BlobClient; импортировать java.time.OffsetDateTime; публичный класс MainActivity расширяет Activity { частная статическая окончательная строка accountName = "XXXXX"; частная статическая финальная строка sasToken = "XXXXXX"; частная статическая окончательная строка имя контейнера = "XXXXX"; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); BlobServiceClientBuilder clientBuilder = новый BlobServiceClientBuilder() .endpoint("https://" + имя_аккаунта + ".blob.core.windows.net") .sasToken(sasToken); BlobServiceClient blobServiceClient = clientBuilder.buildClient(); BlobContainerClientContainerClient = blobServiceClient.getBlobContainerClient(имяконтейнера); пытаться { System.out.println("Имя контейнера: " +ContainerClient.getBlobContainerName()); System.out.println("URI контейнера: " +ContainerClient.getBlobContainerUrl()); System.out.println("Blobs в контейнере:"); for (BlobItem blobItem:ContainerClient.listBlobs()) { BlobClient blobClient =ContainerClient.getBlobClient(blobItem.getName()); OffsetDateTime LastModified = blobClient.getProperties().getLastModified(); System.out.println("Blob: " + blobItem.getName() + ", Последнее изменение: " + LastModified); } } catch (Исключение е) { System.err.println("Ошибка хранилища Azure: " + e.getMessage()); } } } Я не добавил часть загрузки, так как она связана с другим проектом, которым я не могу поделиться здесь, но код, представленный здесь, такой же, как и в этом проекте.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android java — azure-storage-blob — blobClient.getProperties().getLastModified() — неправильное количество аргументов; о
    Гость » » в форуме JAVA
    0 Ответы
    67 Просмотры
    Последнее сообщение Гость
  • Проверьте, является ли Azure Blob Directory от azure.storage.blob.containerclient.list_blobs
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • MissingMethodException для BlobClient.UploadAsync в Azure.Storage.Blobs SDK
    Anonymous » » в форуме C#
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • MissingMethodException для BlobClient.UploadAsync в Azure.Storage.Blobs SDK
    Гость » » в форуме C#
    0 Ответы
    44 Просмотры
    Последнее сообщение Гость
  • MissingMethodException для BlobClient.UploadAsync в Azure.Storage.Blobs SDK
    Anonymous » » в форуме C#
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»