ECS: Testen von Bucket erstellen, Objekt hochladen, Objekt lesen, Objekt löschen, Bucket löschen über S3 mit dem Skript s3test.sh
Summary: So testen Sie S3 Bucket erstellen, Objekt hochladen, Objekt lesen, Objekt löschen, Bucket löschen mit dem s3test-Skript.
Instructions
Bevor Sie fortfahren, lesen Sie den folgenden Wissensdatenbank-Artikel für s3curl, um die S3-Funktionalität zu bestätigen:
ECS: So führen Sie grundlegende S3-Vorgänge mit dem s3curl.pl Skript durch.
1: Melden Sie sich über SSH als Root-Nutzer beim ECS-Node an.
2: Verwenden Sie vi, um die Datei zu erstellen:
/usr/share/s3curl/s3test.sh
3: Kopieren Sie den folgenden Inhalt in die Datei. Stellen Sie sicher, dass Sie die ZIEL-IPs so ändern , dass sie mit denen Ihres ECS übereinstimmen, da das Skript auf den IPs ausgeführt wird, die im ZIEL platziert werden. Informationen zum S3CURL_ID finden Sie unter ECS: So führen Sie grundlegende S3-Vorgänge mit dem s3curl.pl Skript durch.
!/bin/bash
TARGET="10.xx.xx.xx7 10.xx.xx.xx8 10.xx.xx.xx9 10.xx.xx.xx0"
S3CURL="/usr/share/s3curl/s3curl.pl"
S3CURL_ID="--id=friendlymick"
OBJECT_NAME="newfile"cat
echo "s3curl upload test" > $OBJECT_NAME
PASS="echo -e \e[32mPASSED\e[0m"
FAIL="echo -e \e[31mFAILED\e[0m"
for ip in $(echo $TARGET)
do
echo
echo "Node - $ip"
BUCKET_NAME="bucket_$(date +%d%b_%H%M)_${ip}"
echo "Bucket/Object name: $BUCKET_NAME/$OBJECT_NAME"
echo "---------------------------------------------------------"
# Test bucket creation
echo -n "Create Bucket: "
STATUS=$($S3CURL $S3CURL_ID --createBucket -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 200 && $PASS || { $FAIL; continue; }
# Upload Object
echo -n "Upload Object: "
STATUS=$($S3CURL $S3CURL_ID --put $OBJECT_NAME -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 200 && $PASS || $FAIL
# Read Object
echo -n "Read Object: "
STATUS=$($S3CURL $S3CURL_ID -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s 2> /dev/null)
test "$STATUS" == "s3curl upload test" && $PASS || $FAIL
# Delete Object
echo -n "Delete Object: "
STATUS=$($S3CURL $S3CURL_ID --delete -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 204 && $PASS || $FAIL
# Delete Bucket
echo -n "Delete Bucket: "
STATUS=$($S3CURL $S3CURL_ID --delete -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 204 && $PASS || $FAIL
# Verifying Deletion
echo -n "Verify Deletion of bucket: "
STATUS=$($S3CURL $S3CURL_ID -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 404 && $PASS || $FAIL
done
4: Geben Sie den folgenden Befehl aus, um das Skript auszuführen:
# sh s3test.sh
Alle Tests sollten als bestanden zurückgegeben werden. Wenn einige Tests nicht als BESTANDEN zurückgegeben werden, wenden Sie sich an den ECS-Support.
provo:/usr/share/s3curl # sh s3test.sh Node - 10.xx.xx.xx7 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx7/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx8 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx8/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx9 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx9/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx0 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx0/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED