Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

320
Views
enumerar el objeto de un cubo funciona a través de boto, pero arroja un error a través de boto3

Quiero enumerar los objetos de un cubo. Usé el siguiente código en boto y funcionó bien

 from boto.s3.connection import S3Connection from boto.s3.connection import OrdinaryCallingFormat from boto.s3.key import Key destination = S3Connection(aws_access_key_id=aws_access_key_id, aws_secret_access_key='lokesh', is_secure=False, port=9090, host=host, calling_format=OrdinaryCallingFormat()) destination_bucket = destination.get_bucket(bucket_name) destination_all_keys = destination_bucket.get_all_keys() print destination_all_keys for key in destination_all_keys: print key

Sin embargo, si estoy usando boto3, recibo un error

botocore.exceptions.ClientError: se produjo un error (MethodNotAllowed) al llamar a la operación ListObjects: el método especificado no está permitido en este recurso.

a continuación se muestra el código boto3 que da error

 import boto3 destination = boto3.client('s3', endpoint_url=endpoint, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, use_ssl=False, config=timeout_config ) destination.list_objects(Bucket=bucket_name)['Contents']
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

La forma correcta de hacer esto es en boto3 usando la sesión de boto3.

 import boto3 sess = boto3.session( endpoint_url=endpoint, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, use_ssl=False, config=timeout_config) s3 = sess.client("s3") s3.list_objects(Bucket=bucket_name)

Además, pasar la clave API es un mal diseño. Si implementa la aplicación en cualquier servicio de AWS que use roles de IAM, las líneas de la clave de acceso le darán dolor de cabeza.

Simplemente configure su archivo de credenciales .aws local y puede usar una configuración simple como esta.

 import boto3 sess = boto3.session( endpoint_url=endpoint, use_ssl=False, config=timeout_config) s3 = sess.client("s3") s3.list_objects(Bucket=bucket_name)
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!