使用带有源代码的现有 S3 存储桶通过 AWS CDK 进行部署
Using existing S3 bucket with source code to deploy with AWS CDK
我是 AWS CDK 的新手,我需要部署大约 10 个当前作为 zip 文件存储在 S3 存储桶中的函数
这是我使用的部分代码
public class CdkWorkshopStack : Stack
{
public CdkWorkshopStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
{
var deployBucket = new Bucket(this, "deploy-stack1");
var bucketKey = "xxx-3496f166-0f1d-40b4-8766-c5d29e4950ff.zip";
var xxx= new Function(this, "CdkWorkshopLambda", new FunctionProps
{
Runtime = Runtime.DOTNET_6,
Code = Code.FromBucket(bucket: deployBucket, key: bucketKey),
Handler = "app.handler",
Environment = new Dictionary<string, string>
{
["DELETE_S3_FILE_AFTER_PROCESSING"] = "true",
["TMP_DOWNLOAD_BUCKET"] = "content-temporary-files"
},
FunctionName = "xxx",
Architecture = Architecture.X86_64,
Description = "Calculates the xxx for a given filename"
});
现在我的问题如下,我需要从现在存在于我正在创建的环境中的存储桶中读取数据(因为该存储桶可以被视为一个存储库)
如何指定 account/region 外部的存储桶?
提前致谢
通过使用 Bucket.fromBucketArn
并提供 ARN。
您必须确保您拥有访问此存储桶所需的权限cross-account。
我是 AWS CDK 的新手,我需要部署大约 10 个当前作为 zip 文件存储在 S3 存储桶中的函数
这是我使用的部分代码
public class CdkWorkshopStack : Stack
{
public CdkWorkshopStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
{
var deployBucket = new Bucket(this, "deploy-stack1");
var bucketKey = "xxx-3496f166-0f1d-40b4-8766-c5d29e4950ff.zip";
var xxx= new Function(this, "CdkWorkshopLambda", new FunctionProps
{
Runtime = Runtime.DOTNET_6,
Code = Code.FromBucket(bucket: deployBucket, key: bucketKey),
Handler = "app.handler",
Environment = new Dictionary<string, string>
{
["DELETE_S3_FILE_AFTER_PROCESSING"] = "true",
["TMP_DOWNLOAD_BUCKET"] = "content-temporary-files"
},
FunctionName = "xxx",
Architecture = Architecture.X86_64,
Description = "Calculates the xxx for a given filename"
});
现在我的问题如下,我需要从现在存在于我正在创建的环境中的存储桶中读取数据(因为该存储桶可以被视为一个存储库)
如何指定 account/region 外部的存储桶?
提前致谢
通过使用 Bucket.fromBucketArn
并提供 ARN。
您必须确保您拥有访问此存储桶所需的权限cross-account。