Поддерживают ли экземпляры контейнера Azure (Windows) доступ к хранилищу таблиц

60
9

У меня есть экземпляр контейнера (Windows), в котором запущено приложение с начальной загрузкой, которое обращается к хранилищу таблицы Azure из CommandLineRunner с начальной загрузкой. Контейнер нормально работает локально (Docker/Win10 Pro). Базовый образ - это Windows-сервер с Powershell, затем добавлен JDK 1.8.

При развертывании в экземпляре контейнера создается исключение StorageException в момент, когда делается попытка извлечь DynamicTableEntity из таблицы. Соединение с учетной записью хранения и таблицей кажется успешным, но операция получения завершается неудачно. Сервер Tomcat работает и реагирует (я перехватываю исключение и подготавливаю основную информацию об ошибках, которая будет возвращена сервлетами, управляющими запросами). Мне не удалось найти каких-либо примеров или окончательных утверждений об использовании библиотек хранилища Java Azure в контейнерах, поэтому я хотел бы знать, есть ли какие-либо ограничения или обходные пути, если это необходимо.

Ниже приведены журналы, которые указывают, где выдается исключение. Записи журнала с "CommandLineRunner" генерируются моим кодом. Строка 397 в моем приложении - это строка, в которой я пытаюсь извлечь DynamicTableEntity из таблицы (20 строк в журнале). До этого строка соединения анализируется без ошибок, а ссылка на таблицу генерируется без ошибок. Хотя это и не показано, я удовлетворен тем, что partitionKey и RowKey верны (и исключение состоит в том, что таблица не существует - но она существует и доступна, когда контейнер запускается локально). Линия 562 является точкой входа в CommandLineRunner с пружинной загрузкой.

    **2019-05-13 00:57:44.632  INFO 3060 --- [           main] a.c.n.sbtest.demo.DemoApplication        : CommandLineRunner: Engine Intialization Ready (status: 0)**
2019-05-13 00:57:44.670 INFO 3060 --- [ main] a.c.n.sbtest.demo.DemoApplication : CommandLineRunner: Deployment table <Deployments> accessible
2019-05-13 00:57:44.687 INFO 3060 --- [ main] a.c.n.sbtest.demo.DemoApplication : CommandLineRunner: User <e7c6163e-8c06-4146-b0e4-78fec93e6cce> Container accessible
2019-05-13 01:00:17.755 INFO 3060 --- [nio-8080-exec-7] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-05-13 01:00:17.755 INFO 3060 --- [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-05-13 01:00:17.768 INFO 3060 --- [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed initialization in 13 ms
com.microsoft.azure.storage.StorageException:
at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:87)
at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:209)
at com.microsoft.azure.storage.table.QueryTableOperation.performRetrieve(QueryTableOperation.java:178)
at com.microsoft.azure.storage.table.TableOperation.execute(TableOperation.java:694)
at com.microsoft.azure.storage.table.CloudTable.execute(CloudTable.java:529)
at com.microsoft.azure.storage.table.CloudTable.execute(CloudTable.java:496)
at **ai.com.neuralstudio.sbtest.demo.DemoApplication.lambda$commandLineRunner$0(DemoApplication.java:562)**
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:813)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:797)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:324)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at **ai.com.neuralstudio.sbtest.demo.DemoApplication.main(DemoApplication.java:397)**
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.net.UnknownHostException: neuralstudiotest002.table.core.windows.net
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:115)
... 19 more
2019-05-13 01:00:29.420 ERROR 3060 --- [ main] a.c.n.sbtest.demo.DemoApplication : CommandLineRunner: StorageException com.microsoft.azure.storage.StorageException: (status: -3)

Я был бы очень признателен за понимание того, что может происходить. Джек

спросил(а) 2019-05-13T23:13:00+03:00 1 год, 6 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема