根据我的测试,您的代码运行良好。
package com.mongofunction;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoIterable;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
public class Function {
private static String connectionString = "mongodb://jackmongo:euGe2******Lg==@jackmongo.documents.azure.com:10255/?ssl=true&replicaSet=globaldb";
private static final MongoClient client = MongoClients.create(connectionString);
@FunctionName("HttpTrigger-Java")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
String result = "";
result += client.toString() + " : " + client.hashCode() + '\n';
MongoIterable<String> dbList = client.listDatabaseNames();
for(String db : dbList){
context.getLogger().info(db);
result += db + '\n';
}
return request.createResponseBuilder(HttpStatus.OK).body(result).build();
}
}
我的函数应用网址:https ://jackjavafunction.azurewebsites.net/api/HttpTrigger-Java
响应:

您能否检查一下您的 mongo-java-driver 版本?这是我的:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.11.0</version>
</dependency>
更新
DBClass.java
public class DBClass{
private static String connectionString = "mongodb://jackmongo:euGe****g==@jackmongo.documents.azure.com:10255/?ssl=true&replicaSet=globaldb";
private static final MongoClient client = MongoClients.create(connectionString);
public static String GetDBs(){
String result = "";
result += client.toString() + " : " + client.hashCode() + '\n';
MongoIterable<String> dbList = client.listDatabaseNames();
for(String db : dbList){
result += db + '\n';
}
return result;
}
}
函数.java
public class Function {
@FunctionName("HttpTrigger-Java")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
return request.createResponseBuilder(HttpStatus.OK).body(DBClass.GetDBs()).build();
}
}