>  기사  >  백엔드 개발  >  GO AWS SDK s3.GetObjectInput은 유형이 아닙니다.

GO AWS SDK s3.GetObjectInput은 유형이 아닙니다.

PHPz
PHPz앞으로
2024-02-08 22:33:19926검색

GO AWS SDK s3.GetObjectInput 不是类型

php 편집기 Yuzai는 GO 언어의 AWS SDK를 사용할 때 문제가 발생했습니다. 즉, s3.GetObjectInput이 유형 오류가 아닙니다. 이 오류는 GO 언어를 사용하여 AWS S3 서비스를 호출할 때 자주 발생합니다. 이는 GetObjectInput 유형의 매개변수가 잘못 전달되었음을 의미합니다. 코드의 유형 정의와 매개변수 전달이 올바른지 확인하는 등 이 문제를 해결하는 방법은 여러 가지가 있습니다. 이 문제를 해결하기 전에 먼저 GetObjectInput 유형이 무엇인지, 그리고 AWS S3 서비스에서 해당 역할을 이해해 보겠습니다.

질문 내용

AWS의 go SDK를 사용하여 s3에서 파일을 다운로드하려고 합니다. AWS에서 제공하는 예제에서 수행되는 작업과 유사한 작업을 수행합니다: https://docs.aws.amazon.com/sdk-for- go/api /service/s3/

으아악

프로젝트를 빌드하려고 하면 다음 오류가 발생합니다. “github.com/aws/aws-sdk-go/service/s3”已导入但未使用 그리고 s3.getobjectinput 不是类型

go get on the 중고 ​​패키지를 실행하고 go mod tidy를 실행하여 go.mod 파일을 정리했습니다. s3manager 라인과 기타 aws 패키지에 완벽하게 만족하는 것 같습니다. 단지 s3 참조에 대해 불평할 뿐입니다.

제가 뭔가 간단한 것을 놓치고 있는 걸까요?

솔루션

가져온 패키지github.com/aws/aws-sdk-go/service/s3的包名为s3,通过s3 := record.s3숨기기. 그렇기 때문에 오류가 표시됩니다.

제안되는 해결책은 s3 := record.s3 以选择其他身份。例如,s3entity := record.s3。不要忘记将源代码中的 s3.object.key 替换为 s3entity.object.key수정하는 것입니다.

또 다른 옵션은 가져온 패키지에 다른 이름을 지정하는 것입니다. 예:

으아악

사양의 "선언 및 범위" 섹션을 참조하세요.

선언은 null이 아닌 식별자를 상수, 유형, 유형 매개변수, 변수, 함수, 레이블 또는 패키지에 바인딩합니다. ...

go는 어휘 범위 지정을 위해 블록을 사용합니다.

  • 미리 선언된 식별자의 범위는 유니버스 블록입니다.
  • 최상위 수준(함수 외부)에서 선언된 상수, 유형, 변수 또는 함수(메서드는 아님)에 대한 식별자의 범위가 패키지 블록임을 나타냅니다.
  • 가져온 패키지의 패키지 이름 범위는 가져오기 선언이 포함된 파일의 파일 블록입니다.
  • 메서드 수신자, 함수 매개변수 또는 결과 변수를 나타내는 식별자의 범위는 함수 본문입니다.
  • 함수 유형 매개변수 또는 메서드 수신자에 대해 선언된 식별자 범위가 함수 이름 뒤에서 시작하여 함수 본문 끝에서 끝나는 것을 나타냅니다.
  • 유형의 유형 매개변수를 나타내는 식별자의 범위는 유형 이름 뒤에서 시작하여 유형 사양의 끝에서 끝납니다.
  • 함수 내에서 선언된 상수 또는 변수 식별자의 범위는 constspec 또는 varspec(짧은 변수 선언의 경우 shortvardecl) 끝에서 시작하여 가장 안쪽 포함 블록의 끝에서 끝납니다.
  • 함수 내부에 선언된 유형 식별자의 범위는 유형 사양의 식별자에서 시작하여 가장 안쪽 포함 블록의 끝에서 끝납니다.

블록에 선언된 식별자는 내부 블록에서 다시 선언될 수 있습니다. 내부 선언 식별자가 범위 내에 있으면 내부 선언 에 의해 선언된 엔터티를 나타냅니다.

또한 수입 명세서를 참조하세요.

위 내용은 GO AWS SDK s3.GetObjectInput은 유형이 아닙니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제