Dev (#174)
Fix README link (#162)
fix build (#172)
fix build
Delete global.json file in build process
Remove existing global.json file before running tests.
- Modify CI buildspec for dotnet installation
Updated CI buildspec to include dotnet installation and remove global.json files.
Co-authored-by: Norm Johanson normj@amazon.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
Integrations with .NET Aspire for AWS
This repositry contains the integrations with .NET Aspire for AWS. The AWS integrations focus on provisioning and working with AWS application resources in development environment. Making the dev inner loop of iterating over application code with AWS resource seamless without having to leave the development environment.
For introduction on using AWS and Aspire checkout the Building .NET Applications Across Clouds with .NET Aspire talk as part of .NET Conf 2024.
Integrations
The following are the list of AWS integrations currently supported for .NET Aspire.
Aspire.Hosting.AWS
The hosting package to include in Aspire AppHost projects for provisioning and configuring AWS resources for Aspire applications. The package contains the following features.
Check out the package’s README for a deeper explanation of these features.
Deployment to AWS
The AWS deployment feature for .NET Aspire enables you to deploy your Aspire applications directly to AWS. The deployment system transforms your Aspire AppHost resources into AWS CDK constructs, which are then synthesized into CloudFormation templates and deployed to your AWS account. This provides a seamless path from local development to cloud deployment.
For comprehensive documentation including advanced scenarios, implementation details, and architectural guidance, see the Deployment Design Document.
Prerequisites
Before deploying to AWS, ensure you have:
npm install -g aws-cdkcdk bootstrap aws://ACCOUNT-NUMBER/REGIONThe deployment system leverages AWS CDK to transform your Aspire resources into cloud infrastructure, which requires Node.js and the CDK CLI to be available in your environment.
Getting Started
Add an AWS CDK environment to your AppHost to enable deployment:
The
nameparameter identifies your application stack in AWS, and thecdkDefaultsProviderFactoryparameter specifies which version of default behaviors to use (currentlyPreview_V1for the preview release).Deploying Your Application:
To deploy your application to AWS, use the Aspire CLI:
aspire publish- Transforms your Aspire resources into AWS CDK constructs and synthesizes them into acdk.outdirectory containing CloudFormation templatesaspire deploy- Runs the publish step and then uses the AWS CDK CLI to deploy thecdk.outdirectory to your AWS accountThe deployment process will prompt you for AWS credentials and region if not already configured.
Basic Workflows
Automatic Resource Mapping
By default, Aspire resources are automatically mapped to appropriate AWS services based on their type:
The deployment system analyzes each resource and selects the most appropriate AWS service automatically. You don’t need to specify deployment targets unless you want to customize the defaults.
Customizing Deployment Targets
You can override the default deployment target for any resource using Publish extension methods:
Each Publish method allows you to customize the AWS service configuration through callbacks that modify CDK construct properties. See the Deployment Design Document for details on available Publish methods and customization options.
Connecting Resources
Use
WithReference()to connect resources - the deployment system automatically configures all necessary connectivity:When resources are connected with
WithReference(), the system automatically:Your application code can access the referenced resource using the standard .NET Aspire configuration patterns - no AWS-specific code required.
Advanced Scenarios
For advanced deployment scenarios and comprehensive implementation details, see the Deployment Design Document. The design document covers:
The design document provides detailed examples and implementation guidance for these advanced use cases, enabling you to customize deployments for production workloads.
Getting Help
For feature requests or issues using this tool please open an issue in this repository.
Contributing
We welcome community contributions and pull requests. See CONTRIBUTING for information on how to set up a development environment and submit code.
License
This library is licensed under the MIT-0 License. See the LICENSE file.