Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Trong bài viết này, tôi sẽ giải thích Amazon S3 là gì và làm thế nào để kết nối với nó bằng Python. Bài viết này sẽ tập trung vào những người mới bắt đầu đang cố gắng để có được Python và làm việc xung quanh hệ sinh thái AWS. AWS, như bạn có thể biết, là một trong những nhà cung cấp đám mây lớn nhất cùng với nền tảng Microsoft Azure và Google Cloud. Có rất nhiều dịch vụ được cung cấp bởi Amazon bao gồm AWS S3. Amazon S3, cũng được viết tắt là Dịch vụ lưu trữ đơn giản Amazon là dịch vụ lưu trữ được cung cấp bởi nhà cung cấp đám mây cho phép người dùng lưu trữ bất kỳ loại tệp nào trong dịch vụ này. Nó được thiết kế để làm cho điện toán quy mô web dễ dàng hơn cho các nhà phát triển.

Theo định nghĩa được cung cấp bởi Wikipedia - Dịch vụ lưu trữ đơn giản của Amazon S3 hoặc Amazon là dịch vụ được cung cấp bởi Amazon Web Services (AWS) cung cấp lưu trữ đối tượng thông qua giao diện dịch vụ web. Các đơn vị lưu trữ riêng lẻ của Amazon S3 được gọi là xô. Những thùng này cũng có thể được coi là thư mục gốc, theo đó tất cả các mục tiếp theo sẽ được lưu trữ. Tất cả các thư mục và tệp được coi là đối tượng trong hệ sinh thái S3. Các đối tượng này được thể hiện bằng một khóa duy nhất và được chỉ định của người dùng. Bạn có thể truy cập vào các nhóm Amazon S3 bằng cách sử dụng bất kỳ một trong bốn cách sau đây.

  • Sử dụng giao diện web của Amazon Console
  • Sử dụng Amazon CLI (Giao diện dòng lệnh)
  • Sử dụng SDK Amazon cho bất kỳ ngôn ngữ lập trình nào
  • Sử dụng API còn lại

Các đối tượng hoặc vật phẩm được lưu trữ bằng Amazon CLI hoặc API còn lại được giới hạn ở kích thước 5TB với thông tin siêu dữ liệu 2kb. Đọc thêm về Amazon S3 từ tài liệu chính thức từ Amazon.

Điều kiện tiên quyết

Như đã đề cập, trong bài viết này, chúng tôi sẽ sử dụng AWS S3 và Python để kết nối với dịch vụ AWS, các điều kiện tiên quyết sau đây phải được thực hiện.

  • Tài khoản AWS hợp lệ - Để truy cập vào môi trường S3, bạn phải có đăng ký AWS hợp lệ. Nếu bạn chưa quen với AWS, vui lòng tạo một tài khoản mới bằng cách đăng ký AWS tại https://console.aws.amazon.com – In order to access the S3 environment, you must have a valid AWS subscription. If you are new to AWS, please create a new account by signing up for AWS at https://console.aws.amazon.com
  • Python 3.7 - Bạn phải cài đặt thực thi Python trên máy của bạn. Bạn có thể tải xuống Python bằng cách truy cập https://www.python.org/doads/ và chọn phiên bản chính xác theo hệ điều hành của bạn – You must have python executable installed on your machine. You can download python by visiting https://www.python.org/downloads/ and select the correct version as per your operating system
  • Visual Studio Code - Trong bài viết này, chúng tôi sẽ sử dụng mã Visual Studio làm trình chỉnh sửa mã. Bạn có thể tự do chọn bất kỳ trình chỉnh sửa mã nào khác mà bạn chọn – In this article, we are going to use the Visual Studio Code as the code editor. You are free to choose any other code editors of your choice

Sử dụng AWS S3 từ bảng điều khiển

Khi bạn đã đăng ký cho Amazon Web Services, hãy đăng nhập vào ứng dụng Bảng điều khiển. Nhấp vào Dịch vụ và chọn S3 trong kho lưu trữ.

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 1 - Bắt đầu S3

Bạn sẽ thấy rằng màn hình chính S3 mở ra trông giống như bên dưới.

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 2 - Màn hình chính AWS S3

Như bạn có thể thấy trong hình trên, tôi chưa tạo ra bất kỳ thùng nào trong S3 của mình. Hãy để chúng tôi đi trước và tạo ra một số xô đầu tiên. Tôi sẽ tạo hai thùng với các tên như sau.

  • SQL-server-shack-demo-1
  • SQL-server-shack-demo-2

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 3 - Tạo các thùng S3

Lặp lại giống nhau cho cả hai thùng. Khi các thùng được tạo, bạn có thể thấy danh sách như sau.

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 4 - Xô S3 được tạo ra

Tôi cũng sẽ tải một tệp CSV mẫu vào một trong các thùng chỉ để đọc dữ liệu từ nó sau trong quá trình hướng dẫn.

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 5 - Tải lên tệp CSV mẫu được tải lên

Tạo mã thông báo bí mật

Bây giờ chúng tôi đã tạo ra các thùng của mình trong S3, bước tiếp theo là tiếp tục và tạo thông tin đăng nhập để truy cập vào các thùng S3 bằng cách sử dụng Python. Bạn có thể làm theo hướng dẫn này để tạo thông tin đăng nhập AWS hoặc theo dõi tài liệu chính thức từ Amazon. Khi các thông tin này được tạo, vui lòng lưu thông tin này vào một vị trí được bảo mật. Một mẫu của khóa truy cập và khóa bí mật như sau.

Khóa truy cập: AKIAIOSFODNN7EXEXMample Bí mật: wjalrxutnfemi/k7mdeng/bpxrficyexampleKey
SECRET KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Viết mã Python

Vì vậy, bây giờ chúng tôi đã có các thùng của chúng tôi sẵn sàng trong S3 và chúng tôi cũng đã tạo ra các thông tin truy cập được yêu cầu để kết nối với môi trường AWS từ tệp Python. Bây giờ chúng ta hãy tiếp tục và bắt đầu viết mã của chúng tôi.

Đầu tiên, chúng tôi cần nhập mô -đun BOTO3 sau đây vào mã của chúng tôi. Đây là SDK AWS cho Python do Amazon cung cấp. Nếu bạn chưa cài đặt cái này trên máy của mình, vui lòng cài đặt nó bằng Python Pip. Ngoài ra, chúng tôi cũng sẽ sử dụng mô -đun Python Pandas để chúng tôi có thể đọc dữ liệu từ S3 và lưu trữ chúng vào khung dữ liệu Pandas. Bạn có thể chạy các lệnh sau để cài đặt các mô -đun nếu chưa hoàn thành.

PIP Cài đặt Boto3 Pip Cài đặt Pandas
pip install pandas

Lệnh này sẽ cài đặt mô -đun trên máy của bạn. Vì tôi đã cài đặt nó sớm hơn, nó sẽ hiển thị thông báo sau.

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Hình 6 - Cài đặt SDK AWS cho Python - BOTO3

Bây giờ chúng ta hãy nhập mô -đun này vào mã Python của chúng tôi.

import boto3 boto3

import pandas pandas

Khi mô -đun đã được nhập vào mã, bước tiếp theo là tạo máy khách S3 và tài nguyên cho phép chúng tôi truy cập các đối tượng được lưu trữ trong môi trường S3 của chúng tôi. Cả máy khách và tài nguyên đều có sẵn để kết nối với các đối tượng S3. Máy khách là giao diện chức năng cấp thấp, trong khi tài nguyên là giao diện hướng đối tượng cấp cao. Nếu bạn muốn làm việc với các tệp S3 đơn, bạn có thể chọn làm việc với máy khách. Tuy nhiên, nếu bạn cần làm việc với nhiều thùng S3 và cần lặp lại những thứ đó, thì việc sử dụng tài nguyên sẽ là lý tưởng. Hãy để chúng tôi đi trước và tạo ra cả hai. Ngoài ra, chúng ta cần chỉ định thông tin đăng nhập trong khi tạo các đối tượng. Bạn có thể sử dụng mã bên dưới để tạo máy khách và tài nguyên.

# Tạo máy khách chức năng cấp thấp

client=boto3.client(=boto3.client(

    's3','s3',

    aws_access_key_id='AKIA46SFIWN5AMWMDQVB',aws_access_key_id='AKIA46SFIWN5AMWMDQVB',

    aws_secret_access_key='yuHNxlcbEx7b9Vs6QEo2KWiaAPxj/k6RdEY4DfeS',aws_secret_access_key ='yuHNxlcbEx7b9Vs6QEo2KWiaAPxj/k6RdEY4DfeS',

    region_name='ap-south-1'region_name='ap-south-1'

)

# Tạo giao diện hướng đối tượng cấp cao

resource=boto3.resource(=boto3.resource(

    's3','s3',

    aws_access_key_id='AKIA46SFIWN5AMWMDQVB',aws_access_key_id='AKIA46SFIWN5AMWMDQVB',

    aws_secret_access_key='yuHNxlcbEx7b9Vs6QEo2KWiaAPxj/k6RdEY4DfeS',aws_secret_access_key='yuHNxlcbEx7b9Vs6QEo2KWiaAPxj/k6RdEY4DfeS',

    region_name='ap-south-1'region_name='ap-south-1'

)

# Tạo giao diện hướng đối tượng cấp cao

Khi cả hai đối tượng được tạo, chúng ta hãy tiếp tục và cố gắng hiển thị một danh sách tất cả các thùng trong môi trường S3 của chúng ta. Sử dụng mã bên dưới để in danh sách tất cả các thùng.

clientResponse=client.list_buckets()=client.list_buckets()

# Lấy danh sách các thùng hiện có

# In tên xô từng cái một('Printing bucket names...')

In ('Tên xô in ...')bucket in clientResponse['Buckets']:

Forbucket InclientResponse ['Buckets']:print(f'Bucket Name: {bucket["Name"]}')

& nbsp;

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Đầu ra của mã trên như sau.

Hình 7 - Tên xô in từ AWS S3

Bây giờ chúng tôi đã liệt kê tất cả các thùng hiện có trong môi trường Amazon S3 của chúng tôi, chúng tôi hãy tiếp tục và cố gắng tạo ra một thùng mới với cái tên là SQL-server-shack-demo-3. Để tạo một thùng trong S3, bạn cần chỉ định tên của thùng phải là duy nhất trên tất cả các vùng của nền tảng AWS. Tuy nhiên, các thùng có thể được tạo ra trong một khu vực gần bạn về mặt địa lý để độ trễ có thể được giảm thiểu. Bạn có thể sử dụng mã sau để tạo một thùng trong S3.

location={'LocationConstraint':'ap-south-1'}={'LocationConstraint':'ap-south-1'}

client.create_bucket(.create_bucket(

    Bucket='sql-server-shack-demo-3',Bucket='sql-server-shack-demo-3',

    CreateBucketConfiguration=locationCreateBucketConfiguration=location

)

# Tạo giao diện hướng đối tượng cấp cao

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Khi cả hai đối tượng được tạo, chúng ta hãy tiếp tục và cố gắng hiển thị một danh sách tất cả các thùng trong môi trường S3 của chúng ta. Sử dụng mã bên dưới để in danh sách tất cả các thùng.

# Lấy danh sách các thùng hiện có

# In tên xô từng cái một

obj=client.get_object(=client.get_object(

    Bucket='sql-server-shack-demo-1',Bucket='sql-server-shack-demo-1',

    Key='sql-shack-demo.csv'Key='sql-shack-demo.csv'

)

# Tạo giao diện hướng đối tượng cấp cao

data=pandas.read_csv(obj['Body'])=pandas.read_csv(obj['Body'])

Khi cả hai đối tượng được tạo, chúng ta hãy tiếp tục và cố gắng hiển thị một danh sách tất cả các thùng trong môi trường S3 của chúng ta. Sử dụng mã bên dưới để in danh sách tất cả các thùng.

# Lấy danh sách các thùng hiện có('Printing the data frame...')

print(data)(data)

# In tên xô từng cái một

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

In ('Tên xô in ...')

Forbucket InclientResponse ['Buckets']:

& nbsp;

Đầu ra của mã trên như sau.

Hình 7 - Tên xô in từ AWS S3
Bây giờ chúng tôi đã liệt kê tất cả các thùng hiện có trong môi trường Amazon S3 của chúng tôi, chúng tôi hãy tiếp tục và cố gắng tạo ra một thùng mới với cái tên là SQL-server-shack-demo-3. Để tạo một thùng trong S3, bạn cần chỉ định tên của thùng phải là duy nhất trên tất cả các vùng của nền tảng AWS. Tuy nhiên, các thùng có thể được tạo ra trong một khu vực gần bạn về mặt địa lý để độ trễ có thể được giảm thiểu. Bạn có thể sử dụng mã sau để tạo một thùng trong S3.
# Tạo một cái xô trong AWS S3
Khi bạn chạy mã trên, thùng S3 sẽ được tự động tạo trong khu vực được chỉ định. Bạn có thể xác minh tương tự bằng cách chạy mã trước đó để liệt kê tất cả các thùng trong môi trường S3.
Hình 8 - Xô S3 mới được tạo ra
Làm việc với các khung dữ liệu gấu trúc ở Python
Khám phá cơ sở dữ liệu bằng Python bằng Pandas
Thực tiễn tốt nhất để theo dõi trong khi lập trình trong Python
Xuất dữ liệu với gấu trúc trong Python
Tạo API REST trong Python bằng bình
Làm việc với dữ liệu JSON trong Python
Hiểu *Args và *Kwargs đối số trong Python

  • Tác giả
  • Bài viết gần đây

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Aveeek là một kỹ sư dữ liệu và phân tích có kinh nghiệm, hiện đang làm việc tại Dublin, Ireland. Các lĩnh vực chính được quan tâm kỹ thuật của anh ấy bao gồm SQL Server, SSIS/ETL, SSAS, Python, các công cụ dữ liệu lớn như Apache Spark, Kafka và Cloud Technologies như AWS/Amazon và Azure.

Ông là một tác giả sung mãn, với hơn 100 bài báo được xuất bản trên nhiều blog kỹ thuật khác nhau, bao gồm blog của riêng ông và là người đóng góp thường xuyên cho các diễn đàn kỹ thuật khác nhau.

Trong thời gian rảnh rỗi, anh thích nhiếp ảnh nghiệp dư chủ yếu là hình ảnh đường phố và cuộc sống tĩnh lặng. Một số cái nhìn thoáng qua về công việc của anh ấy có thể được tìm thấy trên Instagram. Bạn cũng có thể tìm thấy anh ấy trên LinkedIn

Xem tất cả các bài viết của Aveeek Das

Hướng dẫn how python read data from aws s3? - python đọc dữ liệu từ aws s3 như thế nào?

Làm thế nào để Python đọc các tệp S3?

# Tạo đối tượng S3 ..
obj = máy khách. get_object (.
Xô = 'sql-server-shack-demo-1',.
Key = 'SQL-Shack-demo.csv'.
# Đọc dữ liệu từ đối tượng S3 ..
Dữ liệu = gấu trúc. read_csv (obj ['cơ thể']).
# In khung dữ liệu ..

Làm cách nào để lấy dữ liệu từ AWS S3 bằng Python?

Cách tải lên và tải xuống các tệp từ AWS S3 bằng Python (2022)..
Bước 1: Thiết lập tài khoản.....
Bước 2: Tạo người dùng.....
Bước 3: Tạo một thùng.....
Bước 4: Tạo chính sách và thêm nó vào người dùng của bạn.....
Bước 5: Tải xuống AWS CLI và định cấu hình người dùng của bạn.....
Bước 6: Tải lên các tệp của bạn ..

Làm thế nào để pyspark đọc dữ liệu S3?

Trong Spark SparkContext này.TextFile () và SparkContext.Các phương thức wholetextfiles () để sử dụng để đọc tệp thử nghiệm từ Amazon AWS S3 thành RDD và Spark.đọc...
1.1 TextFile () - Đọc tệp văn bản từ S3 vào RDD.....
1.2 wholetextFiles () - Đọc các tệp văn bản từ S3 thành RDD của tuple ..

Làm cách nào để liên kết Amazon S3 của tôi với Python?

Trong trường hợp của chúng tôi, chúng tôi đã chọn vùng mặc định là AP-South-1 trong đó chúng tôi sẽ thực hiện các hoạt động này ...
1 danh sách S3 Xô.Để thực hiện thao tác Danh sách Than, chúng tôi sẽ sử dụng tập lệnh Python sau.....
2 Tạo xô S3.....
3 Tải lên tệp lên đối tượng S3.....
4 Danh sách các đối tượng xô S3.....
5 Xóa đối tượng xô S3 ..