Ενοποίηση Oracle Analytics με συναρτήσεις του Oracle Cloud Infrastructure

Ενοποιήστε το Oracle Analytics με τις συναρτήσεις του Oracle Cloud Infrastructure (OCI), ώστε να μπορείτε να τις χρησιμοποιείτε σε ροές δεδομένων για τον μετασχηματισμό δεδομένων.

Πληροφορίες σχετικά με τη χρήση συναρτήσεων του OCI στο Oracle Analytics

Μπορείτε να μετασχηματίσετε δεδομένα στο Oracle Analytics χρησιμοποιώντας συναρτήσεις που έχουν δημιουργηθεί στο OCI. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε μια συνάρτηση γλωσσικής μετατροπής, για να μετατρέψετε κείμενο από τα Αγγλικά στα Ισπανικά ή τα Γερμανικά.

Αφού εγγράψετε τις συναρτήσεις του OCI στο Oracle Analytics, οποιοσδήποτε χρήστης του Oracle Analytics με δικαιώματα Διαχειριστή υπηρεσίας BI ή Συντάκτη περιεχομένου DV μπορεί να τις χρησιμοποιήσει σε ροές δεδομένων.

Πληροφορίες σχετικά με τη διαμόρφωση συναρτήσεων του OCI για χρήση με το Oracle Analytics

Δημιουργήστε συναρτήσεις στην Κονσόλα OCI, προκειμένου να τις χρησιμοποιήσετε για τον μετασχηματισμό των δεδομένων στις ροές δεδομένων στο Oracle Analytics.

Πληροφορίες σχετικά με την εγγραφή συναρτήσεων του OCI στο Oracle Analytics

Όταν εγγράψετε μια συνάρτηση του OCI στο Oracle Analytics, εάν η συνάρτηση εμφανίζεται ανενεργή (με αχνό χρώμα) στο παράθυρο διαλόγου Επιλογή συνάρτησης, βεβαιωθείτε ότι η συνάρτηση έχει διαμορφωθεί με την ετικέτα oac-compatible και ότι η κλήση της γίνεται με τη σωστή τιμή funcMode.
Ακολουθεί η περιγραφή για GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png
.png''

Πληροφορίες σχετικά με τη διαμόρφωση συναρτήσεων του OCI για χρήση με το Oracle Analytics

Οι συναρτήσεις του OCI που θέλετε να χρησιμοποιούνται στο Oracle Analytics πρέπει να έχουν μια ετικέτα oac-compatible. Επιπλέον, ο κώδικας των συναρτήσεων πρέπει να περιλαμβάνει τη μεταβλητή funcMode. Διαμορφώστε αυτές τις ρυθμίσεις στην Κονσόλα OCI:

  • oac-compatible - Προσθέστε μια ετικέτα ελεύθερης μορφής στη συνάρτηση με όνομα oac-compatible και τιμή true.Ακολουθεί η περιγραφή για GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png
    .png''
  • funcMode - Συμπεριλάβετε τη μεταβλητή funcMode στον κώδικα της συνάρτησης. Το Oracle Analytics αποστέλλει ένα αίτημα για την εγγραφή μιας συνάρτησης του OCI με τη μεταβλητή funcMode=describeFunction και ένα αίτημα για την κλήση μιας συνάρτησης του OCI με τη μεταβλητή funcMode=executeFunction. Η διεργασία χειρισμού (handler) στο func.py πρέπει να εκτελείται στην κατάσταση λειτουργίας describeFunction ή executeFunction. Αυτό μπορεί να γίνει με βάση την τιμή της μεταβλητής εισόδου funcMode από το αίτημα, όπως φαίνεται παρακάτω.

    Ακολουθεί η περιγραφή για GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png
    .png''

    Αυτή είναι η μορφή αιτήματος και απόκρισης των συναρτήσεων του OCI για το παράδειγμα καταμέτρησης λέξεων σε python.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    Όταν η μεταβλητή funcMode στο αίτημα είναι 'describeFunction', η συνάρτηση πρέπει να επιστρέψει τον ορισμό συνάρτησης με status (returnCode και errorMessage), outputs(name, dataType στήλης αποτελεσμάτων), parameters(name, description, type κ.ο.κ.), bucketName κ.ο.κ. ως αντικείμενο JSON στην ακόλουθη μορφή (παράδειγμα καταμέτρησης λέξεων):

    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
        }
    }

    Προσθέστε τον ακόλουθο κώδικα στο func.py, προκειμένου να επιστρέφεται ο ορισμός συνάρτησης (funcDefinition) όταν η μεταβλητή funcMode στο αίτημα είναι 'describeFunction'.

    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', πρέπει να εκτελείται η πραγματική λογική της συνάρτησης και να επιστρέφεται στο Oracle Analytics η απόκριση με το αποτέλεσμα. Όταν η εγγεγραμμένη συνάρτηση καλείται από τη ροή δεδομένων στο Oracle Analytics, το αντικείμενο αιτήματος θα είναι στην ακόλουθη μορφή με το όνομα στήλης σε args, input(bucketName, fileName, fileExtension, fileName, method και rowID) και output(bucketName, fileName και fileExtension).

    {
        "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"
        }
    }

Πληροφορίες σχετικά με τη δημιουργία συναρτήσεων στο OCI

Μπορείτε να δημιουργήσετε συναρτήσεις χρησιμοποιώντας την Κονσόλα OCI, τη γραμμή εντολών (Fn Project CLI) ή το API. Για παράδειγμα, στην Κονσόλα OCI, κάντε κλικ στις επιλογές Υπηρεσίες προγραμματιστή και Συναρτήσεις, και ακολουθήστε τις οδηγίες στην οθόνη για να δημιουργήσετε εφαρμογές και μία ή περισσότερες συναρτήσεις. Για λεπτομέρειες, ανατρέξτε στην ενότητα Τεκμηρίωση για τη δημιουργία συναρτήσεων στο OCI. Αν δημιουργείτε συναρτήσεις πρώτη φορά, ακολουθήστε τα βήματα στο παράδειγμα Δημιουργία, ανάπτυξη και κλήση μιας συνάρτησης Helloworld. Οποιεσδήποτε συναρτήσεις θέλετε να χρησιμοποιήσετε στο Oracle Analytics πρέπει να περιλαμβάνουν την ετικέτα ελεύθερης μορφής oac-compatible (βλ. Πληροφορίες σχετικά με τη διαμόρφωση συναρτήσεων του OCI για χρήση με το Oracle Analytics παραπάνω).

Συμβουλές για τη δημιουργία συναρτήσεων στην Κονσόλα OCI

  • Ενεργοποίηση αρχείων καταγραφής - Τα αρχεία καταγραφής είναι από προεπιλογή απενεργοποιημένα για τις συναρτήσεις. Για να ενεργοποιήσετε τα αρχεία καταγραφής για τις συναρτήσεις, μεταβείτε στη σελίδα Εφαρμογές, κάντε κλικ στην επιλογή Αρχεία καταγραφής και ενεργοποιήστε το παρεχόμενο αρχείο καταγραφής για το Όνομα αρχείου καταγραφής. Στην ενότητα Πόροι, μπορείτε πλέον να επιλέξετε Εξερεύνηση αρχείου καταγραφής και να εξετάσετε τις καταχωρίσεις του αρχείου για να διαγνώσετε και να διορθώσετε ζητήματα που σχετίζονται με συναρτήσεις.
  • Συμπερίληψη εξαρτήσεων - Συμπεριλάβετε τα εξαρτώμενα πακέτα στο αρχείο requirements.txt για τη συνάρτηση.
  • Εφαρμογή κανόνων εσοχών - Ακολουθήστε τους κανόνες εσοχών της Python κατά την κωδικοποίηση συναρτήσεων σε Python.
  • Χρήση σφαλμάτων αποκρίσεων συναρτήσεων - Χρησιμοποιήστε τις λεπτομέρειες σφαλμάτων που εμφανίζονται στη σελίδα Ροή δεδομένων για τη διάγνωση των πιθανών προβλημάτων.
  • Δοκιμή συναρτήσεων πρώτα τοπικά - Πριν δημιουργήσετε μια συνάρτηση στο OCI, δοκιμάστε τη συνάρτηση τοπικά στο περιβάλλον ανάπτυξης, για να βεβαιωθείτε ότι είναι συντακτικά και λογικά σωστή.
  • Δοκιμή συναρτήσεων στο OCI - Πριν από την ενοποίηση των συναρτήσεων με το Oracle Analytics, βεβαιωθείτε ότι μπορείτε να τις αναπτύξετε και να τις καλέσετε με επιτυχία ως ανεξάρτητες συναρτήσεις στο OCI.
  • Αύξηση χρονικού ορίου - Οι συναρτήσεις έχουν από προεπιλογή ένα χρονικό όριο 30 δευτερολέπτων. Αν χρειάζεται, αυξήστε τη ρύθμιση του χρονικού ορίου (π.χ. στα 300 δευτερόλεπτα) στη σελίδα Επεξεργασία συνάρτησης στην Κονσόλα OCI.
  • Αύξηση μνήμης - Το προεπιλεγμένο όριο μνήμης για τις συναρτήσεις είναι 1024 MB. Αν χρειάζεται, αυξήστε τη ρύθμιση του ορίου μνήμης στη σελίδα Επεξεργασία συνάρτησης στην Κονσόλα OCI.
  • Βελτιστοποίηση χώρου - Διαγράψτε τα αρχεία που δεν πρόκειται να χρησιμοποιηθούν ξανά αμέσως μετά την ολοκλήρωση της εργασίας σας.
  • Προσοχή στην καθυστέρηση δικτύου - Να έχετε υπόψη ότι η καθυστέρηση δικτύου μπορεί να προκαλέσει μια μικρή καθυστέρηση στη συνολική επεξεργασία.

Πολιτικές που απαιτούνται για την ενοποίηση του OCI Functions με το Oracle Analytics

Για την ενοποίηση του Oracle Analytics με το OCI Functions, βεβαιωθείτε ότι έχετε τις απαιτούμενες πολιτικές ασφάλειας.

Ο χρήστης OCI που καθορίζετε στη σύνδεση μεταξύ του Oracle Analytics Cloud και της μίσθωσης OCI πρέπει να έχει δικαιώματα ανάγνωσης, εγγραφής και διαγραφής στο διαμέρισμα που περιέχει τους πόρους OCI που θέλετε να χρησιμοποιήσετε. Βεβαιωθείτε ότι ο χρήστης OCI ανήκει σε μια ομάδα χρηστών με τις ακόλουθες ελάχιστες πολιτικές ασφάλειας OCI. Όταν συνδεθείτε σε μια μίσθωση OCI από το Oracle Analytics, μπορείτε να χρησιμοποιήσετε είτε ένα κλειδί OCI API είτε ένα principal πόρου.

Σημείωση:

Σχετικά με το principal πόρου, για τη συμπερίληψη όλων των στιγμιότυπων Analytics σε ένα τμήμα, καθορίστε {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} αντί του {request.principal.id='<analytics_instance_ocid>'}.
Πολιτικές κλειδιού API Πολιτικές principal πόρου
Allow group <όνομα_ομάδας> to use functions-family in compartment <όνομα_διαμερίσματος> Allow any-user to use functions-family in compartment <όνομα_διαμερίσματος> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <όνομα_ομάδας> to read buckets in compartment <όνομα_διαμερίσματος> Allow any-user to read buckets in compartment <όνομα_διαμερίσματος> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <όνομα_ομάδας> to manage objects in compartment <όνομα_διαμερίσματος> where target.bucket.name='<staging_bucket_name>' Allow any-user to manage objects in compartment <όνομα_διαμερίσματος> where all {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'}
Allow group <όνομα_ομάδας> to read objectstorage-namespaces in tenancy Allow any-user to read objectstorage-namespaces in tenancy where all {request.principal.id='<analytics_instance_ocid>'}
Πολιτική δυναμικής ομάδας Περιγραφή
Allow dynamic-group <δυναμική_ομάδα> to manage objects in compartment <όνομα_διαμερίσματος> where target.bucket.name='<όνομα_ομάδας_προετοιμασίας>' Παρέχει πρόσβαση σε ένα καλάθι περιβάλλοντος δοκιμών για τη δυναμική ομάδα.

Παράδειγμα κανόνα αντιστοίχισης: <δυναμική_ομάδα>.{resource.type = 'fnfunc', resource.compartment.id = '<ocid_διαμερίσματος>'}, όπου <ocid_διαμερίσματος> είναι το αναγνωριστικό Oracle Cloud ID του διαμερίσματος που περιέχει τις συναρτήσεις.

Τυπική ροή εργασιών για τον μετασχηματισμό δεδομένων με χρήση συναρτήσεων του OCI

Εκτελέστε αυτές τις εργασίες υψηλού επιπέδου με τη σειρά που αναφέρονται παρακάτω για τον μετασχηματισμό δεδομένων στο Oracle Analytics με χρήση συναρτήσεων του OCI.

Εργασία Περιγραφή Περισσότερες πληροφορίες

Δημιουργία συναρτήσεων στο OCI (Απαιτούνται δικαιώματα προγραμματιστή συναρτήσεων)

Στη μίσθωσή σας στο OCI, δημιουργήστε συναρτήσεις που πληρούν τις καθορισμένες απαιτήσεις για χρήση με το Oracle Analytics.

Πληροφορίες σχετικά με τη διαμόρφωση συναρτήσεων του OCI για χρήση με το Oracle Analytics

Ανάθεση πολιτικών OCI Βεβαιωθείτε ότι έχετε τις απαραίτητες πολιτικές OCI για τη σύνδεση χρησιμοποιώντας το κλειδί API ή το principal πόρου. Πολιτικές που απαιτούνται για την ενοποίηση του OCI Functions με το Oracle Analytics
Σύνδεση του Oracle Analytics στη μίσθωσή σας στο OCI (Απαιτούνται δικαιώματα διαχειριστή ή συντάκτη DV) Στο Oracle Analytics, δημιουργήστε μια σύνδεση με τη μίσθωσή σας στο OCI.

Δημιουργία σύνδεσης με τη μίσθωσή σας Oracle Cloud Infrastructure

Εγγραφή συναρτήσεων του OCI στο Oracle Analytics (Απαιτούνται δικαιώματα διαχειριστή ή συντάκτη DV) Στο Oracle Analytics, εγγράψτε τις συναρτήσεις του OCI, ώστε να μπορείτε να τις καλείτε από ροές δεδομένων.

Εγγραφή συναρτήσεων του OCI στο Oracle Analytics

Μετασχηματισμός δεδομένων με χρήση συναρτήσεων του OCI (Απαιτούνται δικαιώματα διαχειριστή ή συντάκτη DV) Δημιουργήστε μια ροή δεδομένων και χρησιμοποιήστε το βήμα Εφαρμογή προσαρμοσμένης δέσμης ενεργειών για να καλέσετε μια συνάρτηση του OCI.

Μετασχηματισμός δεδομένων με χρήση συναρτήσεων του OCI

Εγγραφή συναρτήσεων του OCI στο Oracle Analytics

Εγγράψτε τις συναρτήσεις του OCI στο Oracle Analytics, προκειμένου να μπορείτε να τις χρησιμοποιείτε σε ροές δεδομένων για τον μετασχηματισμό των δεδομένων. Για παράδειγμα, μπορείτε να εγγράψετε μια συνάρτηση γλωσσικής μετατροπής, έτσι ώστε οι αναλυτές δεδομένων να μπορούν να μετατρέψουν κείμενο από τα Αγγλικά στα Ισπανικά ή τα Γερμανικά.

  1. Στην Αρχική σελίδα του Oracle Analytics, κάντε κλικ στο Μενού σελίδας, κατόπιν στην επιλογή Εγγραφή μοντέλου/συνάρτησης και κατόπιν στην επιλογή Συναρτήσεις OCI.
  2. Στο παράθυρο διαλόγου Εγγραφή προσαρμοσμένης συνάρτησης, επιλέξτε μια σύνδεση με τη μίσθωση OCI στην οποία βρίσκονται οι συναρτήσεις.
  3. Στο παράθυρο διαλόγου Επιλογή εφαρμογής, επιλέξτε την εφαρμογή που περιέχει τις συναρτήσεις σας.
    Αν δεν είστε βέβαιοι, ρωτήστε το πρόσωπο που δημιούργησε τις συναρτήσεις στο OCI.
  4. Στο παράθυρο διαλόγου Επιλογή συνάρτησης, επιλέξτε μια συνάρτηση και κάντε κλικ στην επιλογή Εγγραφή.
    Αν η συνάρτηση που θέλετε να χρησιμοποιήσετε είναι απενεργοποιημένη (αχνό χρώμα), ρωτήστε τον διαχειριστή για να βεβαιωθείτε ότι είναι διαμορφωμένη για το Oracle Analytics. Ανατρέξτε στην ενότητα Πληροφορίες σχετικά με τη διαμόρφωση συναρτήσεων του OCI για χρήση με το Oracle Analytics.
Μπορείτε να χρησιμοποιήσετε τις εγγεγραμμένες συναρτήσεις του OCI σε ροές δεδομένων για τον μετασχηματισμό των δεδομένων. Για να επαληθεύσετε ποιες συναρτήσεις έχουν εγγραφεί, μπορείτε να δείτε τις εγγεγραμμένες συναρτήσεις στην καρτέλα Δέσμες ενεργειών στη σελίδα Μηχανική εκμάθηση (από την Αρχική σελίδα, κάντε κλικ στην Πλοήγηση, επιλέξτε Μηχανική εκμάθηση και κάντε κλικ στην καρτέλα Δέσμες ενεργειών).