本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開發藍圖的先決條件
若想開發藍圖,您應先熟悉如何使用 AWS Glue 以及為 Apache Spark ETL 任務或 Python Shell 任務編寫指令碼。此外,您也必須完成下列設定任務。
-
下載四個 AWS Python 程式庫以用在藍圖配置指令碼中。
-
設定 AWS 開發套件。
-
設定 AWS CLI。
下載 Python 程式庫
從 GitHub 下載以下程式庫,並將它們安裝到您的專案中:
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/base_resource.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/workflow.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/crawler.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/job.py
設定 AWS Java SDK
對於 AWS Java 開發套件,您必須新增 jar
檔案,其中包含藍圖的 API。
-
如果您尚未這麼做,請先設定適用於 Java 的 AWS 開發套件。
-
對於 Java 1.x,請按照AWS SDK for Java 開發人員指南中設定 AWS SDK for Java的指示進行。
-
對於 Java 2.x,請按照AWS SDK for Java 2.x 開發人員指南中設定 AWS SDK for Java 2.x的指示進行。
-
-
下載用戶端
jar
檔案,該檔案可以存取藍圖的 API。-
對於 Java 1.x:s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-preview/AWSGlueJavaClient-1.11.x.jar
-
對於 Java 2.x:s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-v2-preview/AwsJavaSdk-Glue-2.0.jar
-
-
新增用戶端
jar
到 Java classpath 的前面以覆寫 AWS Java 開發套件提供的 AWS Glue 用戶端。export CLASSPATH=<path-to-preview-client-jar>:$CLASSPATH
-
(選用) 使用下列 Java 應用程式測試開發套件。應用程式應輸出空的清單。
使用您的憑證取代
accessKey
和secretKey
,並用您的區域取代us-east-1
。import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.glue.AWSGlue; import com.amazonaws.services.glue.AWSGlueClientBuilder; import com.amazonaws.services.glue.model.ListBlueprintsRequest; public class App{ public static void main(String[] args) { AWSCredentials credentials = new BasicAWSCredentials("accessKey", "secretKey"); AWSCredentialsProvider provider = new AWSStaticCredentialsProvider(credentials); AWSGlue glue = AWSGlueClientBuilder.standard().withCredentials(provider) .withRegion("us-east-1").build(); ListBlueprintsRequest request = new ListBlueprintsRequest().withMaxResults(2); System.out.println(glue.listBlueprints(request)); } }
設定 AWS Python SDK
下列步驟假設您的電腦已安裝 Python 2.7 版或更新版本,或 3.6 版或更新版本。
-
下載以下 boto3 wheel 檔案。如果提示開啟或儲存,請儲存檔案。s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/boto3-1.17.31-py2.py3-none-any.whl
-
下載以下 botocore wheel 檔案:s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/botocore-1.20.31-py2.py3-none-any.whl
-
檢查 Python 版本。
python --version
-
根據您的 Python 版本,輸入下列指令 (適用於 Linux):
-
適用於 Python 2.7 或更新版本。
python3 -m pip install --user virtualenv source env/bin/activate
-
適用於 Python 3.6 或更新版本。
python3 -m venv python-sdk-test source python-sdk-test/bin/activate
-
-
安裝 botocore wheel 檔案。
python3 -m pip install <download-directory>/botocore-1.20.31-py2.py3-none-any.whl
-
安裝 boto3 wheel 檔案。
python3 -m pip install <download-directory>/boto3-1.17.31-py2.py3-none-any.whl
-
在
~/.aws/credentials
和~/.aws/config
檔案中設定您的憑證和預設區域。如需詳細資訊,請參閱 AWS Command Line Interface 使用者指南中的設定 AWS CLI。 -
(選用) 測試您的設定。以下命令應會傳回空的清單。
將
us-east-1
取代為您的區域。$ python >>> import boto3 >>> glue = boto3.client('glue', 'us-east-1') >>> glue.list_blueprints()
設定預覽版 AWS CLI
-
若您尚未這樣做,請先在電腦上安裝和/或更新 AWS Command Line Interface (AWS CLI)。執行此動作最簡單的方法是使用
pip
(Python 安裝程式公用程式):pip install awscli --upgrade --user
您可以在這裡找到 AWS CLI 的完整安裝指示:安裝 AWS Command Line Interface。
-
從以下位置下載 AWS CLI wheel 檔案:s3://awsglue-custom-blueprints-preview-artifacts/awscli-preview-build/awscli-1.19.31-py2.py3-none-any.whl
-
安裝 AWS CLI wheel 檔案。
python3 -m pip install awscli-1.19.31-py2.py3-none-any.whl
-
執行
aws configure
命令。設定 AWS 憑證 (包括存取金鑰和私密金鑰) 和 AWS 區域。您可以在這裡找到關於設定 AWS CLI 的資訊:設定 AWS CLI。 -
測試 AWS CLI。以下命令應會傳回空的清單。
將
us-east-1
取代為您的區域。aws glue list-blueprints --region us-east-1