From 74e62acb7860d56c011d3c76a2d4995a7662361e Mon Sep 17 00:00:00 2001 From: yndu13 Date: Fri, 26 Jun 2026 12:37:22 +0800 Subject: [PATCH] feat: support ALIBABA_CLOUD_LOCATION_SERVICE_DISABLED env to skip location lookup Allow disabling Location Service endpoint resolution via environment variable when local or predefined endpoints are sufficient. Co-authored-by: Cursor --- .../endpoint/DefaultEndpointResolver.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java b/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java index 6e4abe06d7..4e693dd329 100644 --- a/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java +++ b/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java @@ -46,16 +46,20 @@ public DefaultEndpointResolver( if (StringUtils.isEmpty(locationServiceApiVersion)) { locationServiceApiVersion = System.getenv("ALIBABA_CLOUD_LOCATION_SERVICE_API_VERSION"); } - if (!StringUtils.isEmpty(locationServiceEndpoint) && !StringUtils.isEmpty(locationServiceApiVersion)) { - resolverChain.add(new LocationServiceEndpointResolver(client, - locationServiceEndpoint, - locationServiceApiVersion)); - } else if (profile.isUsingInternalLocationService()) { - resolverChain.add(new LocationServiceEndpointResolver(client, - "location-inner.aliyuncs.com", - "2015-12-25")); - } else { - resolverChain.add(new LocationServiceEndpointResolver(client)); + boolean locationServiceDisabled = Boolean.parseBoolean( + System.getenv("ALIBABA_CLOUD_LOCATION_SERVICE_DISABLED")); + if (!locationServiceDisabled) { + if (!StringUtils.isEmpty(locationServiceEndpoint) && !StringUtils.isEmpty(locationServiceApiVersion)) { + resolverChain.add(new LocationServiceEndpointResolver(client, + locationServiceEndpoint, + locationServiceApiVersion)); + } else if (profile.isUsingInternalLocationService()) { + resolverChain.add(new LocationServiceEndpointResolver(client, + "location-inner.aliyuncs.com", + "2015-12-25")); + } else { + resolverChain.add(new LocationServiceEndpointResolver(client)); + } } insideEndpointResolver = new ChainedEndpointResolver(resolverChain);