Úselo BatchGetSecretValue con un AWS SDK o CLI - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo BatchGetSecretValue con un AWS SDK o CLI

Los siguientes ejemplos de código muestran cómo utilizar BatchGetSecretValue.

CLI
AWS CLI

Ejemplo 1: recuperación del valor del secreto para un grupo de secretos enumerados por nombre

En el siguiente ejemplo de batch-get-secret-value, se obtienen los valores de tres secretos.

aws secretsmanager batch-get-secret-value \ --secret-id-list MySecret1 MySecret2 MySecret3

Salida:

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Para obtener más información, consulte Retrieve a group of secrets in a batch en la Guía del usuario de AWS Secrets Manager.

Ejemplo 2: recuperación del valor del secreto para un grupo de secretos seleccionado por el filtro

En el siguiente ejemplo de batch-get-secret-value, se obtienen los valores de los secretos de la cuenta que incluyen MySecret en su nombre. El filtrado por nombres distingue entre mayúsculas y minúsculas.

aws secretsmanager batch-get-secret-value \ --filters Key="name",Values="MySecret"

Salida:

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Para obtener más información, consulte Retrieve a group of secrets in a batch en la Guía del usuario de AWS Secrets Manager.

  • Para obtener más información sobre la API, consulte BatchGetSecretValuela Referencia de AWS CLI comandos.

Python
SDK para Python (Boto3)
nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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
  • Para obtener más información sobre la API, consulta BatchGetSecretValuela AWS Referencia de API de SDK for Python (Boto3).

SAP ABAP
SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. " iv_filter_name = 'mySecret' DATA(lo_result) = lo_smr->batchgetsecretvalue( it_filters = VALUE /aws1/cl_smrfilter=>tt_filterslisttype( ( NEW /aws1/cl_smrfilter( iv_key = 'name' it_values = VALUE /aws1/cl_smrfiltvalsstrlist_w=>tt_filtervaluesstringlist( ( NEW /aws1/cl_smrfiltvalsstrlist_w( iv_value = iv_filter_name ) ) ) ) ) ) ). ot_secret_values = lo_result->get_secretvalues( ). MESSAGE 'Secrets retrieved successfully.' TYPE 'I'. CATCH /aws1/cx_smrresourcenotfoundex. MESSAGE 'One or more requested secrets were not found.' TYPE 'E'. CATCH /aws1/cx_smrdecryptionfailure. MESSAGE 'Failed to decrypt one or more secrets.' TYPE 'E'. CATCH /aws1/cx_smrinvalidparameterex. MESSAGE 'Invalid parameter provided.' TYPE 'E'. CATCH /aws1/cx_smrinvalidrequestex. MESSAGE 'Invalid request.' TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte BatchGetSecretValuela referencia sobre la API ABAP del AWS SDK para SAP.