swift(1) OpenStack Swift swift(1)

swift - ابزار کلاینت OpenStack Swift

swift [options] <command> [args]

ابزار swift یک ابزار خط فرمان برای برقراری ارتباط با یک محیط OpenStack Object Storage (Swift) است. این ابزار به کاربر اجازه می‌دهد انواع مختلفی از عملیات را انجام دهد.

stat [command-options] [container] [object]

بسته به آرگومان‌های داده‌شده (در صورت وجود)، اطلاعات حساب کاربری (account)، مخزن (container) یا شیء (object) را نمایش می‌دهد. در حالت پرگو (verbose)، نشانی URL فضای ذخیره‌سازی و توکن احراز هویت نیز نمایش داده می‌شوند. گزینه --lh اندازه‌ها را در قالبی خوانا برای انسان، مشابه ls -lh گزارش می‌کند.

list [command-options] [container]

مخازن حساب کاربری یا اشیاء موجود در یک مخزن را فهرست می‌کند. گزینه -p <prefix> یا --prefix <prefix> گزینه‌ای است که تنها مواردی را فهرست می‌کند که با آن پیشوند شروع می‌شوند. گزینه -d <delim> یا --delimiter <delim> گزینه‌ای است (فقط برای فهرست‌کردن مخزن) که مواردی با جداکننده مشخص‌شده را دسته‌بندی و جمع می‌کند (برای توضیح بیشتر در این باره، به مستندات عمومی OpenStack Swift مراجعه کنید).

گزینه‌های -l یا --long و --lh جزئیات بیشتری ارائه می‌دهند؛ مشابه ls -l و ls -lh، که دومی اندازه‌ها را در قالبی خوانا برای انسان (مانند 3K، 12M و غیره) نمایش می‌دهد. این دو گزینه آخر برای دریافت آن جزئیات سربار بیشتری مصرف می‌کنند که مستقیماً با تعداد مخازن یا اشیاء در حال فهرست‌شدن متناسب است. با گزینه -t یا --total، آن‌ها تنها مقادیر کل را گزارش می‌کنند.

upload [command-options] container file_or_directory [file_or_directory] [...]

فایل‌ها و دایرکتوری‌های مشخص‌شده با سایر آرگومان‌ها را در مخزن داده‌شده بارگذاری می‌کند. گزینه -c یا --changed گزینه‌ای است که تنها فایل‌هایی را بارگذاری می‌کند که از زمان آخرین بارگذاری تغییر کرده‌اند. گزینه --object-name <object-name> گزینه‌ای است که فایل را بارگذاری کرده و نام شیء را به <object-name> تغییر می‌دهد یا دایرکتوری را بارگذاری کرده و از <object-name> به عنوان پیشوند شیء استفاده می‌کند. اگر نام فایل "-" باشد، محتوا از ورودی استاندارد خوانده می‌شود. در این حالت، --object-name الزامی است و هیچ فایل دیگری نمی‌تواند مشخص شود. گزینه‌های -S <size> یا --segment-size <size> و --leave-segments و گزینه‌های دیگر نیز موجود هستند (برای اطلاعات بیشتر swift upload --help را ببینید).

post [command-options] [container] [object]

بسته به آرگومان‌های ارائه‌شده، فراداده‌ها (meta information) را برای حساب کاربری، مخزن یا شیء به‌روزرسانی می‌کند. اگر مخزن پیدا نشود، به صورت خودکار ایجاد خواهد شد؛ اما این مورد برای حساب‌ها و اشیاء صدق نمی‌کند. مخزن‌ها همچنین گزینه‌های -r (یا --read-acl) و -w (یا --write-acl) را مجاز می‌دانند. گزینه -m یا --meta برای همه موارد مجاز است و برای تعیین متادیتای کاربر در قالب Name:Value استفاده می‌شود. این گزینه می‌تواند تکرار شود. برای جزئیات و گزینه‌های بیشتر swift post --help را ببینید. مثال: post -m Color:Blue -m Size:Large

copy [command-options] container object

بسته به آرگومان‌های داده‌شده، یک شیء را به مقصدی جدید رونوشت می‌کند یا متادیتای کاربر را به شیء اضافه می‌کند (برخلاف دستور post، متادیتای فعلی کاربر حفظ خواهد شد). گزینه --destination مقصد را در قالب /container/object تعیین می‌کند. در صورت عدم تنظیم، شیء روی خودش کپی می‌شود که برای افزودن متادیتا سودمند است. گزینه -M یا --fresh-metadata شیء را بدون متادیتای موجود کاربر کپی می‌کند. گزینه -m یا --meta همواره مجاز است و برای تعیین متادیتای کاربر در قالب Name:Value به کار می‌رود (این گزینه می‌تواند تکرار شود). برای جزئیات و گزینه‌های بیشتر swift copy --help را ببینید.

download [command-options] [container] [object] [object] [...]

بسته به آرگومان‌های ارائه‌شده، همه چیز در حساب کاربری (با --all)، یا همه چیز در یک مخزن، یا فهرستی از اشیاء را دانلود می‌کند. برای دانلود یک شیء منفرد، می‌توانید از گزینه -o [--output] <filename> برای هدایت خروجی به یک فایل مشخص، یا در صورت "-" برای هدایت مستقیم به خروجی استاندارد (stdout)، یا با --no-download برای ننوشتن چیزی روی دیسک استفاده کنید. گزینه --ignore-checksum اعتبارسنجی جمع کنترلی (checksum) را غیرفعال می‌کند. می‌توانید هدرهای اختیاری را با گزینه تکرارپذیر شبه cURL یعنی -H [--header] مشخص کنید. برای جزئیات و گزینه‌های بیشتر swift download --help را ببینید. گزینه --ignore-mtime متادیتای x-object-meta-mtime موجود روی شیء را (در صورت وجود) نادیده می‌گیرد و در عوض فایل‌های دانلود شده را با مقادیر تازه atime و mtime ایجاد می‌کند.

delete [command-options] [container] [object] [object] [...]

بسته به آرگومان‌های ارائه‌شده، همه چیز در حساب کاربری (با --all)، یا همه چیز در یک مخزن، یا تمام اشیاء موجود در یک مخزن را که با رشته خاصی شروع می‌شوند (مشخص‌شده با --prefix)، یا فهرستی از اشیاء را حذف می‌کند. قطعه‌های (segments) اشیاء مانیفست نیز حذف خواهند شد، مگر اینکه گزینه --leave-segments را مشخص کنید. برای جزئیات و گزینه‌های بیشتر swift delete --help را ببینید.

capabilities [command-options] [proxy-url]

قابلیت‌های کلاستر را نمایش می‌دهد. اگر گزینه proxy-url ارائه نشود، storage-url دریافت شده پس از احراز هویت به عنوان proxy-url استفاده می‌شود.

به طور پیش‌فرض، خروجی شامل فهرست میان‌افزارهای (middlewares) فعال‌شده Swift و همچنین گزینه‌های مربوط به هر یک از آن‌ها است. علاوه بر این، این دستور گزینه‌های مرتبط با هسته Swift را نیز نمایش می‌دهد.

گزینه --json یک نمایش json از قابلیت‌های کلاستر را چاپ می‌کند. این قالب معمولاً برای پردازش توسط سایر برنامه‌ها، مانند jq، مناسب‌تر است.

مثال: capabilities https://swift.example.com
capabilities --json

tempurl [command-option] method time path key

یک URL موقت تولید می‌کند که با استفاده از متد HTTP داده‌شده، برای مدت زمان مشخص، و با استفاده از کلید TempURL ارائه‌شده، امکان دسترسی بدون احراز هویت به شیء Swift در مسیر مشخص‌شده را فراهم می‌کند.

زمان می‌تواند به صورت یک عدد صحیح نشان‌دهنده تعداد ثانیه‌های اعتبار URL موقت، یا به عنوان یک برچسب زمان ISO 8601 در یکی از قالب‌های زیر مشخص شود: تاریخ کامل: YYYY-MM-DD (مانند 1997-07-16)، تاریخ کامل به همراه ساعت، دقیقه و ثانیه: YYYY-MM-DDThh:mm:ss (مانند 1997-07-16T19:20:30) یا تاریخ کامل به همراه ساعت، دقیقه و ثانیه با شناسه UTC: YYYY-MM-DDThh:mm:ssZ (مانند 1997-07-16T19:20:30Z). توجه داشته باشید در صورتی که از قالب آخر استفاده نکنید، برچسب زمان بر اساس منطقه زمانی محلی شما (locale timezone) تولید می‌شود. در صورت استفاده از قالب اول، بخش زمان برابر با 00:00:00 خواهد بود.

با گزینه --prefix-based یک URL مبتنی بر پیشوند تولید می‌شود.

گزینه --iso8601 به جای برچسب‌های زمانی یونیکس، برچسب‌های زمانی ISO 8601 UTC را در داخل URL تولیدشده قرار می‌دهد.

اگر آرگومان اختیاری --absolute ارائه شود و آرگومان time بر حسب ثانیه مشخص شده باشد، ثانیه‌ها به عنوان برچسب زمانی یونیکس تفسیر می‌شوند که در آن زمان URL باید منقضی شود.

مثال: tempurl GET $(date -d "Jan 1 2016" +%s) /v1/AUTH_foo/bar_container/quux.md my_secret_tempurl_key --absolute

auth

متغیرهای احراز هویت مربوط به auth را در قالبی مناسب شل (shell friendly) نمایش می‌دهد. برای دیدن مثال‌ها swift auth --help را ببینید.

برای گزینه‌های بیشتر swift --help و swift --os-help را ببینید.

swift -A https://127.0.0.1:443/auth/v1.0 -U swiftops:swiftops -K swiftops stat

مستندات جامع‌تر و دقیق‌تر درباره کل OpenStack Swift را می‌توانید در نشانی زیر بیابید: https://docs.openstack.org/swift/latest

8/26/2011 Linux