Heim >Backend-Entwicklung >Python-Tutorial >Einrichten eines Suckers in LocalStack
Die Arbeit mit Amazon S3 ist bei Cloud-Speicherlösungen üblich, aber für lokale Tests kann die Interaktion mit AWS ineffizient und kostspielig sein. LocalStack ist ein voll funktionsfähiger lokaler AWS-Cloud-Stack, der AWS-Dienste emuliert. In dieser Anleitung erklären wir Ihnen Schritt für Schritt, wie Sie einen S3-Bucket in LocalStack unter macOS einrichten, besprechen die Vorteile dieser Einrichtung und stellen ein vollständiges Codebeispiel bereit.
Die Verwendung von LocalStack zur Simulation von S3 bietet wichtige Vorteile:
Stellen Sie sicher, dass Folgendes auf Ihrem jeweiligen Betriebssystem installiert ist:
brew install localstack
localstack start
Hinweis: Wenn Sie auf Berechtigungsprobleme stoßen, stellen Sie dem Befehl sudo voran.
brew install awscli
Hinweis: Der obige Befehl gilt für macOS. Hier finden Sie eine vollständige Dokumentation zur Installation von awscli.
aws configure
Platzhalterwerte verwenden:
Ausgabeformat: json
LocalStack-Endpunkt-URL festlegen:
export LOCALSTACK_ENDPOINT=http://localhost:4566
aws --endpoint-url=$LOCALSTACK_ENDPOINT s3 mb s3://my-local-bucket
aws --endpoint-url=$LOCALSTACK_ENDPOINT s3 ls
echo "Hello LocalStack!" > testfile.txt
aws --endpoint-url=$LOCALSTACK_ENDPOINT s3 cp testfile.txt s3://my-local-bucket
aws --endpoint-url=$LOCALSTACK_ENDPOINT s3 cp s3://my-local-bucket/testfile.txt downloaded_testfile.txt
pip install boto3
import boto3 from botocore.config import Config # Configuration for LocalStack localstack_config = Config( region_name='us-east-1', retries={'max_attempts': 10, 'mode': 'standard'} ) # Initialize the S3 client with LocalStack endpoint s3_client = boto3.client( 's3', endpoint_url="http://localhost:4566", aws_access_key_id="test", aws_secret_access_key="test", config=localstack_config ) bucket_name = "my-local-bucket" # Create the bucket s3_client.create_bucket(Bucket=bucket_name) print(f"Bucket '{bucket_name}' created.") # Upload a file s3_client.upload_file("testfile.txt", bucket_name, "testfile.txt") print("File uploaded.") # List objects in the bucket objects = s3_client.list_objects_v2(Bucket=bucket_name) for obj in objects.get('Contents', []): print("Found file:", obj['Key']) # Download the file s3_client.download_file(bucket_name, "testfile.txt", "downloaded_testfile.txt") print("File downloaded.")
Führen Sie das Skript aus:
brew install localstack
localstack start
Dieser Artikel enthält eine Schritt-für-Schritt-Anleitung zum Einrichten eines S3-Buckets in LocalStack. Dieses Setup ist ideal für die lokale Entwicklung und ermöglicht es Ihnen, die AWS S3-Funktionalität sicher zu testen, ohne dass Kosten entstehen oder eine Internetverbindung erforderlich ist.
Das obige ist der detaillierte Inhalt vonEinrichten eines Suckers in LocalStack. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!