> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Embeddable هي مجموعة أدوات للمطورين لإنشاء تجارب تحليلات سريعة وتفاعلية ومخصصة بالكامل مباشرةً داخل تطبيقك.

# ربط Embeddable بـ ClickHouse

export const CommunityMaintainedBadge = () => {
  return <div className="CommunityMaintainedBadge">
            <div className="CommunityMaintainedIcon">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 256 256">
                <path d="M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1-7.37-4.89,8,8,0,0,1,0-6.22A8,8,0,0,1,192,112a24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.84,8,57,57,0,0,0-98.16,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z"></path>
            </svg>
        </div>
            تتم صيانته من قِبل المجتمع
        </div>;
};

<CommunityMaintainedBadge />

في [Embeddable](https://embeddable.com/) يمكنك تعريف [نماذج البيانات](https://docs.embeddable.com/data-modeling/introduction) و[المكوّنات](https://docs.embeddable.com/development/introduction) في الشيفرة (المخزّنة في مستودع الشيفرة الخاص بك) واستخدام **SDK** لدينا لإتاحتها لفريقك في **أداة الإنشاء دون شيفرة** القوية من Embeddable.

والنتيجة النهائية هي القدرة على تقديم تحليلات سريعة وتفاعلية موجّهة للعملاء مباشرةً داخل منتجك؛ يصمّمها فريق المنتج لديك؛ ويبنيها فريق الهندسة لديك؛ وتتولّى صيانتها الفرق المواجهة للعملاء وفرق البيانات لديك. تمامًا كما ينبغي أن تكون.

يعني الأمان المضمّن على مستوى الصفوف أن كل مستخدم لا يرى إلا البيانات المسموح له برؤيتها بالضبط. كما أن وجود مستويين من التخزين المؤقت القابل للتهيئة بالكامل يعني أنه يمكنك تقديم تحليلات سريعة وفي الوقت الفعلي وعلى نطاق واسع.

<Steps>
  <Step title="اجمع تفاصيل الاتصال الخاصة بك" id="1-gather-your-connection-details">
    للاتصال بـ ClickHouse باستخدام HTTP(S)، تحتاج إلى المعلومات التالية:

    | المعلمات                  | الوصف                                                                                         |
    | ------------------------- | --------------------------------------------------------------------------------------------- |
    | `HOST` and `PORT`         | عادةً ما يكون المنفذ 8443 عند استخدام TLS، أو 8123 عند عدم استخدام TLS.                       |
    | `DATABASE NAME`           | افتراضيًا، توجد قاعدة بيانات باسم `default`. استخدم اسم قاعدة البيانات التي تريد الاتصال بها. |
    | `USERNAME` and `PASSWORD` | افتراضيًا، يكون اسم المستخدم `default`. استخدم اسم المستخدم المناسب لحالة الاستخدام لديك.     |

    تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console.
    حدِّد خدمة ثم انقر على **Connect**:

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=ec0a298a33ca841e947fa5e8bae47362" alt="زر Connect لخدمة ClickHouse Cloud" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
      </Frame>
    </div>

    اختر **HTTPS**. ستظهر تفاصيل الاتصال في مثال لأمر `curl`.

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=cb0fbd98aa2b5b7ca484c9f53395ee07" alt="تفاصيل اتصال HTTPS لخدمة ClickHouse Cloud" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
      </Frame>
    </div>

    إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
  </Step>

  <Step title="إنشاء نوع اتصال لـ ClickHouse" id="2-create-a-clickhouse-connection-type">
    يمكنك إضافة اتصال لقاعدة بيانات باستخدام Embeddable API. يُستخدم هذا اتصال للاتصال بخدمة ClickHouse الخاصة بك. يمكنك إضافة اتصال باستخدام استدعاء API التالي:

    ```javascript title="Query" theme={null}
    // for security reasons, this must *never* be called from your client-side
    fetch('https://api.embeddable.com/api/v1/connections', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        Accept: 'application/json',
        Authorization: `Bearer ${apiKey}` /* keep your API Key secure */,
      },
      body: JSON.stringify({
        name: 'my-clickhouse-db',
        type: 'clickhouse',
        credentials: {
          host: 'my.clickhouse.host',
          user: 'clickhouse_user',
          port: 8443,
          password: '*****',
        },
      }),
    });
    ```

    ```text title="Response" theme={null}
    Status 201 { errorMessage: null }
    ```

    يمثّل ما سبق إجراء `CREATE`، ولكن جميع عمليات `CRUD` متاحة.

    يمكن العثور على `apiKey` بالنقر على "**Publish**" في إحدى لوحات معلومات Embeddable.

    يشير `name` إلى اسم فريد لتحديد هذا الاتصال.

    * بشكل افتراضي، ستبحث نماذج البيانات لديك عن اتصال باسم "default"، ولكن يمكنك تزويد نماذجك بأسماء `data_source` مختلفة لدعم ربط نماذج بيانات مختلفة باتصالات مختلفة (ما عليك سوى تحديد اسم data\_source في النموذج)

    يحدّد `type` لـ Embeddable برنامج التشغيل الذي يجب استخدامه.

    * هنا ستحتاج إلى استخدام `clickhouse`، ولكن يمكنك ربط عدة مصادر بيانات مختلفة بمساحة عمل Embeddable واحدة، لذا قد تستخدم مصادر أخرى مثل: `postgres` و`bigquery` و`mongodb` وما إلى ذلك.

    `credentials` هو كائن JavaScript يحتوي على بيانات الاعتماد المطلوبة التي يتوقعها برنامج التشغيل.

    * تُشفَّر هذه البيانات بأمان، ولا تُستخدم إلا لاسترداد البيانات التي وصفتها بدقة في نماذج البيانات الخاصة بك.
      وتوصي Embeddable بشدة بإنشاء مستخدم قاعدة بيانات للقراءة فقط لكل اتصال (إذ لن تقوم Embeddable إلا بالقراءة من قاعدة البيانات لديك، ولن تكتب فيها).

    لدعم الاتصال بقواعد بيانات مختلفة لبيئات الإنتاج وqa والاختبار وما إلى ذلك (أو لدعم قواعد بيانات مختلفة لعملاء مختلفين)، يمكنك إسناد كل اتصال إلى بيئة (راجع [Environments API](https://docs.embeddable.com/data/environments)).
  </Step>
</Steps>
