aiwhj commented on issue #8347:
URL: https://github.com/apache/iceberg/issues/8347#issuecomment-1687932446

   > For glue you could try and specify the 
[client.credentials-provider](https://github.com/apache/iceberg/blob/master/aws/src/main/java/org/apache/iceberg/aws/AwsClientProperties.java#L52).
 However, I see that you specified a bunch of S3-related **table properties**, 
which is wrong. Those aren't used in any way.
   > 
   > You need to pass them when creating the catalog, meaning that you need to 
set **catalog properties** instead of **table properties**. See 
https://iceberg.apache.org/docs/latest/flink-configuration/#catalog-configuration.
   > 
   > Given that you want to use `S3FileIO`, you'd set only the ones that exist 
in 
https://github.com/apache/iceberg/blob/master/aws/src/main/java/org/apache/iceberg/aws/s3/S3FileIOProperties.java#L43.
 In your case that would most likely be `s3.access-key-id` / 
`s3.secret-access-key` / `s3.path-style-access` / `s3.endpoint`.
   
   Thank you for your reply. I tried creating a Catalog first and then creating 
a table based on the Catalog. I followed your suggestion to configure using 
client.credentials-provider, and the authorization step has passed. However, I 
encountered another error. It seems that it is not connecting to my Minio but 
instead connecting to the online AWS service.
   ```
   CREATE CATALOG my_catalog WITH (
       'connector'='iceberg',
       'catalog-name'='test_log',
       'type'='iceberg',
       'catalog-impl'='org.apache.iceberg.aws.glue.GlueCatalog',
       'warehouse'='s3a://iceberg/my/key/prefix',
       'io-impl'='org.apache.iceberg.aws.s3.S3FileIO',
       's3.access-key-id'='DNxkAwJpbuB***',
       's3.secret-access-key'='YVMYE78PgQ8xBizDPm******',
       's3.endpoint'='http://minio:30619',
       's3.path-style-access'='true',
       'client.region'='us-east-1',
       
'client.credentials-provider'='software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider',
       
'client.factory'='org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory'
   );
   ```
   ```
   CREATE TABLE `my_catalog`.`default`.`test`
   (
       id   BIGINT COMMENT 'unique id',
       data STRING
   );
   ```
   
![image](https://github.com/apache/iceberg/assets/16408168/a9c68abf-e858-4022-8617-16af4e23d771)
   
   I found a configuration called `client.factory` and specified it as 
`org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory`, but it resulted in 
an error: org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory cannot be 
cast to org.apache.iceberg.aws.AwsClientFactory. 
   
![image](https://github.com/apache/iceberg/assets/16408168/47c5e751-dafb-450a-a45d-aa1ce1ecee31)
   
   I'm not sure what to do next. Could you provide me with an example? Thank 
you.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to