You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Trying to read JPEG files from an s3 bucket, but getting some authentication related errors. Accessing the files using aws s3 ls works ok though (after I set some AWS_* environment variables). Is there some way I can pass through credentials/settings needed to access images in a non-public-facing bucket?
Traceback (most recent call last):
File "/home/ubuntu/project/temp.py", line 17, in <module>
pipe_out = pipe.run()
^^^^^^^^^^
File "/home/ubuntu/project/.venv/lib/python3.12/site-packages/nvidia/dali/pipeline.py", line 1396, in runreturnself.outputs(cuda_stream)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/project/.venv/lib/python3.12/site-packages/nvidia/dali/pipeline.py", line 1205, in outputsreturnself._outputs(cuda_stream)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/project/.venv/lib/python3.12/site-packages/nvidia/dali/pipeline.py", line 1314, in _outputsreturnself._pipe.Outputs(types._raw_cuda_stream_ptr(cuda_stream))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^RuntimeError: Critical error in pipeline:
Error in CPU operator `nvidia.dali.fn.readers.file`,
which was used in the pipeline definition with the following traceback:
File "/home/ubuntu/project/temp.py", line 10, in simple_pipeline
jpegs, _labels = fn.readers.file(files=files, name="Reader")
encountered:
S3 Object not found. bucket=<bucket-name> object=<folder-name>/<image-name>.jpeg:
: curlCode: 60, SSL peer certificate or SSH remote key was not OK
Current pipeline object is no longer valid.
Thank you for reaching out. DALI uses AWS SDK, please check this short guide on how to set creds to it. It shouldn't be any different from your current approach with aws s3.
We rely on the default credentials provider chain by AWS SDK, as Janusz mentioned.
Other than the AWS SDK environment variables, we expose AWS_ENDPOINT_URL to control the endpoint URL.
So, for example, you could set your credentials via environment variable:
Hmm, what version of AWS SDK CPP is DALI 1.44.0 using? I'm thinking if this might be a case of aws/aws-sdk-cpp#2908, because I've set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_REGION and got aws s3 ls to work, but the DALI pipeline script ran in the same terminal is still returning curlCode: 60, SSL peer certificate or SSH remote key was not OK. It might well be some certificate issue that libcurl is more sensitive to.
Version
1.44.0
Describe the bug.
Trying to read JPEG files from an s3 bucket, but getting some authentication related errors. Accessing the files using
aws s3 ls
works ok though (after I set someAWS_*
environment variables). Is there some way I can pass through credentials/settings needed to access images in a non-public-facing bucket?Minimum reproducible example
Relevant log output
Other/Misc.
Have tried looking at some Stackoverflow answers (e.g. at https://serverfault.com/questions/469824/curl-disable-certificate-verification), but they don't seem to work. A little unsure if it's something I need to resolve with
curl
or something in DALI.Check for duplicates
The text was updated successfully, but these errors were encountered: