Product Advertising API(PA-API)에 전용 IAM으로 액세스
PA-API 이외에 사용하는 것이 별로 없었던 시대라면 막상, AWS가 이렇게 사용되고 있는 현상에서도 아직도 PA-API에 그것용의 권한이라든지 존재하지 않는 것인가… ? 라고 생각해 자주(잘) 조사해 보면, 최근 그것용의 IAM 폴리시가 생긴 것(언제 할 수 있었는지는 불명)이므로, 그것을 설정해 사용하기로 했습니다.
이것이 없었다면, 과연 AWS를 바리바리 사용하고 있는 계정의 루트 계정을 PA-API의 앱에 사용하고 싶지 않았기 때문에, 전용의 AWS 계정을 만드는 곳이었습니다.
이게 뭐야?
PA-API용 정책을 작성해, PA-API용의 IAM 유저에 연결하는 순서, 및 그 유저의 액세스 키 및 비공개키를 사용해 PA-API로부터 값을 취득할 수 있는지 확인.
정책 만들기
먼저 AWS 웹 콘솔에서 PA-API 전용 정책을 만듭니다.
고유한 정책 만들기를 선택합니다.
PA-API에 대한 FullAccess 권한을 설정한 정책으로 설정합니다. 정책명은 적당한 것을.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ProductAdvertisingAPI:*",
"Resource": "*"
}
]
}
만약을 위해 정책의 검증을 해 두고, 문제 없으면 정책의 작성입니다.
PA-API 액세스용 사용자 만들기
다음으로 위에서 만든 정책을 연결하는 사용자를 만듭니다.
적당한 이름을 붙여 「프로그램에 의한 액세스」에 체크를 넣습니다.
'기존 정책에 직접 연결'을 선택하고 방금 만든 PA-API에 대한 정책을 선택합니다.
다음 화면에서 확인하고 문제가 없으면 다음 화면에서 credentials.csv를 다운로드하십시오.
실제로 액세스 가능한 확인
취득한 액세스키와 비밀키가 실제로 PA-API에의 액세스에 사용할 수 있는지 염려를 위해 체크해 둡시다.
ruby라면 amazon-ecs 이라는 gem이 PA-API에 액세스하는데 자주 사용되는 것 같습니다.
associate_tag
, AWS_access_key_id
, AWS_secret_key
는 자신의 것으로 대체하십시오.require 'amazon/ecs'
Amazon::Ecs.options = {
associate_tag: 'xxxxxxxxxxxxxx',
AWS_access_key_id: 'xxxxxxxxxxxxxxxxxx',
AWS_secret_key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
country: :jp
}
# Nintendo SwitchのASINを指定してみます
res = Amazon::Ecs.item_lookup('B01NCXFWIZ', response_group: 'Small')
p res.items.map {|item| item.get('ItemAttributes/Title') }
# => ["Nintendo Switch Joy-Con (L) ネオンブルー/ (R) ネオンレッド"]
OK, 제대로 잡히는 것 같습니다.
참고
Reference
이 문제에 관하여(Product Advertising API(PA-API)에 전용 IAM으로 액세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyo_nanba/items/2fcb8b22ef36c74802e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)