使用 SDK for Python (Boto3) 的 Secrets Manager 範例 - AWS SDK 程式碼範例

文件範例儲存庫中有更多 AWS SDK可用的範例。 AWS SDK GitHub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 SDK for Python (Boto3) 的 Secrets Manager 範例

下列程式碼範例示範如何 AWS SDK for Python (Boto3) 搭配 Secrets Manager 使用 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。

案例是程式碼範例,示範如何透過呼叫服務內的多個函數或與其他 結合來完成特定任務 AWS 服務。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

動作

下列程式碼範例示範如何使用 BatchGetSecretValue

SDK for 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詳細資訊,請參閱 BatchGetSecretValue 中的 AWS SDK for Python (Boto3) API參考

下列程式碼範例示範如何使用 GetSecretValue

SDK for 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詳細資訊,請參閱 GetSecretValue 中的 AWS SDK for Python (Boto3) API參考

案例

下列程式碼範例示範如何建立貸款程式庫,讓訪客可以使用 Amazon Aurora 資料庫RESTAPI支援的 借用和歸還書籍。

SDK for Python (Boto3)

示範如何 AWS SDK for Python (Boto3) 搭配 Amazon Relational Database Service (Amazon RDS) API和 AWS Chalice 使用 來建立 Amazon Aurora 資料庫RESTAPI支援的 。Web 服務是完全無伺服器的,表示這是一種贊助人可以借書與還書的簡單出借圖書館。了解如何:

  • 建立與管理無伺服器的 Aurora 資料庫叢集。

  • 使用 AWS Secrets Manager 管理資料庫憑證。

  • 實作使用 Amazon RDS將資料移入和移出資料庫的資料儲存層。

  • 使用 AWS Chalice 將無伺服器部署RESTAPI至 Amazon API Gateway 和 AWS Lambda。

  • 使用 Request 套件來將請求傳送到 Web 服務。

如需設定和執行的完整原始程式碼和指示,請參閱 上的完整範例GitHub

此範例中使用的服務
  • API 閘道

  • Aurora

  • Lambda

  • Secrets Manager