Cara menggunakan python response to string

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

Pada bagian berikutnya, Anda dapat menemukan deskripsi konversi yang memanggil operasiAWS Glue API dengan Python. Untuk informasi selengkapnya, lihat Skrip ProgramAWS Glue ETL dengan Python di PanduanAWS Glue Pengembang.

Langkah 1: Buat basis data

Langkah pertama adalah membuat database baru dalam KatalogAWS Glue Data dengan menggunakan AWSSDK API. Ketika Anda menentukan tabel di Katalog Data, Anda menambahkannya ke sebuah basis data. Sebuah database digunakan untuk mengatur tabel diAWS Glue.

Contoh berikut menunjukkancreate_database metode Python API untukAWS Glue.

response = client.create_database(
    DatabaseInput={
        'Name': 'database_name’,
        'Description': 'description',
        'LocationUri': 'string',
        'Parameters': {         
            'parameter-name': 'parameter value'
        }
    }
)

Jika Anda menggunakan Amazon Redshift, nama database dibentuk sebagai berikut.

{redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}

Nama lengkap klaster Amazon Redshift untuk contoh ini adalah sebagai berikut.

rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com

Berikut ini adalah contoh nama basis data yang terbentuk dengan baik. Dalam hal inirsdbb03 adalah nama, yang merupakan bagian pertama dari nama lengkap dari endpoint cluster. Database diberi namadev dan skema adalah

{redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
0.

rsdbb03_dev_ora_glue

Langkah 2: Buat koneksi

Buat koneksi baru di Katalog Data dengan menggunakan AWSSDK API.

Contoh berikut menunjukkan menggunakan

{redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
1metode Python API untukAWS Glue.

response = client.create_connection(
    ConnectionInput={
        'Name': 'Redshift_abcde03.aabbcc112233.us-west-2.redshift.amazonaws.com_dev',
        'Description': 'Created from SCT',
        'ConnectionType': 'JDBC',
        'ConnectionProperties': {
            'JDBC_CONNECTION_URL': 'jdbc:redshift://aabbcc03.aabbcc112233.us-west-2.redshift.amazonaws.com:5439/dev',
            'USERNAME': 'user_name',
            'PASSWORD': 'password'
        },
        'PhysicalConnectionRequirements': {
            'AvailabilityZone': 'us-west-2c',
            'SubnetId': 'subnet-a1b23c45',
            'SecurityGroupIdList': [
                'sg-000a2b3c', 'sg-1a230b4c', 'sg-aba12c3d', 'sg-1abb2345'
            ]
        }
    }
)

Parameter yang digunakan

{redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
1 adalah sebagai berikut:

  • {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    3(UTF-8 string) - diperlukan. Untuk Amazon Redshift, nama koneksi dibentuk sebagai berikut:
    {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    4_
    {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    5, misalnya:
    {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    6

  • {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    7(UTF-8 string) - Deskripsi koneksi Anda.

  • {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    8(UTF-8 string) - Diperlukan. Jenis koneksi. Saat ini, hanya JDBC yang didukung; SFTP tidak didukung.

  • {redshift_cluster_name}_{redshift_database_name}_{redshift_schema_name}
    9(dict) - Diperlukan. Daftar pasangan kunci-nilai yang digunakan sebagai parameter untuk koneksi ini, termasuk URL koneksi JDBC, nama pengguna, dan kata sandi.

  • rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    0(dict) - Persyaratan koneksi fisik, yang meliputi:

    • rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
      1(UTF-8 string) - ID subnet yang digunakan oleh koneksi.

    • rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
      2(daftar) - Daftar ID grup keamanan yang digunakan oleh koneksi.

    • rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
      3(UTF-8 string) - Diperlukan. Availability Zone yang berisi endpoint. Parameter ini tidak lagi digunakan.

Langkah 3: BuatAWS Glue crawler

Selanjutnya, Anda membuatAWS Glue crawler untuk mengisiAWS Glue katalog. Untuk informasi selengkapnya, lihat Membuat katalog tabel dengan crawler di PanduanAWS Glue Pengembang.

Langkah pertama dalam menambahkan crawler adalah membuat database baru dalam Katalog Data dengan menggunakan AWSSDK API. Sebelum Anda mulai, pastikan untuk terlebih dahulu menghapus versi sebelumnya dengan menggunakan

rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
4 operasi.

Saat Anda membuat crawler, beberapa pertimbangan berlaku:

  • Untuk nama crawler, gunakan format

    rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    5_
    rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    6_
    rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    6, misalnya:
    rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    8

  • Gunakan peran IAM yang sudah ada. Untuk informasi selengkapnya tentang cara membuat IAM role, lihat Membuat IAM role dalam Panduan Pengguna IAM.

  • Gunakan nama basis data yang Anda buat pada langkah-langkah sebelumnya.

  • Gunakan

    rsdbb03.apq1mpqso.us-west-2.redshift.amazonaws.com
    9 parameter, yang diperlukan.

  • Untuk

    rsdbb03_dev_ora_glue
    0 parameter, gunakan path ke target JDBC, misalnya:
    rsdbb03_dev_ora_glue
    1

Contoh berikut menghapus crawler yang ada dan kemudian membuat yang baru dengan menggunakan Python API untukAWS Glue.

response = client.delete_crawler(
    Name='crawler_name'
)

response = client.create_crawler(
    Name='crawler_name',
    Role= ‘IAM_role’,
    DatabaseName='database_name’,
    Description='string',
    Targets={
        'S3Targets': [
            {
                'Path': 'string',
                'Exclusions': [
                    'string',
                ]
            },
        ],
        'JdbcTargets': [
            {
                'ConnectionName': ‘ConnectionName’,
                'Path': ‘Include_path’,
                'Exclusions': [
                    'string',
                ]
            },
        ]
    },
    Schedule='string',
    Classifiers=[
        'string',
    ],
    TablePrefix='string',
    SchemaChangePolicy={
        'UpdateBehavior': 'LOG'|'UPDATE_IN_DATABASE',
        'DeleteBehavior': 'LOG'|'DELETE_FROM_DATABASE'|'DEPRECATE_IN_DATABASE'
    },
    Configuration='string'
)

Membuat dan kemudian menjalankan sebuah crawler yang menghubungkan ke satu atau beberapa penyimpanan data, dan menulis tabel ke dalam Katalog Data. Anda dapat menjalankan crawler Anda sesuai jadwal, seperti yang ditunjukkan berikut.

response = client.start_crawler(
    Name='string'
)

Contoh ini menggunakan Amazon Redshift sebagai target. Jenis data Amazon Redshift dipetakan ke tipeAWS Glue data dengan cara berikut setelah crawler berjalan.

Tipe data Amazon RedshiftAWS Gluetipe datasmallintsmallintbilangan bulatintbigintbigintdecimaldesimal (18,0)desimal (p, s)desimal (p, s)nyatadoublepresisi gandadoublebooleanbooleancharstringvarcharstringvarcharstringtanggaltanggaltimestamptimestampstemamptztimestamp