التخزين الخارجي
تُخزَّن تسجيلات الجلسات في OpenReplay افتراضيًا على نسختك (instance)، ولكن يمكن تغيير الوجهة إلى أي خدمة تخزين كائنات متوافقة مع S3، مما يتيح قابلية توسّع أكبر وتكاليف نشر أقل.
تغيير وجهة تخزين التسجيلات
Section titled تغيير وجهة تخزين التسجيلاتيمكن الاحتفاظ بالتسجيلات في أي وجهة تخزين كائنات طالما كانت متوافقة مع S3، مما يجعل OpenReplay متوافقًا مع جميع خدمات السحابة العامة الرئيسية. فيما يلي خطوات إعداد وجهة مختلفة لتسجيلاتك:
إنشاء الحاويات (buckets) اللازمة
Section titled إنشاء الحاويات (buckets) اللازمةيجب عليك إنشاء الحاويات (buckets) التالية في خدمة تخزين الكائنات لديك. يمكن أن تكون أسماؤها مختلفة، لكننا سنستخدم المراجع التالية في بقية هذا القسم:
openreplay-recordings: حيث سيتم الاحتفاظ بالتسجيلاتopenreplay-assets: حيث سيتم نسخ الأصول (مثل css والخطوط)openreplay-sourcemaps: لتخزين خرائط المصدر (source maps) (انظر كيفية رفعها)
بمجرد إنشاء الحاوية:
- فعّل CORS لكل حاوية من الحاويات المذكورة أعلاه. إذا كنت تستخدم AWS، فسيكون ذلك ضمن ‘Permissions > Cross-origin resource sharing (CORS)’ باستخدام الإعداد التالي:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- فعّل الوصول العام إلى حاوية
openreplay-assetsفقط. تحتوي هذه الأخيرة فقط على أوراق الأنماط (stylesheets) والأيقونات والخطوط المطلوبة لإعادة تشغيل الجلسات بشكل صحيح. إذا كنت تستخدم AWS، انتقل أولًا إلى ‘Permissions > Block public access (bucket settings)’ وأوقفه، ثم اذهب إلى ‘Permissions > Bucket policy’ واستخدم الإعداد التالي:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::openreplay-assets/*"
}
]
}
- أخيرًا، تأكد من إنشاء مفاتيح الوصول المناسبة لهذه الحاويات الثلاث فقط حتى يتمكن الواجهة الخلفية (backend) لـ OpenReplay من الوصول إليها برمجيًا لرفع الملفات. أذونات S3 المطلوبة هي:
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:ListBucket",
"s3:PutObjectTagging",
"s3:GetBucketLocation"
تحديث خدمات الواجهة الخلفية (backend)
Section titled تحديث خدمات الواجهة الخلفية (backend)- سجّل الدخول إلى نسخة OpenReplay لديك ونفّذ
openreplay -eلتحديث متغيرات البيئة التالية في قسمs3:
| المتغير | الوصف |
|---|---|
| accessKey | مفتاح الوصول الخاص بتخزين الكائنات لديك (معرّف مفتاح الوصول الخاص بـ IAM إذا كنت تستخدم AWS، وعلى Google Cloud سيكون مفتاح HMAC لحساب الخدمة) |
| secretKey | المفتاح السري لتخزين الكائنات لديك |
| endpoint | عنوان URL (الذي يبدأ بـ https) لخدمة تخزين الكائنات لديك (أي راجع قائمة نقاط نهاية S3 إذا كنت تستخدم AWS، وعلى Google Cloud Storage سيكون https://storage.googleapis.com) |
| region | المنطقة (إن وجدت) لحاوياتك (أي إذا كنت تستخدم AWS S3، سيكون شيئًا مثل us-east-1) |
| assetsBucket | اسم حاوية الأصول (أي openreplay-assets) |
| recordingsBucket | اسم حاوية التسجيلات (أي openreplay-recordings) |
| sourcemapsBucket | اسم حاوية خرائط المصدر (أي openreplay-sourcemaps) |
- احفظ واخرج باستخدام
:wqلكي تدخل التغييرات حيز التنفيذ
من المفترض الآن أن يتم تخزين الجلسات المسجّلة حديثًا واستردادها (عند إعادة تشغيلها) من وجهتك/خدمة تخزين الكائنات الجديدة.
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟إذا واجهت أي مشكلات، يُرجى الانضمام إلى Slack الخاص بنا أو زيارة المنتدى للحصول على المساعدة من مجتمعنا.