AshinGau commented on code in PR #14842: URL: https://github.com/apache/doris/pull/14842#discussion_r1042835359
########## fe/fe-core/src/main/java/org/apache/doris/catalog/S3Resource.java: ########## @@ -41,68 +40,92 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; /** - * S3 resource for olap table + * S3 resource * * Syntax: * CREATE RESOURCE "remote_s3" * PROPERTIES * ( * "type" = "s3", - * "s3_endpoint" = "bj", - * "s3_region" = "bj", - * "s3_root_path" = "/path/to/root", - * "s3_access_key" = "bbb", - * "s3_secret_key" = "aaaa", - * "s3_max_connections" = "50", - * "s3_request_timeout_ms" = "3000", - * "s3_connection_timeout_ms" = "1000" + * "AWS_ENDPOINT" = "bj", + * "AWS_REGION" = "bj", + * "AWS_ROOT_PATH" = "/path/to/root", + * "AWS_ACCESS_KEY" = "bbb", + * "AWS_SECRET_KEY" = "aaaa", + * "AWS_MAX_CONNECTION" = "50", + * "AWS_REQUEST_TIMEOUT_MS" = "3000", + * "AWS_CONNECTION_TIMEOUT_MS" = "1000" * ); */ public class S3Resource extends Resource { + public enum ReferenceType { + TVF, // table valued function + LOAD, + EXPORT, + REPOSITORY, + OUTFILE, + TABLE, + POLICY + } + private static final Logger LOG = LogManager.getLogger(S3Resource.class); + public static final String S3_PROPERTIES_PREFIX = "AWS"; + public static final String S3_FS_PREFIX = "fs.s3"; // required - public static final String S3_ENDPOINT = "s3_endpoint"; - public static final String S3_REGION = "s3_region"; - public static final String S3_ROOT_PATH = "s3_root_path"; - public static final String S3_ACCESS_KEY = "s3_access_key"; - public static final String S3_SECRET_KEY = "s3_secret_key"; - public static final String S3_BUCKET = "s3_bucket"; + public static final String S3_ENDPOINT = "AWS_ENDPOINT"; + public static final String S3_REGION = "AWS_REGION"; + public static final String S3_ACCESS_KEY = "AWS_ACCESS_KEY"; + public static final String S3_SECRET_KEY = "AWS_SECRET_KEY"; + public static final List<String> REQUIRED_FIELDS = + Arrays.asList(S3_ENDPOINT, S3_REGION, S3_ACCESS_KEY, S3_SECRET_KEY); + // required by storage policy + public static final String S3_ROOT_PATH = "AWS_ROOT_PATH"; + public static final String S3_BUCKET = "AWS_BUCKET"; // optional - public static final String S3_MAX_CONNECTIONS = "s3_max_connections"; - public static final String S3_REQUEST_TIMEOUT_MS = "s3_request_timeout_ms"; - public static final String S3_CONNECTION_TIMEOUT_MS = "s3_connection_timeout_ms"; + public static final String USE_PATH_STYLE = "use_path_style"; + public static final String S3_MAX_CONNECTIONS = "AWS_MAX_CONNECTIONS"; + public static final String S3_REQUEST_TIMEOUT_MS = "AWS_REQUEST_TIMEOUT_MS"; + public static final String S3_CONNECTION_TIMEOUT_MS = "AWS_CONNECTION_TIMEOUT_MS"; public static final String DEFAULT_S3_MAX_CONNECTIONS = "50"; public static final String DEFAULT_S3_REQUEST_TIMEOUT_MS = "3000"; public static final String DEFAULT_S3_CONNECTION_TIMEOUT_MS = "1000"; @SerializedName(value = "properties") private Map<String, String> properties; - @SerializedName(value = "usedByPolicySet") - private Set<String> usedByPolicySet; + @SerializedName(value = "referenceSet") + private Map<String, ReferenceType> references; Review Comment: There is a compatibility problem with this modification, but `S3Resource` has not been officially used. I don't know whether compatibility is required for `S3Resource`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org