You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过aws-sdk-go根据名称获取EFS文件系统访问点ARN?

解决方案:使用DescribeAccessPoints API按名称查询访问点ARN

你不需要通过文件系统ID查询访问点,直接调用EFS的DescribeAccessPoints API即可按访问点名称过滤,获取对应的ARN。具体实现如下:

  1. 构造DescribeAccessPointsInput,通过Filters指定按访问点名称过滤,过滤器名称为access-point-name,值为你的目标访问点名称。
  2. 调用DescribeAccessPoints方法获取结果,遍历返回的访问点列表提取ARN。

示例代码

package main

import (
	"fmt"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/efs"
	"github.com/aws/aws-sdk-go/aws/awserr"
)

func main() {
	// 创建EFS客户端,替换为你的AWS区域
	svc := efs.New(session.New(&aws.Config{Region: aws.String("us-west-2")}))

	targetAccessPointName := "your-access-point-name" // 替换为你的访问点名称

	// 构造查询输入,按访问点名称过滤
	input := &efs.DescribeAccessPointsInput{
		Filters: []*efs.Filter{
			{
				Name: aws.String("access-point-name"),
				Values: []*string{
					aws.String(targetAccessPointName),
				},
			},
		},
	}

	result, err := svc.DescribeAccessPoints(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case efs.ErrCodeBadRequest:
				fmt.Println(efs.ErrCodeBadRequest, aerr.Error())
			case efs.ErrCodeInternalServerError:
				fmt.Println(efs.ErrCodeInternalServerError, aerr.Error())
			case efs.ErrCodeAccessPointNotFound:
				fmt.Println(efs.ErrCodeAccessPointNotFound, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			fmt.Println(err.Error())
		}
		return
	}

	// 处理查询结果
	if len(result.AccessPoints) == 0 {
		fmt.Println("未找到指定名称的访问点")
		return
	}

	for _, ap := range result.AccessPoints {
		fmt.Printf("访问点ARN: %s\n", aws.StringValue(ap.AccessPointArn))
	}
}

补充说明

  • 如果你的访问点是通过Name标签而非原生名称设置的,可改为按标签过滤:
    Filters: []*efs.Filter{
        {
            Name: aws.String("tag-key"),
            Values: []*string{aws.String("Name")},
        },
        {
            Name: aws.String("tag-value"),
            Values: []*string{aws.String(targetAccessPointName)},
        },
    },
    
  • 同一区域内可能存在多个同名访问点(比如归属不同文件系统),可根据业务场景添加额外过滤条件(如关联的文件系统ID)缩小范围。

内容的提问来源于stack exchange,提问作者Rad4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 17:01:26