Obtendo o erro "Falha ao obter uma instância do HMACSHA256" ao acessar o Azure CosmosDB
Estou tentando gravar o quadro de dados Spark no Azure CosmosDB e defini toda a configuração correta, mas obtendo o seguinte erro ao tentar gravar dados.
My Build.sbt
name := "MyApp"
version := "1.0"
scalaVersion := "2.10.7"
libraryDependencies ++= Seq(
"org.apache.spark" % "spark-core_2.10" % "2.2.1",
"org.apache.spark" % "spark-sql_2.10" % "2.2.1" ,
"org.apache.spark" % "spark-streaming_2.10" % "2.2.1" ,
"org.apache.spark" % "spark-mllib_2.10" % "2.2.1",
"org.jmockit" % "jmockit" % "1.34" % "test"
)
libraryDependencies ++= Seq(
"com.microsoft.azure" % "azure-storage" % "2.0.0",
"org.apache.hadoop" % "hadoop-azure" % "2.7.3",
"com.microsoft.azure" % "azure-cosmosdb-spark_2.2.0_2.10" % "1.0.0",
"com.microsoft.azure" % "azure-documentdb" % "1.14.0" ,
"com.microsoft.azure" % "azure-documentdb-rx" % "0.9.0-rc2" ,
"io.reactivex" % "rxjava" % "1.3.0" ,
"io.reactivex" % "rxnetty" % "0.4.20",
"org.json" % "json" % "20140107"
)
a seguir está meu trecho de código
import com.microsoft.azure.cosmosdb.spark._
import com.microsoft.azure.cosmosdb.spark.schema._
import com.microsoft.azure.cosmosdb.spark.config.Config
import com.microsoft.azure.cosmosdb.spark.streaming._
// Configure connection to your collection
val writeConfig = Config(Map("Endpoint" -> "https://myCosmosDB.documents.azure.com:443/",
"Masterkey" -> "CosmosDB MasterKey
"Database" -> "CyberCoverage",
"PreferredRegions" -> "East US;",
"Collection" -> "dataextract",
"WritingBatchSize" -> "100"))
// Write the dataframe
df.write.cosmosDB(writeConfig)
Erros:
java.lang.IllegalStateException: falha ao obter uma instância do HMACSHA256. em com.microsoft.azure.documentdb.internal.BaseAuthorizationTokenProvider.generateKeyAuthorizationSignature (BaseAuthorizationTokenProvider.java:146) em com.microsoft.azure.documentdb.internal.BaseAuthorizationTokenProvider.generateKeyAuthor:TouchProvider.generateKeyAuthor: .DocumentClient.getAuthorizationToken (DocumentClient.java:3379) em com.microsoft.azure.documentdb.DocumentClient.putMoreContentIntoDocumentServiceRequest (DocumentClient.java:3356) em com.microsoft.azure.documentdb.DocumentClient.getDatabaseApoint.com (DocumentClient.java:3356) com.microsoft.azure.documentdb.GlobalEndpointManager $ 1.getDatabaseAccountFromEndpoint (GlobalEndpointManager.java:52) em com.microsoft.azure.documentdb.GlobalEndpointManager.getDatabaseAccountFromAnyEndpoint (GlobalEndpointpointManager.java:12) (DocumentClient.java:327) em com.microsoft.azure.documentdb.DocumentClient. (Documen tClient.java:233) em com.microsoft.azure.documentdb.DocumentClient. (DocumentClient.java:135)