Introducción a los ejemplos de código del AWS SDK para C++ - AWS SDK para C++

Introducción a los ejemplos de código del AWS SDK para C++

Estructura de los ejemplos de código

La carpeta de ejemplos de C++ en Github contiene carpetas de proyectos para cada servicio de AWS. Por lo general, los archivos de código fuente .cpp individuales en las carpetas muestran una función o acción específica para ese servicio. Por ejemplo, en Amazon DynamoDB, obtener un elemento de la base de datos y cargar un elemento en la base de datos son dos tipos de acción diferentes, por lo que hay un archivo independiente para cada uno de ellos en la carpeta de DynamoDB: get_item.cpp y put_item.cpp. Cada archivo.cpp contiene una función main() como punto de entrada a un ejecutable independiente. Los ejecutables del proyecto se generan en una carpeta designada por el sistema de compilación y hay un archivo ejecutable para cada archivo de origen de ejemplo. El nombre del ejecutable sigue las convenciones de la plataforma ({name}.exe o simplemente {name}) y se aplica cualquier prefijo personalizadoCMakeLists.txt, como run_.

Para ejecutar una funcionalidad de ejemplo
  1. Descargue el ejemplo de código deseado en el Repositorio de ejemplos de código de AWS en GitHub.

  2. Abra un archivo.cpp para explorar su función main() y cualquier método al que se haya llamado.

  3. Cree el proyecto, siguiendo el ejemplo para empezar en Primeros pasos con el AWS SDK para C++. Tenga en cuenta que la creación del proyecto genera un ejecutable por cada archivo de origen del proyecto.

  4. Ejecute el archivo ejecutable para la funcionalidad seleccionada.

    • En una línea de comandos, ejecute ese programa mediante el archivo ejecutable en función del nombre del archivo *.cpp.

    • Si trabaja en un IDE, elija el archivo .cpp de la funcionalidad que desee mostrar y selecciónelo como opción de inicio (u objeto de inicio).

Pruebas unitarias

Las pruebas de los ejemplos se escriben con el marco GoogleTest. Para obtener más información, consulte GoogleTest Primer en el sitio web de GoogleTest.

Las pruebas unitarias de cada ejemplo se encuentran en una tests subcarpeta que contiene su propio archivo CMakeLists.txt. Para cada archivo de origen del ejemplo, hay un archivo de prueba correspondiente denominado gtest_<source file>. El ejecutable de prueba de la subcarpeta se llama <Servicio de AWS>_gtests.

Archivo CMakeLists.txt

La carpeta de cada servicio contiene un archivo denominado CMakeLists.txt. Muchos de estos archivos contienen una construcción similar a esta:

foreach(EXAMPLE IN LISTS EXAMPLES) add_executable(${EXAMPLE} ${EXAMPLE}.cpp) target_link_libraries(${EXAMPLE} aws-cpp-sdk-email aws-cpp-sdk-core) endforeach()

Para cada archivo .cpp de la carpeta, el archivo CMakeLists.txt crea un ejecutable (cmake: add_executable) con un nombre basado en el nombre del archivo de código fuente sin la extensión del archivo.

Ejemplos de código de compilación y depuración en Visual Studio

Creación y ejecución del ejemplo de código de Amazon S3
  1. Obtenga el código fuente de ejemplo de Amazon S3. En este procedimiento se utiliza el ejemplo de código Ejemplos de código de Amazon S3 con el AWS SDK para C++ para empezar a utilizar Visual Studio.

  2. En el Explorador de Windows, vaya a la carpeta de s3 (por ejemplo, \aws-doc-sdk-examples\cpp\example_code\s3).

  3. Haga clic con el botón derecho en la carpeta del ejemplo de s3 y seleccione Abrir con Visual Studio.  Los proyectos de Visual Studio para CMake no tienen un archivo de "file", sino que es la carpeta completa.

  4. En el menú desplegable Configuration Selector del menú superior de Visual Studio, compruebe que la configuración seleccionada coincida con el tipo de compilación que seleccionó al compilar el SDK con el código fuente.  Por ejemplo, debe seleccionar una configuración Debug si realizó la compilación con el código fuente mediante debug (-DCMAKE_BUILD_TYPE=Debug en la línea de comandos de CMake de las instrucciones de instalación del SDK).

  5. Abra el archivo CMakeLists.txt.

  6. Haga clic en Guardar. Cada vez que hace clic en Save en el archivo CMakeLists.txt, Visual Studio actualiza los archivos generados por CMake.  Si se muestra la pestaña Output, podrá ver los mensajes de registro resultantes de esta generación.

    • Debe haber un cuadro desplegable en la pestaña Output que dice: "Show output from:" donde CMake debería ser la opción seleccionada de forma predeterminada.

    • La salida del último mensaje debería ser: "CMake generation finished.".  

    • Si el último mensaje no es este, el archivo CMake tiene errores. No siga adelante hasta resolverlos.  Consulte Solución de problemas de compilación del AWS SDK para C++.

    • Tenga en cuenta que CMake utiliza la caché de CMake para aumentar la velocidad. Si está solucionando problemas con CMake, asegúrese de hacer una limpieza total para que los mensajes de error que reciba reflejen realmente sus cambios más recientes.  En Solution Explorer, haga clic con el botón derecho en CMakeLists.txt y seleccione CMake Cache y, a continuación, seleccione Delete Cache Hágalo con frecuencia a medida que vaya resolviendo problemas de CMake.

  7. Para compilar y ejecutar ejemplos desde Visual Studio, Visual Studio coloca los ejecutables en una estructura de carpetas diferente a la de la línea de comandos. Para ejecutar el código, los ejecutables del SDK deben copiarse en el lugar correcto.  Busque la línea "TODO" del archivo CMakeLists (aprox. la línea 40) y elija la línea que hemos comentado con anterioridad para usarla en Visual Studio. Visual Studio no usa una subcarpeta dedicada para el tipo de compilación, por lo que no está incluida.  Cambie la línea comentada del archivo CMakeLists.txt para usarla en Visual Studio.

  8. Elimine la caché de CMake (como se ha explicado anteriormente), haga clic en el archivo CMakeLists.txt para seleccionar/activar la pestaña y vuelva a seleccionar Save en el CMakeLists.txt archivo para empezar a generar los archivos de compilación de CMake.

  9. Abra el archivo de origen del "programa" que desee ejecutar.

    • Por ejemplo, abra list_buckets.cpp.

    • La carpeta de ejemplo de Amazon S3 está codificada para que cada "característica" de Amazon S3 que aparezca se muestre en un ejecutable dedicado exclusivamente a esa función.  Por ejemplo, list_buckets.cpp se convertirá en un ejecutable que solo muestra la lista de buckets.

  10. En el menú de la parte superior, seleccione Build y, a continuación, elija Build All.

    • La opción Show output from de la pestaña Output debería mostrar Build como la opción seleccionada y todos los mensajes de compilación y vinculación.

    • El último resultado debería ser: Build All succeeded.".

    • Ahora se generan los ejecutables para cada uno de los archivos de origen individuales.  Puede confirmarlo consultando el directorio de salida de la compilación (por ejemplo, \aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug).

    • Tenga en cuenta que los ejecutables llevan el prefijo "run"» porque así lo establece el archivo CMakeLists.txt.

  11. En el menú superior, hay una flecha verde y un selector desplegable para Debug Target.  Elegir run_list_buckets.exe.

  12. Haga clic en el botón de flecha verde para seleccionar el elemento de inicio.

  13. Se abrirá una ventana de Visual Studio Debug Console donde se mostrará el resultado del código.

  14. Pulse una tecla para cerrar la ventana o ciérrela manualmente para finalizar el programa.  También puede establecer puntos de interrupción en el código y, cuando vuelva a hacer clic en ejecutar, se alcanzarán los puntos de interrupción.