Я пытаюсь подключиться к Azure Cosmos DB из intelliJ, используя язык Scala.
Я могу получить данные из БД, когда подключаю свой ноутбук из домашней сети. Но я получаю ошибку тайм-аута при подключении ноутбука к офисной сети. Похоже, какая-то проблема с прокси-сервером, поэтому я настроил параметры прокси в intelliJ, как показано ниже.
Я попытался проверить свое соединение со страницы настроек прокси, но выдает ошибку, как показано ниже.
Problem with connection: Request failed with status code 401
Я попытался открыть то же самое из браузера и получил ошибку ниже.
{"code":"Unauthorized","message":"Required Header authorization is missing. Ensure a valid Authorization token is passed.\r\nActivityId: af2d771f-25a3-494a-90dd-b33cd66104e2, Microsoft.Azure.Documents.Common/2.5.1"}
Ниже приведен код intelliJ, который я пробовал, и этот код работает.
mport org.apache.spark.sql.SparkSession
import com.microsoft.azure.cosmosdb.spark.schema._
import com.microsoft.azure.cosmosdb.spark._
import com.microsoft.azure.cosmosdb.spark.config.Config
import org.apache.log4j.Logger
object DeleteData {
/* Get the logger */
val log = Logger.getLogger(getClass.getName)
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().master("local").appName("DeleteData").getOrCreate()
// Configure connection to your collection
val readConfig = Config(Map(
"Endpoint" -> "https://***.documents.azure.com:443/",
"Masterkey" -> "***",
"Database" -> "ConnectivityDB",
"Collection" -> "historicData",
"ConnectionMode" -> "Gateway",
"SamplingRatio" -> "1.0",
"query_custom" -> "SELECT c.NUM from c where c._ts = 1564566440"
))
// Connect via azure-cosmosdb-spark to create Spark DataFrame
val docs = spark.read.cosmosDB(readConfig)
println("Total Count: " +docs.count())
docs.show(5)
spark.stop()
}
}
Есть ли способ обойти прокси для подключения к cosmos DB из intelliJ?