Add support for using Application Default Credentials (GCP) and native IAM role (AWS) in lieu of requiring cloud storage
credentials to be explicitly configured.
Re-run aws_test.py. This time there should be no error and it should list the objects in the bucket.
GCP
Create an GCE instance (or use "default-service-account-test" ) in the "computer-vision-team" project. Make sure it has an attached service account that can access Storage.
ssh onto the instance and ensure python, pip, git are installed.
Run the following in the terminal:
git clone https://github.com/voxel51/eta.git`
cd eta
git checkout develop
pip install ".[storage]"
Run the following script in python. It should print an error and exit.
# gcp_test.py
import eta.core.storage as ecs
try:
client = ecs.GoogleCloudStorageClient()
client.list_files_in_folder("gs://voxel51-test")
except ecs.GoogleCredentialsError as e:
print(e)
exit()
Add support for using Application Default Credentials (GCP) and native IAM role (AWS) in lieu of requiring cloud storage credentials to be explicitly configured.
Testing (Local/Regression)
Revoke any local permissions the AWS, Google Cloud SDK, MinIO might have.
[Optional] Set up a standalone version of MinIO (if no server available).
Requirements
AWS
voxel51-test
bucket..ini
file using those credentials with similar syntax to the following:GCP
voxel51-test
bucket.MinIO
voxel51-test
, that has at least one file..ini
file using those credentials with similar syntax to the following:Run the following script:
Testing (Cloud VM)
Following are the steps I performed for each cloud provider to test the code changes:
AWS
Create an EC2 instance (or use "IAM Test" ). Make sure it has an attached IAM role account that can access S3.
ssh
onto the instance and ensurepython
,pip
,git
are installed.Run the following in the terminal:
Run the following script in
python
. It should print an error and exit.Run the following in the terminal:
Re-run
aws_test.py
. This time there should be no error and it should list the objects in the bucket.GCP
Create an GCE instance (or use "default-service-account-test" ) in the "computer-vision-team" project. Make sure it has an attached service account that can access Storage.
ssh
onto the instance and ensurepython
,pip
,git
are installed.Run the following in the terminal:
Run the following script in
python
. It should print an error and exit.Run the following in the terminal:
Re-run
gcp_test.py
. This time there should be no error and it should list the objects in the bucket.TODO