Oracle Analitik'i Oracle Bulut Altyapısı Fonksiyonlar ile Entegre Etme

Verileri dönüştürmek üzere veri akışlarında kullanabilmek için Oracle Analitik'i Oracle Bulut Altyapısı fonksiyonları ile entegre edin.

Oracle Analitik'te Oracle Bulut Altyapısı Fonksiyonlarını Kullanma Hakkında

Oracle Bulut Altyapısı'nda oluşturulan fonksiyonları kullanarak Oracle Analitik'teki verileri dönüştürebilirsiniz. Örneğin, İngilizce metni İspanyolca veya Almancaya dönüştürmek için bir dil dönüştürme fonksiyonu kullanabilirsiniz.

Oracle Bulut Altyapısı fonksiyonlarını önce Oracle Analitik'e kaydedersiniz ve ardından İş Zekası Hizmet Yöneticisi veya Veri Görselleştirme İçerik Yazarı yetkilerine sahip herhangi bir Oracle Analitik kullanıcısı bunları veri akışlarında kullanabilir.

Oracle Analitik'te Kullanmak İçin Oracle Bulut Altyapısı (OCI) Fonksiyonlarını Konfigüre Etme Hakkında

Oracle Analitik veri akışlarındaki verileri dönüştürmek üzere kullanabilmeniz için Oracle Bulut Altyapısı Konsolunda fonksiyonlar oluşturun.

Oracle Analitik'te Oracle Bulut Altyapısı Fonksiyonlarını Kaydetme Hakkında

Oracle Analitik'te bir Oracle Bulut Altyapısı fonksiyonu kaydettiğinizde, fonksiyonun Fonksiyon Seçin iletişim kutusunda gri olması durumunda, oac-compatible etiketiyle konfigüre edildiğini ve doğru funcMode değeriyle çağrıldığını kontrol edin.
GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png açıklaması aşağıdadır
.png'' çiziminin açıklaması

Oracle Analitik'te kullanmak için Oracle Bulut Altyapısı Fonksiyonlarını Konfigüre Etme Hakkında

Oracle Analitik'te kullanmak istediğiniz Oracle Bulut Altyapısı fonksiyonlarının oac compatible etiketine sahip olması ve fonksiyon kodunun funcMode değişkenini içermesi gerekir. Oracle Bulut Altyapısı Konsolunda bu ayarları konfigüre edin:

  • oac-compatible - Fonksiyona oac-compatible adında serbest formlu bir etiket ekleyin ve true değerini ayarlayın.GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png açıklaması aşağıdadır
    .png'' çiziminin açıklaması
  • funcMode - Fonksiyon kodunuza funcMode değişkenini ekleyin. Oracle Analytics, funcMode=describeFunction ile bir Oracle Bulut Altyapısı fonksiyonunu kaydetmek için bir istek ve funcMode=executeFunction ile bir Oracle Bulut Altyapısı fonksiyonunu çağırmak için bir istek gönderir. func.py içindeki işleyici fonksiyonu, describeFunction modunda veya executeFunction modunda çalışmalıdır. Bu, aşağıda gösterildiği gibi istekten gelen funcMode girdi değişkeninin değerine göre yapılabilir.

    GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png açıklaması aşağıdadır
    .png'' çiziminin açıklaması

    Python'da Sözcük Sayısı için Oracle Bulut Altyapısı Fonksiyonları örneğinin istek ve yanıt formatı aşağıdadır.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    İstekteki funcMode 'describeFunction' olduğunda fonksiyon; durum (returnCode ve errorMessage), çıktılar (ad, çıktı sütununun dataType), parametreler (girdi parametresinin adı, açıklaması, tipi vb.), bucketName vb. ile birlikte fonksiyon tanımını JSON nesnesi olarak şu formatta döndürmelidir (sözcük sayısı örneği):

    funcDefinition = {
        "status": {
            "returnCode": 0,
            "errorMessage": ""
        },
        "funcDescription": {
            "outputs": [
                {"name": "word_count", "dataType": "integer"}
            ],
            "parameters": [
                {"name": "textColumn", "displayName": "Text Column",
                 "description": "Choose column to count words", "required": True,
                 "value": {"type": "column"}}
            ],
            "bucketName": "bucket-OCI-FAAS",
            "isOutputJoinableWithInput": True
        }
    }

    İstekte funcMode 'describeFunction' olduğunda funcDefinition'ı döndürmek için func.py'ye aşağıdaki kodu ekleyin.

    def handler(ctx, data: io.BytesIO = None):
        response_data = ""
        try:
            body = json.loads(data.getvalue())
            funcMode = body.get("funcMode")
            if funcMode == 'describeFunction':
               response_data = json.dumps(funcDefinition)
        except (Exception, ValueError) as ex:
            response_data = json.dumps(
                {"error": "{0}".format(str(ex))})
        return response.Response(
            ctx, response_data,
            headers={"Content-Type": "application/json"}
        )

    funcMode = executeFunction - funcMode 'executeFunction' olduğunda, gerçek fonksiyon mantığı yürütülmeli ve yanıt çıktıyla birlikte Oracle Analitik'e geri gönderilmelidir. Kayıtlı fonksiyon Oracle Analitik'teki veri akışından çağrıldığında, istek nesnesi bağımsız değişkenlerde, girdide (bucketName, fileName, fileExtension, fileName, method & rowID) ve çıktıdaki (bucketName, fileName & fileExtension) sütun adıyla aşağıdaki formatta olacaktır.

    {
        "args":
        {
            "textColumn": "REVIEW"
        },
        "funcMode": "executeFunction",
        "input":
        {
            "bucketName": "bucket-OCI-FAAS",
            "fileExtension": ".csv",
            "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-input",
            "method": "csv",
            "rowID": "row_id"
        },
        "output":
        {
            "bucketName": "bucket-OCI-FAAS",
            "fileExtension": ".csv",
            "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-output"
        }
    }

Oracle Bulut Altyapısı'nda Fonksiyon Oluşturma Hakkında

Oracle Bulut Altyapısı Konsolunu, komut satırını (Fn Project Komut Satırı Arayüzü) veya Uygulama Programı Arabirimini kullanarak fonksiyonlar oluşturabilirsiniz. Örneğin, Oracle Bulut Altyapısı Konsolunda Geliştirici Hizmetleri'ne ve Fonksiyonlar'a tıklayın, ardından uygulama ve bir veya daha fazla fonksiyon oluşturmak için ekrandaki talimatı izleyin. Detaylar için bkz. Oracle Bulut Altyapısı Dokümantasyonunda Fonksiyon Oluşturma. Fonksiyonları ilk kez oluşturuyorsanız, Helloworld Fonksiyonu Oluşturma, Devreye Alma ve Çağırma uçtan uca örneğindeki adımları izleyin. Oracle Analitik'te kullanmak istediğiniz tüm fonksiyonlar, oac-compatible=true serbest form etiketini içermelidir (yukarıdaki Oracle Bulut Altyapısı Fonksiyonlarını Oracle Analitikte kullanmak için Konfigüre Etme hakkında bölümüne bakın).

Oracle Bulut Altyapısı'nda Fonksiyon Oluşturma Hakkında İpuçları

  • Günlükleri Etkinleştir - Öndeğer olarak, günlükler fonksiyonlar için devre dışı bırakılır. Fonksiyonlar için günlükleri etkinleştirmek üzere Uygulamalar sayfasında Günlükler'e tıklayın ve Günlük Adı için sağlanan günlüğü etkinleştirin. Kaynaklar bölümünde artık Günlüğü Keşfet'i seçebilir ve hata ayıklamak ve fonksiyon sorunlarını tanılamak için günlük girişlerinin detayına gidebilirsiniz.
  • Bağımlılıkları Ekleyin - Fonksiyon için requirements.txt dosyasına bağımlı paketleri ekleyin.
  • Girinti Kurallarını İzleyin - Python fonksiyonlarını kodlarken Python girinti kurallarını izleyin.
  • Fonksiyon Yanıt Hatalarını Kullanın - Sorunlara tanı koymak için Veri Akışı sayfasında listelenen hata detaylarını kullanın.
  • Önce Fonksiyonları Yerel Olarak Test Edin - OCI'da bir fonksiyon oluşturmadan önce, fonksiyonun söz dizimsel ve mantıksal olarak doğru olduğuna emin olmak için fonksiyonu geliştirme ortamınızda yerel olarak test edin.
  • Fonksiyonları Oracle Bulut Altyapısı'nda test edin - İşlevleri Oracle Analitik ile entegre etmeden önce, bunları Oracle Bulut Altyapısı'nda bağımsız fonksiyonlar olarak başarıyla devreye alabildiğinize ve çağırabildiğinize emin olun.
  • Zaman Aşımını Artırın- Öndeğer olarak, fonksiyonların zaman aşımı 30 saniyedir. Gerekirse, OCI Konsolundaki Fonksiyonu Düzenle sayfasındaki zaman aşımı ayarını artırın (örneğin, 300 saniyeye değiştirin).
  • Belleği Artırın- Varsayılan olarak, fonksiyonların bellek limiti 1024 MB'dir. Gerekirse, OCI Konsolundaki Fonksiyonu Düzenle sayfasındaki bellek limitini artırın.
  • Alanı Optimize Edin - Kullanılmayan dosyaları kullanımdan hemen sonra silin.
  • Ağ Gecikmesine Dikkat Edin - Ağ gecikmesinin genel işlemede hafif bir gecikmeye neden olabileceğini unutmayın.

Oracle Bulut Altyapısı Fonksiyonları ile Oracle Analitik Entegrasyonu İçin Gereken İlkeler

Oracle Bulut Altyapısı fonksiyonları ile Oracle Analitik entegrasyonu için gerekli güvenlik ilkelerine sahip olduğunuza emin olun.

Oracle Analitik Bulutu ve Oracle Bulut Altyapısı geçici kullanım alanınız arasında belirttiğiniz bağlantı kullanmak istediğiniz Oracle Bulut Altyapısı kaynaklarını içeren bölmede okuma, yazma ve silme izinlerine sahip olmalıdır. Oracle Bulut Altyapısı kullanıcısının şu minimum Oracle Bulut Altyapısı güvenlik ilkeleri ile bir kullanıcı grubuna ait olduğuna emin olun. Oracle Analitik'ten bir Oracle Bulut Altyapısı geçici kullanım alanına bağlandığınızda bir Oracle Bulut Altyapısı Uygulama Programı Arabirimi anahtarını veya bir kaynak esasını kullanabilirsiniz.

Not:

Kaynak esası için tüm Analitik anlarını dahil etmek üzere bölmede {request.principal.id='<analytics_instance_ocid>'} yerine {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} belirtin.
Uygulama Programı Arabirimi Anahtarı İlkeleri Kaynak Esası İlkeleri
<group_name> grubunun <compartment_name> bölmesinde functions-family kullanmasına izin ver <compartment_name> bölmesinde where all {request.principal.id='<analytics_instance_ocid>'} koşulu sağlandığında any-user tarafından functions-family kullanılmasına izin ver
<group_name> grubunun <compartment_name> bölmesinde buckets okumasına izin ver <compartment_name> bölmesinde where all {request.principal.id='<analytics_instance_ocid>'} koşulu sağlandığında any-user tarafından işletim alanlarının okunmasına izin ver
<group_name> grubunun <compartment_name> bölmesinde where target.bucket.name='<staging_bucket_name koşulu sağlandığında nesneleri yönetmesine izin ver <compartment_name> bölmesinde where all {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'} koşulu sağlandığında any-user tarafından nesnelerin yönetilmesine izin ver
<group_name> grubunun geçici kullanım alanında objectstorage-namespaces okumasına izin ver geçici kullanım alanında where all {request.principal.id='<analytics_instance_ocid>'} koşulu sağlandığında any-user tarafından objectstorage-namespaces okunmasına izin ver
Dinamik Grup İlkesi Açıklama
dynamic-group <dynamic_group> dinamik grubunun <compartment_name> bölmesinde where target.bucket.name='<staging_bucket_name koşulu sağlandığında nesneleri yönetmesine izin ver Dinamik grup için geçici işletim alanı erişimi sağlar.

Örnek eşleşen kural: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}. <compartment_id> fonksiyonları içeren bölmenin Oracle Bulut Tanımlayıcısıdır (OCID).

Oracle Bulut Altyapısı Fonksiyonlarını Kullanarak Veri Dönüştürme İşlemi İçin Genel İş Akışı

Oracle Bulut Altyapısı fonksiyonlarını kullanarak Oracle Analitik'te verileri dönüştürmek için bu üst düzey görevleri aşağıda listelenen sırayla izleyin.

Görev Açıklama Daha Fazla Bilgi

Oracle Bulut Altyapısı'nda fonksiyonlar oluşturun (fonksiyon geliştirici yetkileri gerektirir)

Oracle Bulut Altyapısı geçici kullanım alanınızda fonksiyonlarınızı oluşturun ve bunların Oracle Analitik ile kullanım için belirtilen ön koşullara uyduklarına emin olun.

Oracle Analitik'te Kullanmak İçin Oracle Bulut Altyapısı (OCI) Fonksiyonlarını Konfigüre Etme Hakkında

Oracle Bulut Altyapısı İlkelerini Atama Uygulama Programı Arabirimi veya kaynak esası kullanarak bağlanmak üzere gerekli Oracle Bulut Altyapısı ilkelerine sahip olduğunuza emin olun. Oracle Bulut Altyapısı Fonksiyonları ile Oracle Analitik Entegrasyonu İçin Gereken İlkeler
Oracle Analitik'i Oracle Bulut Altyapısı geçici kullanım alanınıza bağlayın (yönetici veya veri görselleştirme yazarı yetkileri gerektirir) Oracle Analitik'te, Oracle Bulut Altyapısı geçici kullanım alanınızın bağlantısını oluşturun.

Oracle Bulut Altyapısı Geçici Kullanım Alanınıza Bağlantı Oluşturma

Oracle Bulut Altyapısı fonksiyonlarını Oracle Analitik'e kaydedin (yönetici veya veri görselleştirme yazarı yetkileri gerektirir) Oracle Analitik'te, veri akışlarından çağırabilmeniz için Oracle Bulut Altyapısı fonksiyonlarınızı kaydedin.

Oracle Analitik'te Oracle Bulut Altyapısı Fonksiyonlarını Kaydetme

Oracle Bulut Altyapısı fonksiyonlarınızı kullanarak verilerinizi dönüştürün (yönetici veya veri görselleştirme yazarı yetkileri gerektirir) Bir veri akışı oluşturun ve Özel Komut Listesini Uygula adımını kullanarak bir Oracle Bulut Altyapısı fonksiyonunu çağırın.

Oracle Bulut Altyapısı Fonksiyonlarını Kullanarak Verileri Dönüştürme

Oracle Analitik'te Oracle Bulut Altyapısı Fonksiyonlarını Kaydetme

Verileri dönüştürmek üzere veri akışlarında kullanabilmek için Oracle Bulut Altyapısı fonksiyonlarını Oracle Analitik'te kaydedin. Örneğin, veri analistlerinin İngilizce metni İspanyolca veya Almancaya dönüştürebilmeleri için bir dil dönüştürme fonksiyonu kaydedebilirsiniz.

  1. Oracle Analitik'in giriş sayfasında Sayfa Menüsü'ne, ardından Modeli/Fonksiyonu Kaydet'e ve Oracle Bulut Altyapısı Fonksiyonları'na tıklayın.
  2. Özel Fonksiyon Kaydet iletişim kutusunda, fonksiyonlarınızın bulunduğu Oracle Bulut Altyapısı geçici kullanım alanınızın bağlantısını seçin.
  3. Uygulama Seç iletişim kutusunda, Oracle Bulut Altyapısı fonksiyonlarınızı içeren uygulamayı seçin.
    Emin değilseniz, Oracle Bulut Altyapısı'nda fonksiyonları oluşturan kişiye sorun.
  4. Fonksiyon Seçin iletişim kutusunda bir fonksiyon seçin ve ardından Kaydet'e tıklayın.
    Kullanmak istediğiniz fonksiyon griyse, yöneticiden fonksiyonun Oracle Analitik için konfigüre edildiğine emin olmasını isteyin. Oracle Analitik'te Kullanmak İçin Oracle Bulut Altyapısı (OCI) Fonksiyonlarını Konfigüre Etme Hakkında konusuna bakın.
Verileri dönüştürmek için veri akışlarında kayıtlı Oracle Bulut Altyapısı fonksiyonlarını kullanabilirsiniz. Hangi fonksiyonların kayıtlı olduğunu doğrulamak için Makine Öğrenimi sayfasının Komut Listeleri sekmesinde kayıtlı fonksiyonları görüntüleyebilirsiniz (Giriş sayfasından Gezgin'e Gezgini görüntülemek için kullanılan gezgin simgesi, Makine Öğrenimi'ne ve ardından Komut Listeleri'ne tıklayın).