Функции Azure не удается подключиться к гибкому серверу базы данных Azure MySQL через привязку SQL.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Функции Azure не удается подключиться к гибкому серверу базы данных Azure MySQL через привязку SQL.

Сообщение Anonymous »

Итак, у меня есть функция Azure, с помощью которой я хочу выполнить запрос к моему гибкому серверу MySQL базы данных Azure. Немного подробностей о моей архитектуре. Моя база данных в настоящее время подключена к виртуальной сети и имеет подсеть MySQL. Я подключаю свою функцию к одной и той же виртуальной сети с другой подсетью. Вот мой код для моей Java-функции:

Код: Выделить всё

package org.testingfunction.azure.functions;

import com.microsoft.azure.functions.*;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.annotation.HttpTrigger;
import com.microsoft.azure.functions.sql.annotation.CommandType;
import com.microsoft.azure.functions.sql.annotation.SQLInput;

import java.util.Optional;

public class getLearningModule {
/**
* Visit https://aka.ms/sqlbindingsinput to learn how to use this input binding
*
* These tasks should be completed prior to running:
* 1. Add com.microsoft.azure.functions:azure-functions-java-library-sql to your project dependencies
* 2. Add an app setting named "SqlConnectionString" containing the connection string to use for the SQL connection
* 3. Change the bundle name in host.json to "Microsoft.Azure.Functions.ExtensionBundle" and the version to "[4.*, 5.0.0)"
*/
@FunctionName("getLearningModule")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.FUNCTION,
route = "getLearningModule")
HttpRequestMessage request,
final ExecutionContext context,
@SQLInput(
name = "result",
commandText = "SELECT * FROM learning_module LIMIT 10",
commandType = CommandType.Text,
connectionStringSetting = "sqlConnectionString")
Object[] result) {
return request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(result).build();
}
}
Затем я подключаюсь к среде функций Azure, как показано ниже:
[img]https:/ /i.sstatic.net/JDgtWP2C.png[/img]

подробнее, вот мой формат строки подключения:

Код: Выделить всё

Server=tcp:my-server.mysql.database.azure.com,1433;User ID=secret_username@my-server.mysql.database.azure.com;Password=myPassword;Database=mydbname
Однако, когда я запускаю httpTrigger, это приводит к следующей ошибке:

Отправка события исключения: сеть- При установке соединения с SQL Server произошла связанная или специфичная для экземпляра ошибка. Сервер не найден или недоступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик TCP, ошибка: 40 — не удалось открыть соединение с SQL Server)

Попытка, которую я предпринял:
  • Пытался nslookup моего имени dbhost в функции bash. Результат: разрешено имя хоста базы данных
  • Попытка напечатать строку sqlConnection. Результат: удалось напечатать строку подключения
  • Пыталась напрямую указать IP-адрес вместо имени хоста. Результат: возникла та же ошибка
Дополнительная информация:
  • < li>Язык Java
  • Уровень пакета: Premium V3
Очень надеюсь на помощь!!!!

Подробнее здесь: https://stackoverflow.com/questions/790 ... hrough-sql
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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