رابط MongoDB كافكا الرسمي.
وثائق الموصل متاحة على https://docs.mongodb.com/kafka-connector/current/
سيتم نشر الرابط على maven Central.
بالنسبة للمشكلات المتعلقة بموصل MongoDB Kafka أو الأسئلة المتعلقة به أو التعليقات عليه، يرجى الاطلاع على قنوات الدعم لدينا. يرجى عدم إرسال بريد إلكتروني إلى أي من مطوري موصل Kafka مباشرةً بشأن المشكلات أو الأسئلة - فمن المرجح أن تحصل على إجابة في منتديات مجتمع MongoDB.
كحد أدنى، يرجى تضمين الإصدار الدقيق لبرنامج التشغيل الذي تستخدمه في الوصف الخاص بك. إذا كنت تواجه مشكلات في الاتصال، فغالبًا ما يكون من المفيد أيضًا اللصق في تكوين موصل Kafka. يجب عليك أيضًا التحقق من سجلات التطبيق الخاص بك بحثًا عن أي استثناءات متعلقة بالاتصال ونشرها أيضًا.
هل تعتقد أنك وجدت خطأ؟ هل تريد رؤية ميزة جديدة في برنامج تشغيل كافكا؟ يُرجى فتح حالة في أداة إدارة المشكلات الخاصة بنا، JIRA:
إنشاء حساب وتسجيل الدخول.
انتقل إلى مشروع كافكا.
انقر فوق إنشاء مشكلة - يرجى تقديم أكبر قدر ممكن من المعلومات حول نوع المشكلة وكيفية إعادة إنتاجها.
تقارير الأخطاء في JIRA للموصل عامة .
إذا حددت ثغرة أمنية في موصل أو أي مشروع آخر في MongoDB، فيرجى الإبلاغ عنها وفقًا للتعليمات الواردة هنا.
يتبع موصل MongoDB Kafka الإصدارات الدلالية. راجع سجل التغيير للحصول على معلومات حول التغييرات بين الإصدارات.
مطلوب Java 8+ لبناء المصدر وتجميعه. لبناء واختبار برنامج التشغيل:
$ git clone https://github.com/mongodb/mongo-kafka.git $ cd mongo-kafka $ ./gradlew check -Dorg.mongodb.test.uri=mongodb://localhost:27017
تتطلب مجموعة الاختبار تشغيل mongod. لاحظ أن الموصل المصدر يتطلب نسخة متماثلة.
روس لولي [email protected]
يعمل موصل الحوض الأصلي بواسطة: Hans-Peter Grahsl: https://github.com/hpgrahsl/kafka-connect-mongodb
يمكن العثور على المساهمين الإضافيين هنا.
./gradlew publishArchives
- ينشر إلى Maven
./gradlew createConfluentArchive
- يقوم بإنشاء ملف مضغوط لإصدار الأرشيف / github
يلزم وجود خطوتين للتكوين اليدوي لتشغيل التعليمات البرمجية في IntelliJ:
خطأ: java: cannot find symbol. symbol: variable Versions
الإصلاحات: أي مما يلي:
قم بتشغيل مهمة compileBuildConfig
: على سبيل المثال: ./gradlew compileBuildConfig
أو عبر Gradle > mongo-kafka > المهام > أخرى > CompileBuildConfig
قم بتعيين compileBuildConfig
للتنفيذ قبل الإنشاء. عبر Gradle > المهام > أخرى > انقر بزر الماوس الأيمن على CompilBuildConfig - انقر على "التنفيذ قبل الإنشاء"
تفويض جميع إجراءات البناء إلى Gradle: الإعدادات > البناء والتنفيذ والنشر > أدوات البناء > Gradle > Runner - حدد "تفويض إجراءات إنشاء/تشغيل IDE إلى Gradle"
يمكن تنفيذ واجهة com.mongodb.kafka.connect.util.custom.credentials.CustomCredentialProvider
لتوفير كائن من النوع com.mongodb.MongoCredential
الذي يتم تغليفه في MongoClient الذي تم إنشاؤه للموصل والموصل المصدر. يجب تعيين الخصائص التالية -
mongo.custom.auth.mechanism.enable - set to true. mongo.custom.auth.mechanism.providerClass - qualified class name of the implementation class
خصائص إضافية ويمكن تعيينها على النحو المطلوب ضمن فئة التنفيذ. يتم استدعاء أساليب init والتحقق من صحة فئة التنفيذ عند تهيئة الموصل.
عند استخدام آلية مصادقة MONGODB-AWS للأطلس، يمكن للمرء تحديد التكوين التالي -
"connection.uri": "mongodb+srv:///?authMechanism=MONGODB-AWS" "mongo.custom.auth.mechanism.enable": true, "mongo.custom.auth.mechanism.providerClass": "sample.AwsAssumeRoleCredentialProvider" "mongodbaws.auth.mechanism.roleArn": "arn:aws:iam:: :role/ "
هنا يجب أن يكون sample.AwsAssumeRoleCredentialProvider
متاحًا على مسار الفصل. يعد mongodbaws.auth.mechanism.roleArn
مثالاً على الخصائص المخصصة التي يمكن قراءتها بواسطة sample.AwsAssumeRoleCredentialProvider
.
فيما يلي نموذج التعليمات البرمجية الذي يمكن أن يعمل.
public class AwsAssumeRoleCredentialProvider Implements CustomCredentialProvider { public AwsAssumeRoleCredentialProvider() {} @Override public MongoCredential getCustomCredential(Map, ?> Map) { AWSCredentialsProvider Provider = new DefaultAWSCredentialsProviderChain(); الموردawsFreshCredentialSupplier = () -> { AWSSecurityTokenService stsClient = AWSSecurityTokenServiceAsyncClientBuilder.standard() .مع بيانات الاعتماد (المزود) .withRegion("شرق الولايات المتحدة-1") .يبني()؛ AssumeRoleRequest المفترض RoleRequest = AssumeRoleRequest () الجديد.withDurationSeconds (3600) .withRoleArn((String)map.get("mongodbaws.auth.mechanism.roleArn")) .withRoleSessionName("Test_Session"); AssumeRoleResultفترض RoleResult = stsClient.assumeRole(assumeRoleRequest); بيانات الاعتماد creds =فترضRoleResult.getCredentials(); // أضف الكود الخاص بك لجلب بيانات اعتماد جديدة return new AwsCredential(creds.getAccessKeyId(), creds.getSecretAccessKey(), creds.getSessionToken()); }; إرجاع MongoCredential.createAwsCredential(null, null) .withMechanismProperty(MongoCredential.AWS_CREDENTIAL_PROVIDER_KEY, awsFreshCredentialSupplier); } @Override public void validate(Map, ?> Map) { String roleArn = (String)map.get("mongodbaws.auth.mechanism.roleArn"); if (StringUtils.isNullOrEmpty(roleArn)) { throw new RuntimeException("تم تعيين قيمة غير صالحة لـ customProperty"); } } @Override public void init(Map, ?> خريطة) { } }
إليك ملف pom.xml الذي يمكنه إنشاء الجرة الكاملة التي تحتوي على AwsAssumeRoleCredentialProvider
4.0.0 نموذج AwsAssumeRoleCredentialProvider <الإصدار>1.0-SNAPSHOTالإصدار> <بناء> <الإضافات> <البرنامج المساعد>org.apache.maven.plugins maven-shade-plugin <الإصدار>3.5.3الإصدار> <التكوين> التكوين> <الإعدام> <التنفيذ>الحزمة <الأهداف>الظل الأهداف> التنفيذ> التنفيذ> الإضافات> بناء> <التبعيات> <التبعية>org.mongodb mongodb-driver-sync <الإصدار>5.1.0الإصدار> التبعية> <التبعية>com.amazonaws aws-java-sdk <الإصدار>1.12.723الإصدار> التبعية> <التبعية>org.slf4j slf4j-jdk14 <الإصدار>1.7.28الإصدار> التبعية> <التبعية>kafka-connect kafka-connect <النطاق>النظامالنطاق>1.12.1-SNAPSHOT /Users/jagadish.nallapaneni/mongo-kafka/build/libs/mongo-kafka-connect-1.12.1-SNAPSHOT-confluent.jar التبعية> التبعيات> <خصائص>17 17 UTF-8 خصائص> مشروع>