Class AzureConfigurationParserUtils
- java.lang.Object
-
- org.apache.jackrabbit.oak.segment.azure.util.AzureConfigurationParserUtils
-
public class AzureConfigurationParserUtils extends Object
Utility class for parsing Oak Segment Azure configuration (e.g. connection string, container name, uri, etc.) from custom encoded String or Azure standard URI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AzureConfigurationParserUtils.AzureConnectionKey
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_ACCOUNT_NAME
static String
KEY_CONNECTION_STRING
static String
KEY_CONTAINER_NAME
static String
KEY_DIR
static String
KEY_SHARED_ACCESS_SIGNATURE
static String
KEY_STORAGE_URI
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isCustomAzureConnectionString(String conn)
static Map<String,String>
parseAzureConfigurationFromCustomConnection(String connectionString)
Parses a custom encoded connection string of the form (line breaks added for clarity):
DefaultEndpointsProtocol=https;
AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
SharedAccessSignature=mySasToken==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
ContainerName=mycontainer;
Directory=mydir
where the first 5 lines in the string represent a standard Azure Connection String and the last two lines are Oak Segment Azure specific arguments.static Map<String,String>
parseAzureConfigurationFromUri(String uriStr)
Parses a standard Azure URI in the format https://myaccount.blob.core.windows.net/container/repo?sasToken.
-
-
-
Field Detail
-
KEY_CONNECTION_STRING
public static final String KEY_CONNECTION_STRING
- See Also:
- Constant Field Values
-
KEY_CONTAINER_NAME
public static final String KEY_CONTAINER_NAME
- See Also:
- Constant Field Values
-
KEY_ACCOUNT_NAME
public static final String KEY_ACCOUNT_NAME
- See Also:
- Constant Field Values
-
KEY_STORAGE_URI
public static final String KEY_STORAGE_URI
- See Also:
- Constant Field Values
-
KEY_DIR
public static final String KEY_DIR
- See Also:
- Constant Field Values
-
KEY_SHARED_ACCESS_SIGNATURE
public static final String KEY_SHARED_ACCESS_SIGNATURE
- See Also:
- Constant Field Values
-
-
Method Detail
-
isCustomAzureConnectionString
public static boolean isCustomAzureConnectionString(String conn)
- Parameters:
conn
- the connection string- Returns:
true
if this is a custom encoded Azure connection String,false
otherwise
-
parseAzureConfigurationFromCustomConnection
public static Map<String,String> parseAzureConfigurationFromCustomConnection(String connectionString)
Parses a custom encoded connection string of the form (line breaks added for clarity):
DefaultEndpointsProtocol=https;
AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
SharedAccessSignature=mySasToken==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
ContainerName=mycontainer;
Directory=mydir
where the first 5 lines in the string represent a standard Azure Connection String and the last two lines are Oak Segment Azure specific arguments. Please note that all configuration keys are semicolon separated, except for the last entry. The order of keys is not important.- Parameters:
connectionString
- the connection string- Returns:
- parsed configuration map containing the Azure connectionString, containerName, dir and sharedAccessSignature (key names in bold)
-
parseAzureConfigurationFromUri
public static Map<String,String> parseAzureConfigurationFromUri(String uriStr)
Parses a standard Azure URI in the format https://myaccount.blob.core.windows.net/container/repo?sasToken. The sasToken is optional.- Parameters:
uriStr
- the Azure URI as string- Returns:
- parsed configuration map containing accountName, storageUri, dir, and sharedAccessSignature (key names in bold)
-
-