คำถามติดแท็ก boto3

Boto 3 - SDK ของ Amazon Web Services (AWS) สำหรับ Python

2
ความแตกต่างใน boto3 ระหว่างทรัพยากรไคลเอ็นต์และเซสชันหรือไม่
ฉันใช้ Python 2.7.12 ใน Ubuntu 16.04 LTS ฉันเรียนรู้วิธีการใช้ boto3 จากลิงค์ต่อไปนี้: https://boto3.readthedocs.io/en/latest/guide/quickstart.html#using-boto-3 ข้อสงสัยของฉันคือเมื่อใช้ทรัพยากรลูกค้าหรือเซสชันและหน้าที่การใช้งานของพวกเขา
216 python  boto3 

9
วิธีจัดการกับข้อผิดพลาดของ boto3
ฉันพยายามที่จะคิดวิธีการจัดการข้อผิดพลาดที่เหมาะสมกับ boto3 ฉันกำลังพยายามสร้างผู้ใช้ IAM: def create_user(username, iam_conn): try: user = iam_conn.create_user(UserName=username) return user except Exception as e: return e เมื่อการเรียกไปยัง create_user สำเร็จฉันจะได้รับออบเจ็กต์เรียบร้อยที่มีรหัสสถานะ http ของการเรียก API และข้อมูลของผู้ใช้ที่สร้างขึ้นใหม่ ตัวอย่าง: {'ResponseMetadata': {'HTTPStatusCode': 200, 'RequestId': 'omitted' }, u'User': {u'Arn': 'arn:aws:iam::omitted:user/omitted', u'CreateDate': datetime.datetime(2015, 10, 11, 17, 13, 5, 882000, tzinfo=tzutc()), u'Path': '/', u'UserId': 'omitted', u'UserName': …

14
รายการเนื้อหาของที่ฝากข้อมูลด้วย boto3
ฉันจะดูว่ามีอะไรอยู่ในกลุ่มใน S3 ด้วยได้boto3อย่างไร (เช่นทำ"ls") ทำดังต่อไปนี้: import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('some/path/') ผลตอบแทน: s3.Bucket(name='some/path/') ฉันจะดูเนื้อหาได้อย่างไร
198 python  amazon-s3  boto  boto3 

23
ตรวจสอบว่ามีกุญแจอยู่ในที่ฝากข้อมูลใน s3 โดยใช้ boto3
ฉันต้องการทราบว่ามีรหัสใน boto3 หรือไม่ ฉันสามารถวนเนื้อหาที่ฝากข้อมูลและตรวจสอบคีย์ถ้าตรงกัน แต่ดูเหมือนว่านานกว่าและเกินเลยไป เอกสารอย่างเป็นทางการของ Boto3 ระบุวิธีการทำเช่นนี้อย่างชัดเจน ฉันอาจจะหายไปอย่างชัดเจน ใครช่วยชี้ให้ฉันดูว่าฉันสามารถบรรลุสิ่งนี้ได้อย่างไร
165 python  amazon-s3  boto3 


6
ไคลเอ็นต์ boto3 NoRegionError: คุณต้องระบุข้อผิดพลาดของภูมิภาคบางครั้งเท่านั้น
ฉันมีลูกค้า boto3: boto3.client('kms') แต่มันเกิดขึ้นในเครื่องใหม่พวกเขาเปิดและปิดแบบไดนามิก if endpoint is None: if region_name is None: # Raise a more specific error message that will give # better guidance to the user what needs to happen. raise NoRegionError() ทำไมสิ่งนี้จึงเกิดขึ้น และทำไมส่วนหนึ่งของเวลาเท่านั้น?
147 python  linux  boto3  aws-kms 

1
ความแตกต่างระหว่าง AWS boto และ boto3 [ปิด] คืออะไร
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเพิ่งเริ่มใช้ AWS โดยใช้ Python และฉันกำลังพยายามเรียนรู้ boto API แต่ฉันสังเกตเห็นว่ามีสองเวอร์ชันหลัก / แพ็คเกจสำหรับ Python นั่นจะเป็น boto และ boto3 อะไรคือความแตกต่างระหว่างไลบรารี AWS boto และ boto3

6
วิธีบันทึกวัตถุ S3 ลงในไฟล์โดยใช้ boto3
ฉันกำลังพยายามสร้าง "สวัสดีชาวโลก" ด้วยไคลเอนต์boto3ใหม่สำหรับ AWS กรณีการใช้งานที่ฉันมีค่อนข้างง่าย: รับวัตถุจาก S3 และบันทึกลงในไฟล์ ใน boto 2.X ฉันจะทำเช่นนี้: import boto key = boto.connect_s3().get_bucket('foo').get_key('foo') key.get_contents_to_filename('/tmp/foo') ใน boto 3. ฉันไม่พบวิธีที่ชัดเจนในการทำสิ่งเดียวกันดังนั้นฉันจึงทำซ้ำบนวัตถุ "สตรีมมิง" ด้วยตนเอง import boto3 key = boto3.resource('s3').Object('fooo', 'docker/my-image.tar.gz').get() with open('/tmp/my-image.tar.gz', 'w') as f: chunk = key['Body'].read(1024*8) while chunk: f.write(chunk) chunk = key['Body'].read(1024*8) หรือ import boto3 key = boto3.resource('s3').Object('fooo', …

4
วิธีเลือกโปรไฟล์ AWS เมื่อใช้ boto3 เพื่อเชื่อมต่อกับ CloudFront
ฉันใช้ Boto 3 python library และต้องการเชื่อมต่อกับ AWS CloudFront ฉันต้องการระบุโปรไฟล์ AWS ที่ถูกต้อง (AWS Credentials) แต่เมื่อดูเอกสารอย่างเป็นทางการแล้วฉันไม่พบวิธีระบุ ฉันกำลังเริ่มต้นไคลเอนต์โดยใช้รหัส: client = boto3.client('cloudfront') อย่างไรก็ตามผลลัพธ์นี้ใช้โปรไฟล์เริ่มต้นในการเชื่อมต่อ ฉันไม่พบวิธีการที่ฉันสามารถระบุได้ว่าจะใช้โปรไฟล์ใด

10
บันทึก Dataframe เป็น csv โดยตรงไปยัง s3 Python
ฉันมี DataFrame แพนด้าที่ต้องการอัปโหลดไปยังไฟล์ CSV ใหม่ ปัญหาคือฉันไม่ต้องการบันทึกไฟล์ในเครื่องก่อนที่จะโอนไปยัง s3 มีวิธีใดเช่น to_csv สำหรับเขียน dataframe ไปยัง s3 โดยตรงหรือไม่? ฉันใช้ boto3 นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: import boto3 s3 = boto3.client('s3', aws_access_key_id='key', aws_secret_access_key='secret_key') read_file = s3.get_object(Bucket, Key) df = pd.read_csv(read_file['Body']) # Make alterations to DataFrame # Then export DataFrame to CSV through direct transfer to s3

12
ข้อผิดพลาด Boto3: botocore.exceptions.NoCredentialsError: ไม่พบข้อมูลประจำตัว
เมื่อฉันเรียกใช้โค้ดต่อไปนี้ฉันมักจะได้รับข้อผิดพลาดนี้ s3 = boto3.resource('s3') bucket_name = "python-sdk-sample-%s" % uuid.uuid4() print("Creating new bucket with name:", bucket_name) s3.create_bucket(Bucket=bucket_name) ฉันได้บันทึกไฟล์ข้อมูลรับรองของฉันในรูปแบบ C:\Users\myname\.aws\credentialsจากที่ Boto ควรอ่านข้อมูลรับรองของฉัน การตั้งค่าของฉันผิดหรือไม่? นี่คือผลลัพธ์จากboto3.set_stream_logger('botocore', level='DEBUG'). 2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Skipping environment variable credential check because profile name was explicitly set. 2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Looking for credentials via: env 2015-10-24 14:22:28,773 botocore.credentials …
113 boto  boto3 

5
จะระบุข้อมูลรับรองเมื่อเชื่อมต่อกับ boto3 S3 ได้อย่างไร?
ใน boto ฉันเคยระบุข้อมูลประจำตัวของฉันเมื่อเชื่อมต่อกับ S3 ด้วยวิธีดังกล่าว: import boto from boto.s3.connection import Key, S3Connection S3 = S3Connection( settings.AWS_SERVER_PUBLIC_KEY, settings.AWS_SERVER_SECRET_KEY ) จากนั้นฉันสามารถใช้ S3 เพื่อดำเนินการได้ (ในกรณีของฉันคือการลบวัตถุออกจากที่เก็บข้อมูล) ด้วย boto3 ตัวอย่างทั้งหมดที่ฉันพบมีดังนี้: import boto3 S3 = boto3.resource( 's3' ) S3.Object( bucket_name, key_name ).delete() ฉันไม่สามารถระบุข้อมูลรับรองของฉันได้ดังนั้นความพยายามทั้งหมดจึงล้มเหลวด้วยInvalidAccessKeyIdข้อผิดพลาด ฉันจะระบุข้อมูลรับรองด้วย boto3 ได้อย่างไร?

7
วิธีเขียนไฟล์หรือข้อมูลไปยังวัตถุ S3 โดยใช้ boto3
ใน boto 2 คุณสามารถเขียนไปยังวัตถุ S3 โดยใช้วิธีการเหล่านี้: Key.set_contents_from_string () Key.set_contents_from_file () Key.set_contents_from_filename () Key.set_contents_from_stream () มี boto 3 เทียบเท่าหรือไม่? วิธี boto3 ในการบันทึกข้อมูลไปยังวัตถุที่จัดเก็บบน S3 คืออะไร?

9
วิธีนำเข้าไฟล์ข้อความบน AWS S3 เข้าสู่แพนด้าโดยไม่ต้องเขียนลงดิสก์
ฉันมีไฟล์ข้อความที่บันทึกไว้ใน S3 ซึ่งเป็นตารางที่คั่นด้วยแท็บ ฉันต้องการโหลดเป็นแพนด้า แต่ไม่สามารถบันทึกได้ก่อนเนื่องจากฉันใช้งานบนเซิร์ฟเวอร์ heroku นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ import io import boto3 import os import pandas as pd os.environ["AWS_ACCESS_KEY_ID"] = "xxxxxxxx" os.environ["AWS_SECRET_ACCESS_KEY"] = "xxxxxxxx" s3_client = boto3.client('s3') response = s3_client.get_object(Bucket="my_bucket",Key="filename.txt") file = response["Body"] pd.read_csv(file, header=14, delimiter="\t", low_memory=False) ข้อผิดพลาดคือ OSError: Expected file path name or file-like object, got <class 'bytes'> type ฉันจะแปลงร่างตอบสนองเป็นแพนด้ารูปแบบจะยอมรับได้อย่างไร …

14
การดึงชื่อโฟลเดอร์ย่อยในบัคเก็ต S3 จาก boto3
เมื่อใช้ boto3 ฉันสามารถเข้าถึงที่เก็บข้อมูล AWS S3 ของฉัน: s3 = boto3.resource('s3') bucket = s3.Bucket('my-bucket-name') ตอนนี้ถังประกอบด้วยโฟลเดอร์ที่ตัวเองมีหลายโฟลเดอร์ย่อยชื่อด้วยการประทับเวลาตัวอย่างเช่นfirst-level 1456753904534ฉันต้องการทราบชื่อของโฟลเดอร์ย่อยเหล่านี้สำหรับงานอื่นที่ฉันกำลังทำอยู่และฉันสงสัยว่าจะให้ boto3 ดึงข้อมูลเหล่านั้นมาให้ฉันได้หรือไม่ ฉันจึงลอง: objs = bucket.meta.client.list_objects(Bucket='my-bucket-name') ซึ่งให้พจนานุกรมซึ่งคีย์ 'เนื้อหา' ให้ไฟล์ระดับที่สามทั้งหมดแทนไดเร็กทอรีการประทับเวลาระดับที่สองในความเป็นจริงฉันได้รับรายการที่มีสิ่งต่างๆเป็น {u'ETag ':' "etag" ', u'Key': ระดับแรก / 1456753904534 / part-00014 ', u'LastModified': datetime.datetime (2016, 2, 29, 13, 52, 24, tzinfo = tzutc ()), u'Owner ': {u'DisplayName': 'owner', …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.