-
Notifications
You must be signed in to change notification settings - Fork 873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
object_store 0.9.1 breaks Azure Storage Emulator Config #5475
Comments
This is likely related to #5425 @andrebsguedes could you take a look please Edit: is it possible you have other credentials configured, e.g. in the environment? Previously these would have been being ignored Edit edit: the config we use for integration testing against azurite can be found here - https://github.com/apache/arrow-rs/blob/master/.github%2Fworkflows%2Fobject_store.yml#L106 |
@aersam The current version of I saw this kind of pattern on your repo, could that be an example of this? |
@andrebsguedes @tustvold the test fails in our python integration tests. I checked but we don't have any env variables set for azure while this test is being executed. Also it shouldn't be a dummy SAS token, since we create one by calling azurite: endpoint_url = (
f"http://localhost:10000/{azurite_creds['AZURE_STORAGE_ACCOUNT_NAME']}"
)
env = os.environ.copy()
env.update(azurite_creds)
env["AZURE_STORAGE_CONNECTION_STRING"] = (
"DefaultEndpointsProtocol=http;"
f"AccountName={azurite_creds['AZURE_STORAGE_ACCOUNT_NAME']};"
f"AccountKey={azurite_creds['AZURE_STORAGE_ACCOUNT_KEY']};"
f"BlobEndpoint={endpoint_url};"
)
output = subprocess.run(
[
"az",
"storage",
"container",
"generate-sas",
"--name",
azurite_creds["AZURE_STORAGE_CONTAINER_NAME"],
"--permissions",
"dlrw",
],
env=env,
capture_output=True,
)
creds = {key: value for key, value in azurite_creds.items() if "KEY" not in key}
creds["SAS_TOKEN"] = output.stdout.decode() |
Hi @ion-elgreco, I deep-dived into this as I'm looking to upgrade my Basically, in arrow-rs/object_store/src/azure/builder.rs Lines 801 to 811 in cb16050
whereas, in object-store==0.9.1 , the actual SAS token is passed:arrow-rs/object_store/src/azure/builder.rs Lines 826 to 846 in 3015122
Thus, I suspect that the issue you are encountering is rather linked to this issue: I'll try to implement the fix to create a valid SAS token in my repo, and, if it works, I will try to open a PR also on |
@giacomorebecchi Cool! Just ping me when you push a PR in Delta-RS 😄 |
# Description Reintroduce integration tests using Azurite and SAS tokens. These tests were skipped believing that the mistake was due to the upgrade of version in `object-store>=0.9.1". Actually, what `object-store` started doing from that version on, is really using the SAS token for the first time. For more details, see: - apache/arrow-rs#5475 (comment) I changed the command to create the SAS token using the `azure-storage-blob` library (adding it to the dev deps), rather than the azure CLI, and removed the pytest markers to skip the tests. @ion-elgreco pinging you as promised, sorry if this took more time than expected!
delta-rs is using this config to connect to Azure Storage Emulator:
this is passed via python, but it basically just sets the configs in object_store.
In 0.9.1, this started to cause an authentication error:
Can you check this?
Since there was a change in Azure Authentication in object_store 0.9.1, is there some different config required? I was assuming a bug since it's only a minor version increase and the config looks good
The text was updated successfully, but these errors were encountered: