Bu konu, bir ApsaraMQ for Kafka örneğindeki kaynak konudan Object Storage Service (OSS) veri aktarmak üzere bir OSS çıkış bağlayıcısının nasıl oluşturulacağını açıklar.
Ön koşullar
Başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:
ApsaraMQ for Kafka örneğinizde bağlayıcı özelliği etkinleştirilmiş olmalıdır. Daha fazla bilgi için bkz. Connectors'ı etkinleştirme.
ApsaraMQ for Kafka örneğinde bir kaynak konu oluşturulmuş olmalıdır. Daha fazla bilgi için bkz. Adım 1: Konu oluşturma.
OSS konsolunda bir paket oluşturulmuş olmalıdır. Daha fazla bilgi için bkz. Paket oluşturma.
Function Compute hizmeti etkinleştirilmiş olmalıdır. Daha fazla bilgi için bkz. Function Compute'ı etkinleştirme.
Kullanım notları
Bağlayıcı, bir ApsaraMQ for Kafka örneğindeki kaynak konudan Function Compute'a ve ardından Function Compute'tan Object Storage Service'e (OSS) veri aktarır. ApsaraMQ for Kafka örneği, Function Compute hizmeti ve OSS paketi aynı bölgede bulunmalıdır. Bağlayıcı sınırlamaları hakkında daha fazla bilgi için bkz. Sınırlamalar.
Bu özellik Function Compute hizmetine dayanır. Function Compute ücretsiz bir kota sağlar. Ücretsiz kotayı aşarsanız kullandığınız ek kaynaklar için ücretlendirilirsiniz. Faturalandırma hakkında daha fazla bilgi için bkz. Faturalandırmaya genel bakış.
Function Compute, işlev çağrıları için günlük sorgulamayı destekler. Daha fazla bilgi için bkz. Günlükleri yapılandırma.
Mesajları dışa aktarırken ApsaraMQ for Kafka bunları UTF-8 dize kodlaması kullanarak serileştirir. İkili veri biçimleri desteklenmez.
OSS çıkış bağlayıcısı oluşturun ve dağıtın
ApsaraMQ for Kafka konsoluna giriş yapın.
Overview sayfasında, Resource Distribution bölümünden bir bölge seçin.
Soldaki gezinme bölmesinde Connectors seçeneğine tıklayın.
Connectors sayfasında, Select Instance açılır listesinden bağlayıcının ait olduğu örneği seçin ve Create Connector düğmesine tıklayın.
-
Create Connector sihirbazında aşağıdaki adımları uygulayın:
-
Configure Basic Information adımında parametreleri yapılandırın ve Next düğmesine tıklayın. Aşağıdaki tabloda parametreler açıklanmaktadır.
ÖnemliApsaraMQ for Kafka, Authorize to Create Service Linked Role seçeneğini otomatik olarak belirler.
Hizmete bağlı bir rol oluşturulmamışsa ApsaraMQ for Kafka sizin için otomatik olarak bir tane oluşturur. Bu rol, ApsaraMQ for Kafka hizmetinin OSS'ye veri aktarmasını sağlar.
Hizmete bağlı bir rol zaten varsa ApsaraMQ for Kafka yeni bir rol oluşturmaz.
Bu hizmete bağlı rol hakkında daha fazla bilgi için bkz. Hizmete bağlı roller.
Parametre
Açıklama
Örnek
Name
Bağlayıcının adıdır. Ad aşağıdaki gereksinimleri karşılamalıdır:
-
Ad en fazla 48 karakter uzunluğunda olabilir ve yalnızca rakamlar, küçük harfler ve kısa çizgi (-) içerebilir. Ad kısa çizgi (-) ile başlayamaz.
-
Ad, aynı ApsaraMQ for Kafka örneği içinde benzersiz olmalıdır.
Bir Connector için veri senkronizasyon görevi, connect-görev adı adlı bir Group kullanmalıdır. Group öğesini manuel olarak oluşturmazsanız sistem bunu sizin için otomatik olarak oluşturur.
kafka-oss-sink
Instance
Varsayılan olarak örneğin adı ve ID'si görüntülenir.
demo alikafka_post-cn-st21p8vj****
-
Configure Source Service adımında kaynak hizmet olarak Message Queue for Apache Kafka seçeneğini belirleyin, parametreleri yapılandırın ve ardından Next düğmesine tıklayın. Aşağıdaki tabloda parametreler açıklanmaktadır.
Parametre
Açıklama
Örnek
Data Source Topic
Verilerin dışa aktarılacağı konudur.
oss-test-input
Consumer Thread Concurrency
Kaynak konu için eşzamanlı tüketici iş parçacığı sayısıdır. Varsayılan değer: 6. Geçerli değerler:
-
1
-
2
-
3
-
6
-
12
6
Consumer Offset
Tüketimin başlatılacağı ofsettir. Geçerli değerler:
-
Earliest Offset: Tüketim, bölümdeki ilk kullanılabilir mesajdan başlar.
-
Latest Offset: Tüketim, bağlayıcı başladıktan sonra üretilen sonraki mesajdan başlar.
Earliest Offset
VPC ID
Veri senkronizasyon görevinin çalıştığı VPC'dir. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. Varsayılan olarak bu parametre ApsaraMQ for Kafka örneğinin VPC'sine ayarlanır ve yapılandırma gerektirmez.
vpc-bp1xpdnd3l***
vSwitch ID
Veri senkronizasyon görevi için vSwitch'tir. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. vSwitch, ApsaraMQ for Kafka örneğiyle aynı VPC'de olmalıdır. Varsayılan olarak bu, ApsaraMQ for Kafka örneği dağıtıldığında belirtilen vSwitch'tir.
vsw-bp1d2jgg81***
Failure Handling Policy
Bir konu bölümünde mesaj teslim hatası olması durumunda uygulanacak ilkeyi belirtir. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. Geçerli değerler:
-
Continue Subscription: Hatanın oluştuğu konu bölümüne aboneliğe devam eder ve bir hata günlüğü yazdırır.
-
Stop Subscription: Hatanın oluştuğu konu bölümüne aboneliği durdurur ve bir hata günlüğü yazdırır.
Not-
Günlükleri görüntüleme hakkında bilgi için bkz. Bağlayıcıyla ilgili işlemler.
-
Hata kodlarına göre çözüm bulma hakkında bilgi için bkz. Hata kodları.
Continue Subscription
Resource Creation Method
Bağlayıcının ihtiyaç duyduğu konular ve tüketici grubu için oluşturma yöntemidir. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın.
-
Auto
-
Manual
Auto
Connector Consumer Group
Bağlayıcı tarafından kullanılan consumer group'tur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. Bu consumer group adının
connect-clusterile başlaması önerilir.connect-cluster-kafka-oss-sink
Task Offset Topic
Tüketici ofsetlerinin depolandığı konudur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın.
-
Konu: Konu adının
connect-offsetile başlaması önerilir. -
Bölüm sayısı: Bölüm sayısı 1'den büyük olmalıdır.
-
Depolama motoru: Konunun depolama motoru Local storage olmalıdır.
NotYalnızca Professional Edition örnekleri, konu oluştururken Local storage seçimini destekler. Standard Edition örnekleri bu özelliği desteklemez.
-
cleanup.policy: Konu için günlük temizleme ilkesi
compactolmalıdır.
connect-offset-kafka-oss-sink
Task Configuration Topic
Görev yapılandırmalarının depolandığı konudur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın.
-
Konu: Konu adının
connect-configile başlaması önerilir. -
Bölüm sayısı: Bölüm sayısı 1 olmalıdır.
-
Depolama motoru: Konunun depolama motoru Local storage olmalıdır.
NotYalnızca Professional Edition örnekleri, konu oluştururken Local storage seçimini destekler. Standard Edition örnekleri bu özelliği desteklemez.
-
cleanup.policy: Konu için günlük temizleme ilkesi
compactolmalıdır.
connect-config-kafka-oss-sink
Task Status Topic
Görev durumunun depolandığı konudur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın.
-
Konu: Konu adının
connect-statusile başlaması önerilir. -
Bölüm sayısı: Bölüm sayısını 6 olarak ayarlamanız önerilir.
-
Depolama motoru: Konunun depolama motoru Local storage olmalıdır.
NotYalnızca Professional Edition örnekleri, konu oluştururken Local storage seçimini destekler. Standard Edition örnekleri bu özelliği desteklemez.
-
cleanup.policy: Konu için günlük temizleme ilkesi
compactolmalıdır.
connect-status-kafka-oss-sink
Dead-letter Queue Topic
Kafka Connect çerçevesinden gelen özel durum verilerinin depolandığı konudur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. Konu kaynaklarını korumak için bu konu, Error Data Topic ile aynı olabilir.
-
Konu: Konu adının
connect-errorile başlaması önerilir. -
Bölüm sayısı: Bölüm sayısını 6 olarak ayarlamanız önerilir.
-
Depolama motoru: Konunun depolama motoru Local storage veya Cloud storage olabilir.
NotYalnızca Professional Edition örnekleri, konu oluştururken Local storage seçimini destekler. Standard Edition örnekleri bu özelliği desteklemez.
connect-error-kafka-oss-sink
Error Data Topic
Çıkıştan (sink) gelen özel durum verilerinin depolandığı konudur. Bu parametreyi görüntülemek için Configure Runtime Environment seçeneğine tıklayın. Konu kaynaklarını korumak için bu konu, Dead-letter Queue Topic ile aynı olabilir.
-
Konu: Konu adının
connect-errorile başlaması önerilir. -
Bölüm sayısı: Bölüm sayısını 6 olarak ayarlamanız önerilir.
-
Depolama motoru: Konunun depolama motoru Local storage veya Cloud storage olabilir.
NotYalnızca Professional Edition örnekleri, konu oluştururken Local storage seçimini destekler. Standard Edition örnekleri bu özelliği desteklemez.
connect-error-kafka-oss-sink
-
-
Configure Destination Service adımında hedef hizmet olarak Object Storage Service seçeneğini belirleyin, parametreleri ayarlayın ve ardından Create düğmesine tıklayın. Aşağıdaki tabloda parametreler açıklanmaktadır.
Parametre
Açıklama
Örnek
Bucket Name
OSS paketinin adıdır.
bucket_test
AccessKey ID
Alibaba Cloud hesabınızın AccessKey ID'sidir.
yourAccessKeyID
AccessKey Secret
Alibaba Cloud hesabınızın AccessKey gizli anahtarıdır.
yourAccessKeySecretEn az ayrıcalık ilkesine göre Alibaba Cloud hesabınıza aşağıdaki izinlerin verildiğinden emin olun:
{ "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:PutObject" ], "Resource": "*", "Effect": "Allow" } ] }NotApsaraMQ for Kafka, görevi oluştururken AccessKey ID ve AccessKey Secret değerlerini ortam değişkenleri olarak OSS'ye iletir. Oluşturmadan sonra ApsaraMQ for Kafka bu anahtarları depolamaz.
Bağlayıcı oluşturulduktan sonra bunu Connectors sayfasında görüntüleyebilirsiniz.
-
Connectors sayfasına gidin, oluşturduğunuz bağlayıcıyı bulun ve Actions sütununda Deploy seçeneğine tıklayın.
Mesaj gönderin
Verilerin OSS'ye aktarıldığını doğrulamak için ApsaraMQ for Kafka içindeki kaynak konuya bir mesaj gönderebilirsiniz.
Connectors sayfasında hedef bağlayıcıyı bulun ve Actions sütununda Test seçeneğine tıklayın.
-
Send Message panelinde bir test mesajı gönderin.
-
Sending Method seçeneğini Console olarak ayarlayın.
Message Key metin kutusuna mesajın anahtarını girin. Örneğin: demo.
Message Content metin kutusuna test mesajının içeriğini girin. Örneğin: {"key": "test"}.
-
Mesajın belirli bir bölüme gönderilip gönderilmeyeceğini belirtmek için Send to Specified Partition seçeneğini ayarlayın.
Yes seçeneğine tıklayın ve Partition ID metin kutusuna bölüm kimliğini girin. Örneğin: 0. Bölüm kimliğini sorgulamak için bkz. Bölüm durumunu görüntüleme.
Bir bölüm belirtmemek için No seçeneğine tıklayın.
Sending Method seçeneğini Docker olarak ayarlayın. Mesajı göndermek için Run the Docker container to produce a sample message bölümündeki Docker komutunu çalıştırın.
Sending Method seçeneğini SDK olarak ayarlayın. Mesaj göndermek için gerekli dil veya çerçeve için bir SDK ve bir bağlantı türü seçin.
-
Sonuçları doğrulayın
ApsaraMQ for Kafka içindeki kaynak konuya bir mesaj gönderdikten sonra verilerin dışa aktarıldığını doğrulamak için OSS dosya yöneticisini kontrol edin. Daha fazla bilgi için bkz. Dosyalara genel bakış.
OSS paketinde yeni nesneler oluşturuluyorsa veriler OSS'ye senkronize edilmiştir.
Aşağıdaki örnek, ApsaraMQ for Kafka hizmetinden OSS'ye aktarılan verilerin biçimini göstermektedir:
[
{
"key":"123",
"offset":4,
"overflowFlag":true,
"partition":0,
"timestamp":1603779578478,
"topic":"Test",
"value":"1",
"valueSize":272687
}
]
İlgili işlemler
Gereksinimlerinize göre OSS çıkış bağlayıcısı için gereken Function Compute kaynaklarını yapılandırabilirsiniz.
Connectors sayfasında oluşturduğunuz bağlayıcıyı bulun, Actions sütununda More seçeneğine tıklayın ve ardından seçeneğini belirleyin.
Function Compute konsoluna yönlendirilirsiniz; burada işlev kaynaklarını gerektiği gibi yapılandırabilirsiniz.