[
https://issues.apache.org/jira/browse/HADOOP-19471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17934443#comment-17934443
]
ASF GitHub Bot commented on HADOOP-19471:
-----------------------------------------
manika137 commented on code in PR #7461:
URL: https://github.com/apache/hadoop/pull/7461#discussion_r1990762503
##########
hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestAzureBlobFileSystemChooseSAS.java:
##########
@@ -126,6 +147,59 @@ public void testBothProviderFixedTokenConfigured() throws
Exception {
}
}
+ /**
+ * Helper method to get the Fixed SAS token value
+ */
+ private String getFixedSASToken(AbfsConfiguration config) throws Exception {
+ return config.getSASTokenProvider()
+ .getSASToken(this.getAccountName(), this.getFileSystemName(),
+ getMethodName(),
+ readPermission);
+ }
+
+ /**
+ * Tests the implementation sequence if all fixed SAS configs are set.
+ * The expected sequence is Container Specific Fixed SAS, Account Specific
Fixed SAS, Account Agnostic Fixed SAS.
+ * @throws IOException
+ */
+ @Test
+ public void testFixedTokenPreference() throws Exception {
+ AbfsConfiguration testAbfsConfig = new AbfsConfiguration(
+ getRawConfiguration(), this.getAccountName(), this.getFileSystemName(),
+ getAbfsServiceType());
+
+ // setting all types of Fixed SAS configs (container-specific,
account-specific, account-agnostic)
+ removeAnyPresetConfiguration(testAbfsConfig);
+ testAbfsConfig.set(
+ containerProperty(FS_AZURE_SAS_FIXED_TOKEN, this.getFileSystemName(),
+ this.getAccountName()), containerSAS);
+ testAbfsConfig.set(
Review Comment:
Makes sense, taken.
##########
hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestAzureBlobFileSystemChooseSAS.java:
##########
@@ -126,6 +147,59 @@ public void testBothProviderFixedTokenConfigured() throws
Exception {
}
}
+ /**
+ * Helper method to get the Fixed SAS token value
+ */
+ private String getFixedSASToken(AbfsConfiguration config) throws Exception {
+ return config.getSASTokenProvider()
+ .getSASToken(this.getAccountName(), this.getFileSystemName(),
+ getMethodName(),
+ readPermission);
+ }
+
+ /**
+ * Tests the implementation sequence if all fixed SAS configs are set.
+ * The expected sequence is Container Specific Fixed SAS, Account Specific
Fixed SAS, Account Agnostic Fixed SAS.
+ * @throws IOException
+ */
+ @Test
+ public void testFixedTokenPreference() throws Exception {
+ AbfsConfiguration testAbfsConfig = new AbfsConfiguration(
+ getRawConfiguration(), this.getAccountName(), this.getFileSystemName(),
+ getAbfsServiceType());
+
+ // setting all types of Fixed SAS configs (container-specific,
account-specific, account-agnostic)
+ removeAnyPresetConfiguration(testAbfsConfig);
+ testAbfsConfig.set(
+ containerProperty(FS_AZURE_SAS_FIXED_TOKEN, this.getFileSystemName(),
+ this.getAccountName()), containerSAS);
+ testAbfsConfig.set(
+ accountProperty(FS_AZURE_SAS_FIXED_TOKEN, this.getAccountName()),
+ accountSAS);
+ testAbfsConfig.set(FS_AZURE_SAS_FIXED_TOKEN, accountSAS);
+
+ // Assert that Container Specific Fixed SAS is used
+ Assertions.assertThat(getFixedSASToken(testAbfsConfig))
Review Comment:
Taken
> ABFS: Support Fixed SAS token at container level
> -------------------------------------------------
>
> Key: HADOOP-19471
> URL: https://issues.apache.org/jira/browse/HADOOP-19471
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/azure
> Affects Versions: 3.4.0, 3.4.1
> Reporter: Manika Joshi
> Assignee: Manika Joshi
> Priority: Major
> Labels: pull-request-available
>
> The ABFS driver currently lacks support for multiple SAS tokens for the same
> storage account across different containers.
> We are now introducing this support.
> To use fixed SAS token at container level the configuration to be used is:
> {quote}fs.azure.sas.fixed.token.<container-name>.<storage-account-name>
> {quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]