AWS Doc SDK Examples
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SDK for Python (Boto3) を使用した Secrets Manager の例
次のコード例は、Secrets Manager AWS SDK for Python (Boto3) で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
「シナリオ」は、1 つのサービス内から、または他の AWS のサービスと組み合わせて複数の関数を呼び出し、特定のタスクを実行する方法を示すコード例です。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
アクション
次の例は、BatchGetSecretValue
を使用する方法を説明しています。
- SDK Python 用 (Boto3)
-
注記
の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 class BatchGetSecretsWrapper: def __init__(self, secretsmanager_client): self.client = secretsmanager_client def batch_get_secrets(self, filter_name): """ Retrieve multiple secrets from AWS Secrets Manager using the batch_get_secret_value API. This function assumes the stack mentioned in the source code README has been successfully deployed. This stack includes 7 secrets, all of which have names beginning with "mySecret". :param filter_name: The full or partial name of secrets to be fetched. :type filter_name: str """ try: secrets = [] response = self.client.batch_get_secret_value( Filters=[{"Key": "name", "Values": [f"{filter_name}"]}] ) for secret in response["SecretValues"]: secrets.append(json.loads(secret["SecretString"])) if secrets: logger.info("Secrets retrieved successfully.") else: logger.info("Zero secrets returned without error.") return secrets except self.client.exceptions.ResourceNotFoundException: msg = f"One or more requested secrets were not found with filter: {filter_name}" logger.info(msg) return msg except Exception as e: logger.error(f"An unknown error occurred:\n{str(e)}.") raise
-
API 詳細については、AWS SDK「 Python (Boto3) APIリファレンス」のBatchGetSecretValue「」を参照してください。
-
次のコード例は、GetSecretValue
を使用する方法を示しています。
- SDK Python 用 (Boto3)
-
注記
の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 class GetSecretWrapper: def __init__(self, secretsmanager_client): self.client = secretsmanager_client def get_secret(self, secret_name): """ Retrieve individual secrets from AWS Secrets Manager using the get_secret_value API. This function assumes the stack mentioned in the source code README has been successfully deployed. This stack includes 7 secrets, all of which have names beginning with "mySecret". :param secret_name: The name of the secret fetched. :type secret_name: str """ try: get_secret_value_response = self.client.get_secret_value( SecretId=secret_name ) logging.info("Secret retrieved successfully.") return get_secret_value_response["SecretString"] except self.client.exceptions.ResourceNotFoundException: msg = f"The requested secret {secret_name} was not found." logger.info(msg) return msg except Exception as e: logger.error(f"An unknown error occurred: {str(e)}.") raise
-
API 詳細については、AWS SDK「 Python (Boto3) APIリファレンス」のGetSecretValue「」を参照してください。
-
シナリオ
次のコード例は、Amazon Aurora データベースによってRESTAPIバックアップされた を使用して、利用者が本を借用して返すことができる貸出ライブラリを作成する方法を示しています。
- SDK Python 用 (Boto3)
-
Amazon Relational Database Service (Amazon RDS) APIと AWS Chalice AWS SDK for Python (Boto3) で を使用して、Amazon Aurora データベースによってRESTAPIバックアップされた を作成する方法を示します。Web サービスは完全にサーバーレスであり、常連客が本を借りたり返却したりできるシンプルな貸し出しライブラリを表しています。以下ではその方法を説明しています。
サーバーレス Aurora データベースクラスターを作成および管理します。
AWS Secrets Manager を使用してデータベース認証情報を管理します。
Amazon を使用してデータベースとの間でデータRDSを移動するデータストレージレイヤーを実装します。
AWS Chalice を使用して、サーバーレスを Amazon API Gateway と RESTAPIにデプロイします AWS Lambda。
リクエストパッケージを使用して、Web サービスにリクエストを送信します。
完全なソースコードとセットアップと実行の手順については、 の詳細な例を参照してくださいGitHub
。 この例で使用されているサービス
API ゲートウェイ
Aurora
Lambda
Secrets Manager