Menggunakan ekstensi Aurora PostgreSQL dengan Babelfish - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan ekstensi Aurora PostgreSQL dengan Babelfish

Aurora PostgreSQL menyediakan ekstensi untuk bekerja dengan layanan lain. AWS Ini adalah ekstensi opsional yang mendukung berbagai kasus penggunaan, seperti menggunakan Amazon S3 dengan klaster DB Anda untuk mengimpor atau mengekspor data.

  • Untuk mengimpor data dari bucket Amazon S3 ke klaster DB Babelfish, siapkan ekstensi Aurora PostgreSQL aws_s3. Ekstensi ini juga memungkinkan Anda mengekspor data dari klaster DB Aurora PostgreSQL ke bucket Amazon S3.

  • AWS Lambda adalah layanan komputasi yang memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server. Anda dapat menggunakan fungsi Lambda untuk melakukan hal-hal seperti memproses notifikasi peristiwa dari instans DB Anda. Untuk mempelajari lebih lanjut tentang Lambda, lihat Apa itu AWS Lambda? di Panduan Developer AWS Lambda . Untuk menginvokasi fungsi Lambda dari klaster DB Babelfish Anda, siapkan ekstensi Aurora PostgreSQL aws_lambda.

Untuk menyiapkan ekstensi ini untuk klaster Babelfish Anda, Anda harus terlebih dahulu memberikan izin kepada pengguna internal Babelfish untuk memuat ekstensi. Setelah memberikan izin, Anda kemudian dapat memuat ekstensi Aurora PostgreSQL.

Mengaktifkan ekstensi Aurora PostgreSQL di klaster DB Babelfish Anda

Sebelum Anda dapat memuat ekstensi aws_s3 atau aws_lambda, Anda memberikan hak istimewa yang diperlukan untuk klaster DB Babelfish Anda.

Prosedur berikut menggunakan alat baris perintah PostgreSQL psql untuk terhubung ke klaster DB. Untuk informasi selengkapnya, lihat Menggunakan psql untuk terhubung ke klaster DB. Anda juga dapat menggunakan pgAdmin. Lihat perinciannya di Menggunakan pgAdmin untuk terhubung ke klaster DB.

Prosedur ini memuat keduanya aws_s3 dan aws_lambda, satu demi satu. Anda tidak perlu memuat keduanya jika hanya ingin menggunakan salah satu dari ekstensi ini. Ekstensi aws_commons diperlukan oleh masing-masing, dan itu dimuat secara default seperti yang ditunjukkan pada output.

Untuk mengatur klaster DB Babelfish Anda dengan hak istimewa untuk ekstensi Aurora PostgreSQL
  1. Hubungkan ke klaster DB Babelfish Anda. Gunakan nama untuk pengguna “master” (-U) yang Anda tentukan saat Anda membuat klaster DB Babelfish. Default (postgres) ditampilkan dalam contoh.

    Untuk Linux, macOS, atau Unix:

    psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com \ -U postgres \ -d babelfish_db \ -p 5432

    Untuk Windows:

    psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com ^ -U postgres ^ -d babelfish_db ^ -p 5432

    Perintah merespons dengan prompt untuk memasukkan kata sandi untuk nama pengguna (-U).

    Password:

    Anda perlu memasukkan kata sandi untuk nama pengguna (-U) untuk klaster DB. Ketika Anda berhasil terhubung, Anda melihat output yang serupa dengan berikut ini.

    psql (13.4) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. postgres=>
  2. Berikan hak istimewa kepada pengguna Babelfish internal untuk membuat dan memuat ekstensi.

    babelfish_db=> GRANT rds_superuser TO master_dbo; GRANT ROLE
  3. Buat dan muat ekstensi aws_s3. Ekstensi aws_commons diperlukan, dan diinstal secara otomatis ketika aws_s3 diinstal.

    babelfish_db=> create extension aws_s3 cascade; NOTICE: installing required extension "aws_commons" CREATE EXTENSION
  4. Buat dan muat ekstensi aws_lambda.

    babelfish_db=> create extension aws_lambda cascade; CREATE EXTENSION babelfish_db=>

Menggunakan Babelfish dengan Amazon S3

Jika Anda belum memiliki bucket Amazon S3 untuk digunakan dengan klaster DB Babelfish Anda, Anda dapat membuatnya. Untuk bucket Amazon S3 yang ingin Anda gunakan, Anda menyediakan akses.

Sebelum mencoba mengimpor atau mengekspor data menggunakan bucket Amazon S3, selesaikan langkah-langkah satu kali berikut.

Cara menyiapkan akses instans DB Babelfish ke bucket Amazon S3
  1. Buat bucket Amazon S3 untuk instans Babelfish Anda, jika diperlukan. Untuk melakukannya, ikuti petunjuk di Buat bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  2. Unggah file ke bucket Amazon S3. Untuk melakukannya, ikuti langkah-langkah di Tambahkan objek ke bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  3. Siapkan izin sesuai kebutuhan:

    • Untuk mengimpor data dari Amazon S3, klaster DB Babelfish memerlukan izin untuk mengakses bucket. Sebaiknya gunakan peran AWS Identity and Access Management (IAM) dan melampirkan kebijakan IAM ke peran tersebut untuk klaster Anda. Untuk melakukannya, ikuti langkah yang ada di Menggunakan peran IAM untuk mengakses bucket Amazon S3.

    • Untuk mengekspor data dari klaster DB Babelfish, klaster Anda harus diberikan akses ke bucket Amazon S3. Seperti halnya mengimpor, sebaiknya gunakan kebijakan dan peran IAM. Untuk melakukannya, ikuti langkah yang ada di Menyiapkan akses ke bucket Amazon S3.

Sekarang Anda dapat menggunakan Amazon S3 dengan ekstensi aws_s3 dengan klaster DB Babelfish Anda.

Untuk mengimpor data dari Amazon S3 ke Babelfish dan untuk mengekspor data Babelfish ke Amazon S3
  1. Gunakan ekstensi aws_s3 dengan klaster DB Babelfish Anda.

    Ketika Anda melakukannya, pastikan untuk mereferensikan tabel seperti yang ada dalam konteks PostgreSQL. Artinya, jika Anda ingin mengimpor ke dalam tabel Babelfish bernama [database].[schema].[tableA], lihat tabel itu seperti database_schema_tableA dalam fungsi aws_s3:

  2. Pastikan untuk mereferensikan tabel Babelfish menggunakan penamaan PostgreSQL saat menggunakan ekstensi aws_s3 dan Amazon S3, seperti yang ditunjukkan pada tabel berikut.

Tabel Babelfish

Tabel Aurora PostgreSQL

database.schema.table

database_schema_table

Untuk mempelajari selengkapnya tentang menggunakan Amazon S3 dengan Aurora PostgreSQL, lihat Mengimpor data dari Amazon S3 ke klaster DB Aurora PostgreSQL dan Mengekspor data dari klaster DB Aurora PostgreSQL ke Amazon S3.

Menggunakan Babelfish dengan AWS Lambda

Setelah ekstensi aws_lambda dimuat di klaster DB Babelfish Anda tetapi sebelum Anda dapat menginvokasi fungsi Lambda, beri Lambda akses ke klaster DB Anda dengan mengikuti prosedur ini.

Untuk mengatur akses klaster DB Babelfish Anda agar berfungsi dengan Lambda

Prosedur ini menggunakan AWS CLI untuk membuat kebijakan dan peran IAM, dan mengaitkannya dengan cluster Babelfish DB.

  1. Buat kebijakan IAM yang memungkinkan akses ke Lambda dari klaster DB Babelfish Anda.

    aws iam create-policy --policy-name rds-lambda-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:444455556666:function:my-function" } ] }'
  2. Buat peran IAM yang dapat diambil oleh kebijakan saat runtime.

    aws iam create-role --role-name rds-lambda-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Lampirkan kebijakan pada peran tersebut.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::444455556666:policy/rds-lambda-policy \ --role-name rds-lambda-role --region aws-region
  4. Melampirkan peran ke klaster DB Babelfish Anda

    aws rds add-role-to-db-cluster \ --db-cluster-identifier my-cluster-name \ --feature-name Lambda \ --role-arn arn:aws:iam::444455556666:role/rds-lambda-role \ --region aws-region

Setelah Anda menyelesaikan tugas-tugas ini, Anda dapat menginvokasi fungsi Lambda Anda. Untuk informasi lebih lanjut dan contoh pengaturan AWS Lambda untuk Aurora PostgreSQL DB cluster dengan, lihat. AWS LambdaAWS Lambda

Cara menginvokasi fungsi Lambda dari klaster DB Babelfish Anda

AWS Lambda mendukung fungsi yang ditulis dalam Java, Node.js, Python, Ruby, dan bahasa lainnya. Jika fungsi menampilkan teks saat diinvokasi, Anda dapat memanggilnya dari klaster DB Babelfish Anda. Contoh berikut adalah fungsi python placeholder yang menampilkan salam.

lambda_function.py import json def lambda_handler(event, context): #TODO implement return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!')

Saat ini, Babelfish tidak mendukung JSON. Jika fungsi Anda menampilkan JSON, gunakan pembungkus untuk menangani JSON. Misalnya, lambda_function.py yang ditunjukkan sebelumnya disimpan di Lambda sebagai my-function.

  1. Hubungkan ke klaster DB Babelfish Anda menggunakan klien psql (atau klien pgAdmin). Untuk informasi selengkapnya, lihat Menggunakan psql untuk terhubung ke klaster DB.

  2. Buat pembungkusnya. Contoh ini menggunakan bahasa prosedural PostgreSQL untuk SQL, PL/pgSQL. Untuk mempelajari selengkapnya, lihat PL/pgSQL–Bahasa Prosedural SQL.

    create or replace function master_dbo.lambda_wrapper() returns text language plpgsql as $$ declare r_status_code integer; r_payload text; begin SELECT payload INTO r_payload FROM aws_lambda.invoke( aws_commons.create_lambda_function_arn('my-function', 'us-east-1') ,'{"body": "Hello from Postgres!"}'::json ); return r_payload ; end; $$;

    Fungsi ini sekarang dapat dijalankan dari port TDS Babelfish (1433) atau dari port PostgreSQL (5433).

    1. Untuk menginvokasi (memanggil) fungsi ini dari port PostgreSQL Anda:

      SELECT * from aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function', 'us-east-1'), '{"body": "Hello from Postgres!"}'::json );

      Output Anda akan serupa dengan yang berikut ini.

      status_code | payload | executed_version | log_result -------------+-------------------------------------------------------+------------------+------------ 200 | {"statusCode": 200, "body": "\"Hello from Lambda!\""} | $LATEST | (1 row)
    2. Untuk menginvokasi (memanggil) fungsi ini dari port TDS, sambungkan ke port menggunakan klien baris perintah sqlcmd SQL Server. Lihat perinciannya di Menggunakan klien SQL Server untuk terhubung ke klaster DB Anda. Saat terhubung, jalankan yang berikut ini:

      1> select lambda_wrapper(); 2> go

      Perintah tersebut menghasilkan output yang serupa dengan berikut ini:

      {"statusCode": 200, "body": "\"Hello from Lambda!\""}

Untuk mempelajari selengkapnya tentang menggunakan Lambda dengan Aurora PostgreSQL, lihat . Untuk informasi selengkapnya tentang bekerja dengan fungsi Lambda, lihat Memulai dengan Lambda di Panduan Developer AWS Lambda .

Menggunakan pg_stat_statements di Babelfish

Babelfish for Aurora PostgreSQL mendukung ekstensi pg_stat_statements dari 3.3.0. Untuk mempelajari lebih lanjut, lihat pg_stat_statements.

Untuk detail tentang versi ekstensi ini didukung oleh Aurora PostgreSQL, lihat Versi ekstensi.

Membuat ekstensi pg_stat_statements

Untuk mengaktifkan pg_stat_statements, Anda harus mengaktifkan perhitungan pengidentifikasi Kueri. Hal ini dilakukan secara otomatis jika compute_query_id diatur ke on atau auto di grup parameter. Nilai default untuk parameter compute_query_id adalah auto. Anda juga perlu membuat ekstensi ini untuk mengaktifkan fitur ini. Gunakan perintah berikut untuk menginstal ekstensi dari titik akhir T-SQL:

1>EXEC sp_execute_postgresql 'CREATE EXTENSION pg_stat_statements WITH SCHEMA sys';

Anda dapat mengakses statistik kueri menggunakan kueri berikut:

postgres=>select * from pg_stat_statements;
catatan

Selama instalasi, jika Anda tidak memberikan nama skema untuk ekstensi, maka secara default akan membuatnya dalam skema publik. Untuk mengaksesnya, Anda harus menggunakan tanda kurung siku dengan kualifikasi skema seperti yang ditunjukkan di bawah ini:

postgres=>select * from [public].pg_stat_statements;

Anda juga dapat membuat ekstensi dari titik akhir PSQL.

Mengotorisasi ekstensi

Secara default, Anda dapat melihat statistik untuk kueri yang dilakukan dalam basis data T-SQL Anda tanpa memerlukan otorisasi apa pun.

Untuk mengakses statistik kueri yang dibuat oleh orang lain, Anda harus memiliki peran PostgreSQL pg_read_all_stats. Ikuti langkah-langkah yang disebutkan di bawah ini untuk membuat perintah GRANT pg_read_all_stats.

  1. Di T-SQL, gunakan kueri berikut yang menampilkan nama peran PG internal.

    SELECT rolname FROM pg_roles WHERE oid = USER_ID();
  2. Hubungkan ke basis data Babelfish for Aurora PostgreSQL dengan hak istimewa rds_superuser dan gunakan perintah berikut:

    GRANT pg_read_all_stats TO <rolname_from_above_query>
Contoh

Dari titik akhir T-SQL:

1>SELECT rolname FROM pg_roles WHERE oid = USER_ID(); 2>go
rolname ------- master_dbo (1 rows affected)

Dari titik akhir PSQL:

babelfish_db=# grant pg_read_all_stats to master_dbo;
GRANT ROLE

Anda dapat mengakses statistik kueri menggunakan tampilan pg_stat_statements:

1>create table t1(cola int); 2>go 1>insert into t1 values (1),(2),(3); 2>go
(3 rows affected)
1>select userid, dbid, queryid, query from pg_stat_statements; 2>go
userid dbid queryid query ------ ---- ------- ----- 37503 34582 6487973085327558478 select * from t1 37503 34582 6284378402749466286 SET QUOTED_IDENTIFIER OFF 37503 34582 2864302298511657420 insert into t1 values ($1),($2),($3) 10 34582 NULL <insufficient privilege> 37503 34582 5615368793313871642 SET TEXTSIZE 4096 37503 34582 639400815330803392 create table t1(cola int) (6 rows affected)

Mengatur ulang statistik kueri

Anda dapat menggunakan pg_stat_statements_reset() untuk mengatur ulang statistik yang dikumpulkan sejauh ini oleh pg_stat_statements. Untuk mempelajari lebih lanjut, lihat pg_stat_statements. Saat ini didukung melalui titik akhir PSQL saja. Hubungkan ke Babelfish for Aurora PostgreSQL dengan hak istimewa rds_superuser, gunakan perintah berikut:

SELECT pg_stat_statements_reset();

Batasan

  • Saat ini, pg_stat_statements() tidak didukung melalui titik akhir T-SQL. Tampilan pg_stat_statements adalah cara yang disarankan untuk mengumpulkan statistik.

  • Beberapa kueri mungkin ditulis ulang oleh pengurai T-SQL yang diimplementasikan oleh mesin Aurora PostgreSQL, tampilan pg_stat_statements akan menampilkan kueri yang ditulis ulang dan bukan kueri asli.

    Contoh

    select next value for [dbo].[newCounter];

    Kueri di atas ditulis ulang sebagai berikut dalam tampilan pg_stat_statements.

    select nextval($1);
  • Berdasarkan alur eksekusi pernyataan, beberapa kueri mungkin tidak dilacak oleh pg_stat_statements dan tidak akan terlihat dalam tampilan. Ini termasuk pernyataan berikut: use dbname, goto, print, raise error, set, throw, declare cursor.

  • Untuk pernyataan CREATE LOGIN dan ALTER LOGIN, query dan queryid tidak akan ditampilkan. Ini akan menunjukkan hak istimewa yang tidak memadai.

  • Tampilan pg_stat_statements selalu berisi dua entri di bawah ini, karena ini dijalankan secara internal oleh klien sqlcmd.

    • SET QUOTED_IDENTIFIER OFF

    • SET TEXTSIZE 4096

Menggunakan pgvector di Babelfish

pgvector, ekstensi sumber terbuka, memungkinkan Anda mencari data serupa secara langsung dalam database Postgres Anda. Babelfish sekarang mendukung ekstensi ini dimulai dengan versi 15.6 dan 16.2. Untuk informasi lebih lanjut, pgvector Open source Documentation.

Prasyarat

Untuk mengaktifkan fungsionalitas pgvector, instal ekstensi dalam skema sys menggunakan salah satu metode berikut:

  • Jalankan perintah berikut di klien sqlcmd:

    exec sys.sp_execute_postgresql 'CREATE EXTENSION vector WITH SCHEMA sys';
  • Connect to babelfish_db dan jalankan perintah berikut di psql client:

    CREATE EXTENSION vector WITH SCHEMA sys;
catatan

Setelah menginstal ekstensi pgvector, tipe data vektor hanya akan tersedia dalam koneksi database baru yang Anda buat. Koneksi yang ada tidak akan mengenali tipe data baru.

Fungsionalitas yang Didukung

Babelfish memperluas fungsionalitas T-SQL untuk mendukung hal-hal berikut:

  • Menyimpan

    Babelfish sekarang mendukung sintaks yang kompatibel dengan tipe data vektor, meningkatkan kompatibilitas T-SQL-nya. Untuk mempelajari selengkapnya tentang menyimpan data dengan pgvector, lihat Menyimpan.

  • Meminta

    Babelfish memperluas dukungan ekspresi T-SQL untuk menyertakan operator kesamaan vektor. Namun, untuk semua kueri lainnya, sintaks T-SQL standar masih diperlukan.

    catatan

    T-SQL tidak mendukung tipe Array, dan driver database tidak memiliki antarmuka untuk menanganinya. Sebagai solusinya, Babelfish menggunakan string teks (varchar/nvarchar) untuk menyimpan data vektor. Misalnya, ketika Anda meminta nilai vektor [1,2,3], Babelfish akan mengembalikan string '[1,2,3]' sebagai respons. Anda dapat mengurai dan membagi string ini di tingkat aplikasi sesuai kebutuhan Anda.

    Untuk mempelajari lebih lanjut tentang kueri data dengan pgvector, lihat Menanyakan.

  • Pengindeksan

    T-SQL Create Index sekarang mendukung USING INDEX_METHOD sintaks. Sekarang Anda dapat menentukan operator pencarian kesamaan yang akan digunakan pada kolom tertentu saat membuat indeks.

    Tata bahasa juga diperluas untuk mendukung operasi kesamaan Vektor pada kolom yang diperlukan (Periksa tata bahasa column_name_list_with_order_for_vector).

    CREATE [UNIQUE] [clustered] [COLUMNSTORE] INDEX <index_name> ON <table_name> [USING vector_index_method] (<column_name_list_with_order_for_vector>) Where column_name_list_with_order_for_vector is: <column_name> [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS] (COMMA simple_column_name [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS])

    Untuk mempelajari lebih lanjut tentang pengindeksan data dengan pgvector, lihat Pengindeksan.

  • Kinerja

    • Gunakan SET BABELFISH_STATISTICS PROFILE ON untuk men-debug Rencana Kueri dari titik akhir T-SQL.

    • Tingkatkan max_parallel_workers_get_gather menggunakan set_config fungsi yang didukung di T-SQL.

    • Gunakan IVFFlat untuk perkiraan pencarian. Untuk informasi lebih lanjut, lihat iVFFlat.

    Untuk meningkatkan kinerja dengan pgvector, lihat Kinerja.

Batasan

  • Babelfish tidak mendukung Pencarian Teks Lengkap untuk Pencarian Hibrida. Untuk informasi selengkapnya, lihat Pencarian Hybrid.

  • Babelfish saat ini tidak mendukung fungsionalitas pengindeksan ulang. Namun, Anda masih dapat menggunakan PostgreSQL endpoint untuk mengindeks ulang. Untuk informasi lebih lanjut, lihat Menyedot debu.

Menggunakan pembelajaran mesin Amazon Aurora dengan Babelfish

Anda dapat memperluas kemampuan klaster Babelfish untuk Aurora PostgreSQL DB Anda dengan mengintegrasikannya dengan pembelajaran mesin Amazon Aurora. Integrasi tanpa batas ini memberi Anda akses ke berbagai layanan canggih seperti Amazon Comprehend atau Amazon atau SageMaker Amazon Bedrock, masing-masing disesuaikan untuk memenuhi kebutuhan pembelajaran mesin yang berbeda.

Sebagai pengguna Babelfish, Anda dapat menggunakan pengetahuan yang ada tentang sintaks dan semantik T-SQL saat bekerja dengan pembelajaran mesin Aurora. Ikuti instruksi yang diberikan dalam AWS dokumentasi untuk Aurora PostgreSQL. Untuk informasi selengkapnya, lihat Menggunakan machine learning Amazon Aurora dengan Aurora PostgreSQL.

Prasyarat

  • Sebelum mencoba menyiapkan klaster Babelfish untuk Aurora PostgreSQL DB untuk menggunakan pembelajaran mesin Aurora, Anda harus memahami persyaratan dan prasyarat terkait. Untuk informasi selengkapnya, lihat Persyaratan untuk menggunakan machine learning Aurora dengan Aurora PostgreSQL.

  • Pastikan Anda menginstal aws_ml ekstensi baik menggunakan titik akhir Postgres atau prosedur sp_execute_postgresql penyimpanan.

    exec sys.sp_execute_postgresql 'Create Extension aws_ml'
    catatan

    Saat ini Babelfish tidak mendukung operasi kaskade di Babelfish. sp_execute_postgresql Karena aws_ml bergantung padaaws_commons, Anda harus menginstalnya secara terpisah menggunakan titik akhir Postgres.

    create extension aws_common;

Menangani sintaks dan semantik T-SQL dengan fungsi aws_ml

Contoh-contoh berikut menjelaskan bagaimana sintaks dan semantik T-SQL diterapkan ke layanan Amazon ML:

contoh : aws_bedrock.invoke_model — Sebuah query sederhana menggunakan fungsi Amazon Bedrock
aws_bedrock.invoke_model( model_id varchar, content_type text, accept_type text, model_input text) Returns Varchar(MAX)

Contoh berikut menunjukkan cara memanggil model Anthropic Claude 2 untuk Bedrock menggunakan invoke_model.

SELECT aws_bedrock.invoke_model ( 'anthropic.claude-v2', -- model_id 'application/json', -- content_type 'application/json', -- accept_type '{"prompt": "\n\nHuman: You are a helpful assistant that answers questions directly and only using the information provided in the context below. \nDescribe the answerin detail.\n\nContext: %s \n\nQuestion: %s \n\nAssistant:","max_tokens_to_sample":4096,"temperature" :0.5,"top_k":250,"top_p":0.5,"stop_sequences":[]}' -- model_input );
contoh : aws_comprehend.detect_sentiment — Kueri sederhana menggunakan fungsi Amazon Comprehend
aws_comprehend.detect_sentiment( input_text varchar, language_code varchar, max_rows_per_batch int) Returns table (sentiment varchar, confidence real)

Contoh berikut menunjukkan cara memanggil layanan Amazon Comprehend.

select sentiment from aws_comprehend.detect_sentiment('This is great', 'en');
contoh : aws_sagemaker.invoke_endpoint — Sebuah query sederhana menggunakan fungsi Amazon SageMaker
aws_sagemaker.invoke_endpoint( endpoint_name varchar, max_rows_per_batch int, VARIADIC model_input "any") -- Babelfish inherits PG's variadic parameter type Rerurns Varchar(MAX)

Karena model_input ditandai sebagai VARIADIC dan bertipe “any”, pengguna dapat meneruskan daftar dengan panjang berapa pun dan tipe data apa pun ke fungsi yang akan bertindak sebagai input input ke model. Contoh berikut menunjukkan cara memanggil SageMaker layanan Amazon.

SELECT CAST (aws_sagemaker.invoke_endpoint( 'sagemaker_model_endpoint_name', NULL, arg1, arg2 -- model inputs are separate arguments ) AS INT) -- cast the output to INT

Untuk informasi lebih rinci tentang penggunaan pembelajaran mesin Aurora dengan Aurora PostgreSQL, lihat. Menggunakan machine learning Amazon Aurora dengan Aurora PostgreSQL

Batasan

  • Meskipun Babelfish tidak mengizinkan pembuatan array, Babelfish masih dapat menangani data yang mewakili array. Saat Anda menggunakan fungsi seperti array pengembalian aws_bedrock.invoke_model_get_embeddings itu, hasilnya dikirimkan sebagai string yang berisi elemen array.